Istoricul, așa să zicem:
Server Fujitsu rx300 s6, RAID6 din 6 discuri de 1TB, cu XenServer 6.2, rulează mai multe servere, printre care Ubuntu cu mai multe partajări, 3,5 milioane de fișiere, 1,5TB de date, totul acest lucru crește treptat.
Sarcina: configurarea unei soluții de backup pentru serverul de fișiere, parțial zilnic, parțial săptămânal.
Avem o mașină Windows pentru backup cu RAID5 (din lipsă, un sistem obișnuit cu un controler RAID încorporat) plus un disc de 2TB pentru copierea intermediară a stării curente a fișierelor. Am putea folosi orice distribuție Linux, dar această mașină era deja disponibilă cu matricea RAID și licența Windows.
Instalăm pe serverul de backup , configurăm „oglinda” tuturor fișierelor de pe serverul de fișiere o dată pe zi, seara după ora 18, prin intermediul planificatorului.
Un punct important: la salvarea sarcinii de grup, asigurați-vă că bifați „Închideți fereastra sarcinii la finalizare”, altfel procesele se vor multiplica.
În excluderi, vom adăuga prin mască fișiere temporare: *.dwl, *.dwl2, *.tmp.
FreeFileSync utilizează extrem de bine rețeaua, copiind în mai multe fluxuri, viteza ajungând la 80 MB/s la copierea fișierelor mari, fără probleme constatate la fișierele mici.
Arhivarea va fi efectuată deja pe serverul local de backup, în loc de metoda utilizată anterior cu arhivarea prin rețea. Apropo, TheCopier este excelent! Însă, cu astfel de volume, pur și simplu nu reușește să copieze tot, în ciuda interfeței de 1Gbps pe serverul de backup și 2Gbps pe serverul de fișiere (bond dintre două plăci de rețea).
De asemenea, a fost folosit anterior , dar cu un număr de fișiere mai mare de 1,5-2 milioane, a încetat să funcționeze corect, pur și simplu nu a putut face față.
Pentru arhivarea folderelor necesare, scriem un script pentru :
set now=%TIME:~0,-3%
set now=%now::=.%
set now=%now: =0%
setează acum=TE:~-4%.TE:~3,2%.TE:~0,2%_%now%
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_10-04.zip E:10-04
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_35-110.zip E:35-110
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_asu.zip E:asu
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_director.zip E:director
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_gpr.zip E:gpr
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_otiz.zip E:otiz
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_ps.zip E:ps
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_pto.zip E:pto
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_rza.zip E:rza
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_smeta.zip E:smeta
:: a — crearea arhivei
:: -tzip sau -t7z — tipul arhivei (zip este de 1,5-2 ori mai rapid)
:: -mx=1 — gradul de compresie (1 minim, 9 maxim valorile x=[0 | 1 | 3 | 5 | 7 | 9])
:: -mmt=on — activează multi-threading unde, cumva, nu este activat
:: -mtc=off — dezactivează timpii de modificare ai sistemului de fișiere (când a fost salvat, modificat etc.)
:: -ssw — comprimă și fișierele deschise pentru scriere
:: -xr!.Sync* — exclude fișierele temporare BtSync din arhivare, lăsându-le pe cele permanente
Construcția din set now=% și așa mai departe permite păstrarea formatului de înregistrare a timpului în numele fișierului fără probleme, care au apărut când numărul zilei sau al lunii era sub 10, deci înlocuim cu zero.
Comentariul -xr!.Sync* este un rămășiță rămasă de la utilizarea inițială .
Până la 500 GB și 700-800 de mii de fișiere, BTSync a funcționat bine, sincronizând instantaneu, dar la volumele actuale a consumat foarte multă memorie și resurse CPU atât pe serverul de fișiere Ubuntu, cât și pe cel de backup Windows, unde era rulată ca un serviciu, și pur și simplu a supus sistemul de disc la citiri-scrieri constante.
Deși arhiva este 7-zip, comprimăm în format zip în loc de 7z nativ, deoarece este mult mai rapid, iar diferența de compresie la mx=1 practic nu există, verificată prin multe experimente.
Arhivele sunt executate pe rând.
Curățarea folderului cu arhive se face și printr-o sarcină programată folosind utilitarul fpurge, lăsând arhive mai recente de o săptămână.
Ca rezultat, avem o copie a fișierelor din ziua precedentă, precum și arhivele din ultima săptămână, fișierele șterse FreeFileSync le mută în coș.
Sursa: habr.com
