Sisukord:

OrangeBOX: OrangePI -põhine turvaline varukoopia salvestusseade: 5 sammu
OrangeBOX: OrangePI -põhine turvaline varukoopia salvestusseade: 5 sammu

Video: OrangeBOX: OrangePI -põhine turvaline varukoopia salvestusseade: 5 sammu

Video: OrangeBOX: OrangePI -põhine turvaline varukoopia salvestusseade: 5 sammu
Video: This Tiny Chip Can Run Steam and Crysis! - Steam PC Gaming on ARM is Awesome 2024, Juuli
Anonim
OrangeBOX: OrangePI -põhine turvaline varukoopiate salvestusseade
OrangeBOX: OrangePI -põhine turvaline varukoopiate salvestusseade
OrangeBOX: OrangePI -põhine turvaline varukoopiate salvestusseade
OrangeBOX: OrangePI -põhine turvaline varukoopiate salvestusseade

OrangeBOX on kõik-ühes serveri varukast mis tahes serverite jaoks.

Teie server võib olla nakatunud, rikutud, kustutatud ja kõik teie andmed on OrangeBOXis endiselt kaitstud ning kellele ei meeldiks võimatu ülesanne, näiteks varuseade, mille te lihtsalt ühendate ja näete edusammunäidikut, ilma et peaksite midagi rohkem tegema suitsu ei tule lõpuks välja:)).

OrangeBOX on minu esimene projekt, mis on enamasti tarkvara, mitte riistvara häkkimine. Põhimõtteliselt on see kohandatud NAS, millele on lisatud LCD.

Samm: riistvaraosad

Riistvara osad
Riistvara osad
Riistvara osad
Riistvara osad
Riistvara osad
Riistvara osad

