Datasikkerhetskopiering ved hjelp av FreeFileSync og 7-zip

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 FreeFileSync, setter vi opp et "speil" av alt på rad fra alle filserverdelinger en gang om dagen om kvelden etter 18 timer ved å kjøre det gjennom planleggeren.

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 Kopimaskinen med nettverksarkivering. TheCopier er forresten flott! Men med slike volumer har den rett og slett ikke tid til å overføre alt, til tross for 1Gbps-grensesnittet på sikkerhetskopien og 2Gbps på fil en (binding av to nettverkskort).

Også tidligere brukt SyncToy, men da antallet filer oversteg 1,5-2 millioner, sluttet den å fungere normalt, den klarte rett og slett ikke.

For å arkivere de nødvendige mappene skriver vi en batchfil for 7-zip:

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 BTSync.

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

Legg til en kommentar