Anamnese, for å si det sånn:
Fujitsu rx300 s6 server, RAID6 på 6 1TB disker, XenServer 6.2 installert, flere servere som snurrer, blant dem Ubuntu med flere baller, 3,5 millioner filer, 1,5 TB med data, alt dette vokser og svulmer gradvis.
Oppgave: sette opp sikkerhetskopiering av data fra en filserver, dels daglig, dels ukentlig.
Vi har en Windows backup-maskin med RAID5 (en dårlig standard systemenhet med en RAID-kontroller innebygd i moderen) pluss en separat 2TB disk for mellomkopiering av gjeldende tilstand for filene. Det var mulig å bruke hvilken som helst Linux-distribusjon, men denne maskinen var allerede tilgjengelig med en raid-array og en Windows-lisens.
Installer på en backupserver
Et viktig poeng: når du lagrer en batchoppgave, sørg for å merke av for "Lukk oppgavevinduet når det er fullført", ellers vil prosessene multiplisere og multiplisere.
Vi kaster midlertidige filer inn i maskeunntak: *.dwl, *.dwl2, *.tmp.
FreeFileSync bruker nettverket ekstremt godt, kopiering foregår i flere tråder, hastigheten når 80 Mbps ved kopiering av store filer, ingen blokkering ble funnet på små filer.
Arkivering vil bli utført på en lokal backup-server, i stedet for den som ble brukt tidligere
Også tidligere brukt
For å arkivere de nødvendige mappene skriver vi en batchfil for
sett nå=%TIME:~0,-3%
sett nå=%nå::=.%
sett nå=%nå: =0%
sett nå=%DATE:~-4%.%DATE:~3,2%.%DATE:~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 - opprette et arkiv
:: -tzip eller -t7z - arkivtype (zip er 1.5-2 ganger raskere)
:: -mx=1 — komprimeringsforhold (1 minimum, 9 maksimumsverdier x=[0 | 1 | 3 | 5 | 7 | 9 ])
:: -mmt=on - aktiverer multithreading der det ikke er aktivert
:: -mtc=off - deaktiverer filsystemets tidsstempler (når lagret, endret osv.)
:: -ssw - komprimerer også filer som er åpnet for skriving
:: -xr!.Sync* - ekskluderer midlertidige BtSync-filer fra arkivering, og etterlater permanente filer
Konstruksjonen av set now=% og så videre lar deg lagre formatet for opptakstid i et filnavn uten problemene som oppsto når nummeret på dagen eller måneden var mindre enn 10, det vil si at vi erstatter en null.
Kommentar -xr!.Sync* er et rudiment som er igjen fra det opprinnelig brukte
Opp til 500 GB og 700-800 tusen filer, BTSync fungerte fortsatt bra, synkronisert i farten, men med de nåværende volumene krevde det mye minne og prosessorressurser både på Ubuntu-filserveren og på Windows-sikkerhetskopien der den ble lansert av tjenesten, og også ganske enkelt voldtatt disksystem ved konstant lesing og skriving.
Selv om arkiveren er 7-zip, arkiverer vi det i zip-formatet i stedet for det opprinnelige 7z, fordi det er mye raskere, og det er praktisk talt ingen forskjell i komprimering med mx=1, dette har blitt bekreftet av mange eksperimenter.
Arkiver utføres en etter en.
Mappen med arkiver blir også renset gjennom en planlagt oppgave ved å bruke fpurge-verktøyet, slik at arkivene ikke er eldre enn en uke.
Som et resultat har vi en kopi av filene for forrige dag, samt arkiver for den siste uken; FreeFileSync legger de slettede filene i papirkurven.
Kilde: www.habr.com