Orange PI zero on avatud lähtekoodiga üheplaadiline arvuti. See võib töötada Android 4.4, Ubuntu, Debianiga. See kasutab AllWinner H2 SoC -d ja sellel on 256 MB/512 MB DDR3 SDRAM -i (256 MB versioon on standardversioon. Orange Pi Zero on mõeldud kõigile, kes soovivad alustada tehnoloogia loomisega - mitte ainult selle tarbimisega. See on lihtne, lõbus ja kasulik tööriist saab kasutada teie ümbritseva maailma juhtimise alustamiseks (https://www.orangepi.org/orangepizero/). Nii et see on täpselt meie jaoks, laseme sellega edasi:)

  • Metallist/plastikust/puidust kast (olen kasutanud vana Yamaha välist cd-rw kasti)
  • Oranž PI Zero või parem (teise mudeli kasutamisel võib GPIO pinout muutuda)
  • 2x20 RGB LCD -ekraan
  • Mis tahes SFF 3.5/ LFF 2.55 USB -draiv
  • Sata -> USB -adapter. Pidage meeles, et kuigi OrangePI ei sea maksimaalsele draivimahule ülempiiri, teevad seda siiski paljud USB-SATA sillad (maksimaalselt 2 TB). Oranžil PI Zero I -l on ainult üks USB 2.0 -port, mille tegelik edastuskiirus on maksimaalselt 28 MB/s. Olen valinud USB3.0 (ettevalmistatud tulevasteks uuendusteks) -> SATA sild (brändi ei mainita) ja see piirab piiri, seega on parem valida sild, mis toetab tõestatult suuremaid draive, näiteks JMicron JMS567 kiibipõhised sillad. Enne selle ostmist uurige ise. Ma saan kiiruse ja kõvaketta piiranguga elada, kui kasutan selles projektis 2TB sata draivi (kui sisestate suuremaid draive, siis see tuvastatakse, kuid operatsioonisüsteem näeb sellest ainult esimest 2 TB, nii et ülejäänud maht on kadunud).
  • 12V 2,5 A või kõrgem võimendi adapter. Arvutage OPI Zero jaoks umbes 500 mA tavakasutus ja tavalise LFF SATA -draivi puhul 1,5 A tipp. Ülemõõtmine ei tee kunagi haiget. Minu seadistuses läks Yamaha psu (mis oleks võinud toita rohkem kui piisavalt voolu mõlemal 12+5V rööbal) kahjuks õhku: (kuna pealüliti oli sekundiks GND -sse sorteeritud, pidin liimima tavalise adapteri vähemalt muutis karbi paar grammi kergemaks.
  • Buck-muundur DC-DC 12V-> 5V. Kasutasin sama reguleeritavat minipakki nagu IronForge'is, töötab ideaalselt.

Valikuline

Kui olete valmis kulutama + 10 dollarit, saate osta Orange Pi Plus (https://www.armbian.com/orange-pi-one-plus/), mis on sarnase vormiga ja annab teile Gbe ja SATA3. Selleks saab kasutada Libra PI juhtmestiku kogu: https://github.com/OrangePiLibra/WiringPi, kuid kuna GPIO pinout on erinev, jääb see selle kirjutise reguleerimisalast välja.

Seda saate teha ka uue Orange PI Plus2-ga, millel on SATA-pistik, ja saate vahele jätta sata-> usb-muundurite kasutamise koos nende piirangutega. Kui kavatsete kasutada FreeBSD -d või muid BSD -sid, ei pruugi Orange PI seeria olla parim valik, kuna nende riistvara tugi on piiratud (näiteks peate käivitamiseks kasutama USB -mälupulka). BSD -de puhul on parim nõuanne kasutada vaarika PI -d. Nii LCD -ekraani C -kood kui ka kõik kestaskriptid on teisaldatavad mis tahes teistesse UNIX -süsteemidesse.

2. samm: riistvara disain

Riistvara disain
Riistvara disain
Riistvara disain
Riistvara disain
Riistvara disain
Riistvara disain

Yamaha kastist piisas kõige selle salvestamiseks, sellel ei oleks piisavalt ruumi oranži PI-arvuti või tavalise Raspi vormiteguri plaadi jaoks.

Ethernet toodi välja laiendiga karbi tagaküljele. Pidage meeles, et Orange PI nullil on ainult 100 MB/s Etherneti liides, kui soovite kiiremini, peate kasutama mõnda muud tahvlit, näiteks Asus Tinkerboard/RPI3B+/muud Orange PI mudelid.

Vale PIN -väljund on selles projektis üks ja ainus viga, mistõttu tasub rakendada mõningaid rusikareegleid:

1, proovige alati kasutada sama värvi kaablit otsast END. Ma ise teen sama "vea" mõnes projektis, kus ma seda ei tee, lihtsalt sellepärast, et mul pole piisavalt kaua mees-mees/mees-naine/naine-naine kaablit käepärast ja lappin 2 kokku, et lihtsalt edasi minna vooluringi. Kui te ei dokumenteeri oma tööd nõuetekohaselt, võib see aastaid hiljem põhjustada peavalu, kus peate parandama, täiendama.

2, kandke pistikutele mõni kuumliim. Kui kasutate neid arduino-stardikomplekti stiilis mm/mf/ff kaableid, mis ei ole tipptasemel, on pistikute libisemine üsna tavaline (eriti seadmega liikudes/transportides). Kui teate, et see on pikaajalise kasutusega seade (võib -olla kasutada kuni purunemiseni ?!), siis on parem ühenduste jaoks nii OrangePI kui ka LCD -poolele kanda veidi kuumliimi. Vajadusel saab seda hiljem kergesti sulatada/maha kraapida.

3, OrangePI nulljuhtmestik Halb uudis on see, et Orange PI pinout EI OLE sama mis Raspberry PI 0/1/2/3 ja teiste Orange PI mudelite vahel on isegi erinevus. Parim viis on hankida juhtmestik (Orange PI Zero versioon). Pilt võib olla natuke segane, kuid need olid parimad, mida leidsin. Üks on teise 180 -kraadine peegel. Kuigi CLI mittegraafilist pilti võib olla raskem mõista, on see kõige otsesem.

Pistikupesade kahte otsa saate alati eristada, pidades ühte otsa positiivseks (+3.3/+5V) ja teist negatiivseks (üks GND) -> see on pistiku ots ETHERNET -pordi poole.

Wiring PI Zero tabelist vajate ainult ühte veergu, kusjuures wPI unustab teised, nagu neid poleks.

Näiteks loendage LCD_E 15 (see tähendab wPI 15!) Ja LCD_RS 16 (see tähendab wPI 16!) Ühendamiseks tihvtid pistiku POSITIIVSEST otsast (lihtne teha pliiatsi või väikese kruvikeerajaga). See läheb füüsiliselt alla 4 ja 5 tihvti.

4, rühmitage. Kui on võimalus panna kasutatud tihvtid üksteise kõrvale (rühmitades need kokku), valis see alati nii, et nad hoiaksid üksteist isegi ilma kuumliimita ja ka teistes projektides, kui teil on 2x 4x 6x molex -pistikud kasutage lihtsalt ära tihvtide kõrvuti asetamist. Siin on parim, mida saate teha, 2-3-liikmeline rühm (ideaalne vanade arvutite päästetud kaablite kasutamisel).

OrangePI LCD -ekraani ühendamiseks kasutatavad tihvtid:

// KASUTA WIRINGPI PIN -ARVU

#define LCD_E 15 // Luba pin #define LCD_RS 16 // Registreeri vali pin #define LCD_D4 5 // Andmepulk 4 #define LCD_D5 6 // Andmepulk 5 #define LCD_D6 10 // Andmepulk 6 #define LCD_D7 11 // Andmestik 7

RGB taustvalgustuse juhtimiseks kasutatavad tihvtid

$ G kirjutage 10

$ G kirjutada 4 1 $ G kirjutada 7 1

Oranž PI null wPI tihvtid 1, 4, 7. Ainus võlu, mida see LCD suudab teha, võrreldes tavalise fikseeritud sinise või rohelise taustavalgustusega LCD -ekraaniga, kus teil on üks katood, mis tuleb alla tõmmata GND -ni, nii et sellel on 3 värvid. Punane, roheline ja sinine. Kui muudate selle kombinatsiooni, mille üks on sisse lülitatud, saate nendest põhivärvidest erinevaid värve välja segada, kuid ainult kõrged otsad ei sisalda toone, kuna te ei saa värvi heledust juhtida (see on sisse või välja lülitatud).

Lisavärvide segamine: punase lisamine rohelisele annab kollase; punase lisamine sinisele annab magenta; rohelise lisamine sinisele annab tsüaani; kõigi kolme põhivärvi liitmisel saadakse valge.

Samm: operatsioonisüsteem

Operatsioonisüsteem
Operatsioonisüsteem

OrangeBOX käivitub ja Armbian linux (põhineb Debian Stretchil) 4.14.18-sunxi tuum koos turvalise tulemüüriga, ühendub VPN-iga ja ootab serverist varukoopiaid.

Disainipõhimõtted:

-Täielik luksipõhine ketta krüptimine (seade ise ei sisalda võtit varuketta avamiseks. See kopeeritakse ajutiselt kaugserverist mällu /dev /shm -i, draiv avatakse ja võti kustutatakse. Pärast varundamise lõppu draiv suletakse ja OrangeBox lülitub automaatselt välja 1 minuti pärast.)

-Kõik käsud ja võtmed saadetakse kaugserverist (seade ise sisaldab ainult vpn -sertifikaati) tal puudub igasugune juurdepääs kaugserverile, isegi selle seadme ssh on tulemüür

-Kohalikud failisüsteemid on krüptimata, et neid saaks käivitada, kuid ei sisalda midagi kasulikku ja kuna VPN-i ülesling on teisest otsast väga piiratud, isegi kui seade on täielikult kadunud, ei saa ründaja midagi teha

Laadige Armbian Stretch alla aadressilt

Süsteemi käivitamine ja käivitamine:

apt-get update && apt-get upgrade

apt-get install sysvinit-core sysvinit-utils

Muutke vahekaarti /etc /init, kogu konsooli saab keelata, kuna kasti kasutatakse peata. Kommenteerige järgmist jaotist:

#1: 2345: respawn:/sbin/getty 38400 tty1

#2: 23: respawn:/sbin/getty 38400 tty2 #3: 23: respawn:/sbin/getty 38400 tty3 #4: 23: respawn:/sbin/getty 38400 tty4 #5:23: respawn:/sbin/getty 38400 tty5 #6:23: respawn:/sbin/getty 38400 tty6

Taaskäivitage kast ja eemaldage systemd, et saada tõeline avatud lähtekoodiga bloatware vaba süsteem.

apt-get remove --purge --auto-remove systemd

Installige mõned paketid

apt-get install cryptsetup vim htop rsync ekraan gcc make git

Installige juhtmestiku kogu

cd /usr /src

git kloon https://github.com/xpertsavenue/WiringOP-Zero.git cd WiringOP-Zero chmod +x./build./build

Loo LCD -ekraani jaoks oranž kasutaja

groupadd -g 1000 apelsini

useradd -m -d /home /orange -s /bin /bash -u 1000 -g oranž oranž

Valvekoer, kes ei jälgi sind

apt-get install valvekoer

Vaadates/etc/default/watchdog # Kas käivitada valvekoer alglaadimise ajal? 0 või 1 run_watchdog = 1 # Kas käivitada wd_keepalive pärast valvekoera peatamist? 0 või 1 run_wd_keepalive = 1 # Laadige moodul enne valvekoera käivitamist watchdog_module = "none" # Täpsustage valvekoera valikuid siin (vt manpage).

Vaadates /etc/watchdog.conf

# Vähemalt lubage need

max-load-1 = 24 max-load-5 = 18 max-load-15 = 12

/etc/init.d/watchdog start

Peaks olema vähemalt 1 kernelniit ja 1 protsess:

juur 42 0,0 0,0 0 0? I <10:50 0:00 [valvekoer] juur 14613 0,0 0,2 1432 1080? SL 13:31 0:00/usr/sbin/valvekoer

Testimine:

Peatage kindlasti kõik ja tehke sünkroonimine ning sünkroonimine ja sünkroonimine, et ülejäänud andmed kettale kirjutada. Siis juurprobleemina:

kaja 1> /dev /valvekoer

Mõne sekundi pärast peaks masin taaskäivituma.

Nagu käsiraamat ütleb:

o Kas protsessitabel on täis?

o Kas on piisavalt vaba mälu? o Kas eraldatavat mälu on piisavalt? o Kas mõned failid on juurdepääsetavad? o Kas mõni fail on antud ajavahemiku jooksul muutunud? o Kas keskmine töökoormus on liiga suur? o Kas failitabeli ületäitumine on toimunud? o Kas protsess ikka töötab? Protsessi määrab pid -fail. o Kas mõned IP -aadressid vastavad pingile? o Kas võrguliidesed võtavad vastu liiklust? o Kas temperatuur on liiga kõrge? (Temperatuuri andmed pole alati kättesaadavad.) O Täitke suvaliste testide tegemiseks kasutaja määratud käsk. o Täitke üks või mitu testimis-/paranduskäsklust, mis on lehel /etc/watchdog.d. Neid käske kutsutakse argumendi testimise või parandamisega. Kui mõni neist kontrollidest ebaõnnestub, põhjustab valvekoer väljalülituse. Kui mõni neist testidest, välja arvatud kasutaja määratud binaar, kestab kauem kui ühe minuti, käivitatakse ka masin.

See valvekoer võis tavaliste x86 -arhitektuuridega hästi töötada, kuid ARM -põhistel tahvlitel, nagu vaarika PI -d, oranžid PI -d, ebaõnnestus see mul lugematuid kordi. Süsteem võib minna riputusolekutesse, kus isegi valvekoer ripub. Konfigureerime selle niikuinii, võib-olla saab see aastatega apt-get uuendusega paremaks:(

Samm 4: Tarkvara projekteerimine

Tarkvara disain
Tarkvara disain

Varundamisprotsess ise on rsyncipõhine (parim varutööriist, mis on kunagi leiutatud), edastatakse SERVER-> OrangeBOX-ist.

Andmete väljavõtmine rsyncist oli projekti ainus väljakutsuv osa, millel oli varukoopia edenemisriba prinditud LCD -ekraanile.

Varundamise edenemise arvutamiseks oli kolm võimalust:

1, kasutades selliseid valemeid nagu https://wintelguy.com/transfertimecalc.pl, et määrata ligikaudne aeg, millal ülekanne võib kuluda

Ülekande aeg (p: h: m: s): 0: 02: 44: 00

Võrdluseks: hinnanguline aeg 123 GB faili ülekandmiseks erinevate võrgulinkide kaudu (d: h: m: s): T1/DS1 liin (1,544 Mbps) - 7: 09: 01: 46 Ethernet (10 Mbps) - 1:03: 20:00 Kiire Ethernet (100 Mbps) - 0: 02: 44: 00 Gigabit Ethernet (1000 Mbps) - 0: 00: 16: 24 10 Gigabit Ethernet (10 Gbps) - 0: 00: 01: 38

Kui rsync lõpetab, annab see skriptile märku arvutuse peatamiseks. See meetod on vaid ligikaudne ega ole usaldusväärne, samuti pole lingi kiirus fikseeritud, see võib aeglustada, kiirendada uuesti. See on lihtsalt teoreetiline arvutus.

2, tehes kataloogi suuruskontrolli, et teha kindlaks, kui palju andmeid oleme juba sünkrooninud. Võib sadade GB -de väikeste failidega väga aeglaseks muutuda (kuigi Linuxi du -s teeb vahemällu salvestamise uuesti, kui seda uuesti käivitate)

Host A -> Varundatavad serveriandmed Andmed dir: 235 GB

Host B -> Oranžkasti kliendiandmed, mis meil praegu on, Andmed dir: 112 GB

Delta maht on 123 GB.

3, Kui failisüsteem on pühendatud nagu meie puhul/dev/mapper/backup, saame kasutada failisüsteemi üldist kasutamise indikaatorit, et teha kindlaks, kuidas meie varundamine edeneb ja see on tõesti kuradi kiire. Sel juhul ei pea me isegi rsync stdouti kuhugi torustama, vaid lihtsalt käivitage kuiv rsync, oodake, kuni see lõpeb, arvutage delta baitides ja kontrollige seda vaba ruumi abil, mis meil varukettal on ja voila saame tehke nüüd kena tulpdiagramm. Selle meetodi valisin ja siin on minu skript selle jaoks:

#!/bin/bash

# OrangeBOXi varundamise edenemise kalkulaator NLD poolt # Versioon: 0.2 (2018/03/05) # # Käivitage see privilegeerimata kasutajana saidilt cron # * * * * * /home/orange/backup_progress.sh &>/dev/null # # See skript vastutab ainult andmete kuvamise eest LCD -ekraanil, see suhtleb põhiprogrammiga # kaudselt asukoha- ja lukustusfailide kaudu. BACKUP_DRIVE = "/dev/mapper/backup" VFILE = "$ HOME/start.pos" # kettakasutus varundamise alguses TFILE = "$ HOME/trans.size" # üldine eelnevalt arvutatud ülekande suurus BFILE = "$ HOME/ backup.lck " # määrab alustatud oleku FFILE =" $ HOME/backup.fin " # määrab valmisoleku LFILE1 =" $ HOME/lcd1.bar " # LCD edenemise indikaatori andmed LFILE2 =" $ HOME/lcd2.bar " # LCD progress indikaatoriandmed SHUTDOWN = "1" # Kui 1, käivitab see uue skripti, mis varundamise lõpus kasti välja lülitab kontrolli) LCD = "sudo /bin /lcd" funktsioon is_mount () {grep -q "$ 1" /proc /mounts status = $? } funktsiooni punane () {sudo /bin /lcdcolor red} funktsioon roheline () {sudo /bin /lcdcolor green} funktsioon sinine () {sudo /bin /lcdcolor blue} # Selge olek (alglaadimisel määrab bootup_display.sh). Varundamine pole pooleli, ÄRGE segage # oleku LCD -d. Näidake edusamme ainult siis, kui varundamine on pooleli => Algusfaili pole JA FIN -faili pole = lõpetage, kui [! -f $ BFILE] && [! -f $ FFILE]; siis välju 1 fi # Kui varundamine on lõppenud, kuvab see skript seda ja eemaldab lukud #, et neid ei saaks uuesti käivitada enne järgmist käivitamist. kui [-f $ FFILE]; seejärel roheline $ LCD "Varundamine" "** Valmis **" echo "Varundamine lõpetatud" rm -rf $ BFILE $ TFILE $ FFILE $ LFILE1 $ LFILE2 $ VFILE # Varundamine on lõpetatud, kui [$ SHUTDOWN == "1"]; seejärel kaja "Seiskamisskripti täitmine …" /home/orange/shutdown.sh & fi exit 0 fi # Sellest hetkest alates käivitatakse skript AINULT, kui on olemas pidev varukoopia #, seetõttu prinditakse kõik vead LCD -ekraanile ja see põhjustab skripti # katkestamiseks, kuid see ei eemalda faili backup.lck, nii et see siseneb siia # ikka ja jälle ja aurustab tingimused. is_mount $ BACKUP_DRIVE, kui [$ status -ne 0]; siis punane $ LCD "ERR: Backup drive" "ei ole paigaldatud!" echo "Varundusseade pole paigaldatud" exit 1 fi kui [! -s $ TFILE]; siis punane $ LCD "ERR: transfile" "on tühi" echo "Transpordi suuruse arvutamise fail on tühi." exit 1 fi BACKUP_OVERALL = $ (head -1 $ TFILE | tr -d '\ n') kui [-z $ BACKUP_OVERALL]; siis punane $ LCD "ERR: Suuruse tagasiside" "serverist vigane" echo "Varunduse üldsuuruse tagasiside on kehtetu 1" exit 1 fi if!

Kuigi kood on lihtne, on siin kirjeldatud, mida see teeb:

1, kui BFILE või FFILE ei eksisteeri (mis on pärast selget käivitamist), mis näitab, et varundamisprotsessi pole, nii et ärge tehke midagi, lihtsalt sulgege. Nii saate graafiliselt kuvada mis tahes kena teavet, mida soovite alglaadimise kohta, näiteks hostinimi, ip, tööaeg jne, ja seda ei segata.

2, Hüppame jaotisse is_mount $ BACKUP_DRIVE. Tuletame meelde, et ainus viis, kuidas me siia jõudsime, on see, et käivitati varukoopia, nii et BFILE oleks olemas. Nüüd teeb kood lihtsalt mitmesuguseid veakontrolle, näiteks on varundatud draiv paigaldatud ?, kas varundatava kogumaht ületab draivi? või muid vigu. Pidage meeles, et see on ainult DISPLAY programm, isegi kui selle suurus ületaks varukoopiaid, ei katkesta see midagi.

3, OK kõik veakontrollid puhastatakse protsendigraafiku arvutamiseks. Esiteks teeb skript varupildifailisüsteemi baitides kasutatava ruumi "hetktõmmise" ja salvestab selle VFILE -sse. Mis on selle eesmärk: bash -skript on kodakondsuseta, see kaotab andmed hukkamiste vahel, nii et kui soovite "meelde jätta" mõningaid andmeid eelmisest täitmisest, peate need kuskile salvestama. Meie puhul on see lihtsalt lihtne tekstifail. Lihtsuse huvides ütleme, et meie START_POS on 1 GB (meil on andmeid), mida me tahame varundada +2 GB ja kogu kettamaht on 10 GB.

4, Järgmine kord, kui skript töötab, on VFILE olemas ja see loetakse tagasi (nii et me teame, mis oli lähtepositsioon juhuks, kui draiv ei olnud tühi), et arvutada BACKUP_CURRENT, mis on sisuliselt praegu kasutatava ruumi delta varukettal miinus stardipositsioon, mille oleme viimases voorus VFILE -sse salvestanud (jällegi on need andmed, mis meil olid draivil varundamise alustamisel). Skript töötab sisemiselt baitidega, kuid poole tunni pärast lihtsustamiseks varundasime 500 MB andmeid, siis oleks valem BACKUP_CURRENT = 1,5 GB - 1 GB (algseisund) =>, mis annab meile täpselt 500 MB tagasi, st mida me seni varundasime. Näete, et ilma varundamise alguses esialgsete andmete jälgimiseta ebaõnnestuks selle suuruse arvutamine, kuna näeks, et praegu kasutatav ruum on 1,5 GB, teadmata, et kettal oli kogu aeg 1 gigandmeid pärineb eelmisest varukoopiast, nii et eeldatakse, et server on saatnud meile 500 MB asemel 1,5 GB andmeid.

5, BACKUP_OVERALL loetakse sisse, server arvutas need andmed esialgse kuivsünkroonimise ajal (seega on see väline andmeallikas, mis sisaldab baitide arvu, mis varundatakse serverist-> OrangeBOX). Seda väärtust kontrollitakse ketta üldise TASUTA ruumi suhtes ja kui see ületab selle, kuvatakse LCD -l veateade ja skript lõpetab täitmise. Pidage veel kord meeles, et kogu see skript kuvatakse AINULT, see ei häiri varundamisprotsessi. Kui puhastate kettal olevad failid või muutub failide hulk eemalt ja seetõttu muutub BACKUP_OVERALL ühel hetkel, siis see jätkub.

6, Lõpuks oleme lõpetanud teise taseme kontrollid, on aeg midagi kuvada. Skript kuvab andmed nii konsoolil kui ka LCD -l, kasutades lihtsat C -rakendust. Taust lülitatakse SINISEKS, mis näitab, et varundamine algas lõpuks ja edusammud arvutati järgmise valemiga PROGRESS = $ ((($ BACKUP_CURRENT * 100) / $ BACKUP_OVERALL)). See on põhiline protsendiarvutus, mille võtame praeguse summa, meie näites 0,5 GB*100/2 GB = 25%.

7, numbrid teisendatakse ka baitidest mega/giga baitideks ja ekraan kuvatakse automaatselt MB -des, kui see on väiksem kui 1 GB.

8, Üks asi selle kaardistamiseks on meie puhul 25% 20 -veerulisel LCD -ekraanil. See oleks meie näites 25 * 20/100 = 5. Praegu on LCD -programmiga värskendamine rakendatud, nii et iga kord programmi kutsudes joonistab see kogu ekraani uuesti. Nii et sel juhul käivitataks 5 korda rõngast, et joonistada ekraanile 5 räsimärki #, see ilmuks igas voorus koleda vilkumisena, nii et kirjutan arvutatud edenemisriba andmed välja LFILE1 ja 2, mis antud juhul pärast 5 vooru sisaldaks ##### ja see loetakse tagasi ning kuvatakse LCD -ekraanil. Võite panna ka LFILE1 ja 2 ramdiskile, et päästa sd -kaart lisakirjutustegevusest, see ei tekitanud mulle mingeid probleeme, skript töötab üks kord minutis cronist.

9, Kui varundamine on lõpetatud, puudutab teine skript serverist, kus töötab rsync, nuppu FFILE (Finish File). Järgmisel silmusel näitab backup_progress.sh, et varundamine on lõpule viidud, ja kutsub valikuliselt teise skripti, et OrangeBOX välja lülitada. See kustutab oma lukustusfailid sel hetkel, muutes edasised täitmised võimatuks, nii et isegi kui te ei luba selle skripti käivitamisel järgmisel minutil väljalülitamist, sulgub see kohe, kuna BFILE pole olemas ja FFILE pole seal. Seetõttu kuvab see varundamise lõpetamise teate lõputult, kui varundamist uuesti ei käivitata.

Kaugvarundusskript (orange-remote.sh):

Peate varukoopia jaoks looma ssh -võtme ja draivi luks -krüptimise võtme. Kui käivitate kaugvarunduse esmakordselt käsitsi, salvestab see oranžid kastid hosti sõrmejälje hostifaili (sellest hetkest saab cron automaatselt käivitada).

KETAS = "/dev/disk/by-id/…"

Kõvaketta identifikaatori leidmiseks käivitage uuid, blkid või otsige lihtsalt vastavaid katalooge/dev/disk/.

Välistamise kataloogi saab seadistada, kui te ei soovi kõike varundada. See on üsna tüütu protsess, sest kui soovite rsynci jaoks struktuuri sügavale alamkataloogi välja jätta, peate tegema järgmist.

+ /a

+/a/b +/a/b/c +/a/b/c/d -/a/b/c/d/e +/dir2

Kuna see skript täidab OrangeBOX -il käske eemalt, ei kontrolli ta sellelt küljelt tagasipöörduvaid muutujaid, seetõttu kasutan mõningaid nutikaid nippe, näiteks väljastab sõnumi kaugseadme avamisest aadressile /tmp/contmsg.txt, seejärel parsib seda, et näha, kas see õnnestus, kui mitte, muudab see rsynci binaarfaili mittetöötavaks, nii et rsync ei ürita andmeid üles laadida OrangePI juurfailidesse, täites SD-kaardi. Samuti on hea tava muuta muutmatu bitt chattr +i /mnt /backup, et see oleks võimatu.

Suuruse eelarvutamine toimub kohapeal serveris, seetõttu tuleb see fail järgmises etapis OrangeBOX -ile saata.

Peamine varukoopia käivitatakse tsüklina ((i = 0; i <100; i ++)); tehke seda seetõttu, et halva kvaliteediga DSL/kaabliga Interneti -ühenduse korral võib rsync sageli katkeda, aegumine. Kui see lõpeb edukalt, katkeb tsükkel ilma uusi kordusi proovimata. See töötab veatult heade operatsioonisüsteemidega, kuid kui mingil põhjusel oleks kaugkast aknad ja juurdepääs keelatakse nagu tavaliselt NTUSER. DAT -il, siis tagastab rsync veakoodi ja see tsükkel käivitub 100 korda ja ebaõnnestub.

Samm: sulgemine ja ülesannete loend

Sulgemis- ja ülesannete loend
Sulgemis- ja ülesannete loend
Sulgemis- ja ülesannete loend
Sulgemis- ja ülesannete loend

Minu juhendatav näitab veel kord, kuidas saate ise luua 10 -dollarist arvutist midagi paremat, kohandatavamat seadet, mis lööb Buffalo põrgu selle patenteeritud lukustatud NAS -seadmetega, imeliku sisemise partitsiooniga, busyboxi kripeldatud linux koos vaikeseadistustööriistadega, hallatud nende Windowsi tarkvara, suletud püsivara, halb dokumentatsioon ja tugi ning olenemata sellest, kui palju raha te kulutate, ei saa te kunagi varundamist näitavat edenemise indikaatorit, rääkimata sellest, kui lahe OrangeBox välja näeb (ma kasutan sellega isegi oranži CAT5 kaablit: D).

Kuna miniarvutid muutuvad üha võimsamaks, säilitades samas <100 $ hinnaliini, saame neid kasutada üha uute ülesannete täitmiseks. Kuna Gbe Etherneti pordid on tänapäeval 1-2 aasta jooksul üsna tavalised, suureneb nende plaatide mälu järsult ja neid saab kasutada ka ZFS-põhiste varusüsteemide jaoks.

-Peeneteralise arengu näitaja C programmi järgi (vt WasserStation üks minu teistest projektidest). Praegu kasutatakse tähemärgirežiimis koos lcdPuts (lcd, line1) ainult # hashmark # märki, seda saab parandada isegi siis, kui kasutada tähemärkide LCD -sid 1 veeru jagamiseks 5 osaks ja C -põhiprogramm võib võtta täisarvu nagu 25 ja joonistada edenemisriba korralikult või graafilise vedelkristallekraani abil veelgi täiustatud

-Võimalus omada eemaldatavat HDD-d uute ja uute varukoopiate loomiseks ning nende teisaldamiseks erinevatesse kohtadesse (kui kast tuvastab tühja draivi, peaks see pärast krüpteerimisvõtit automaatselt vormindama).

-Kui soovite printida oma ümbrise koos makerbotiga, võib OrangeNAS teile huvitav olla:

Soovitan: