Anamnese, så at sige:
Server Fujitsu rx300 s6, RAID6 bestående af 6 1TB diske, kører XenServer 6.2, flere servere kører, herunder Ubuntu med flere delte mapper, 3,5 millioner filer, 1,5 TB data, som gradvist vokser og svulmer.
Opgaven: at konfigurere sikkerhedskopiering af data fra filserveren, delvist dagligt, delvist ugentligt.
Vi har en Windows-maskine til backup med RAID5 (en almindelig systemcomputer med integreret RAID-controller) plus en separat 2TB disk til midlertidig kopiering af den aktuelle tilstand af filerne. Enhver Linux-distribution kunne have været brugt, men denne maskine var allerede tilgængelig med RAID-arrayet og Windows-licens.
Vi installerer på backup-serveren , konfigurerer "spejling" af det hele fra alle delte mapper på filserveren én gang dagligt om aftenen efter 18:00 med opstart via planlæggeren.
Vigtig pointe: Når du gemmer batch-opgaven, skal du sørge for at markere "Luk opgavevinduet ved afslutning", ellers vil processerne formere sig.
De midlertidige filer til undtagelser inkluderer: *.dwl, *.dwl2, *.tmp.
FreeFileSync bruger netværket ekstremt godt, kopiering foregår i flere tråde, hastigheden når op på 80 MB/s ved kopiering af store filer; der er ikke opdaget flaskehalse ved små filer.
Arkivering vil finde sted på den lokale backup-server i stedet for den tidligere anvendte med arkivering via netværket. For øvrigt er TheCopier fremragende! Men ved sådanne mængder kan den simpelthen ikke følge med, på trods af 1Gbps interface på backup'en og 2Gbps på filserveren (bond af to netværkskort).
Der blev desuden tidligere brugt , men ved en mængde filer over 1,5-2 millioner holdt det op med at fungere ordentligt, det kunne simpelthen ikke håndtere det.
For at arkivere de nødvendige mapper skriver vi et batch-script til :
set now=%TIME:~0,-3%
set now=%now::=.%
set now=%now: =0%
sæt nu=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 — oprettelse af arkiv
:: -tzip eller -t7z — arkivtype ( zip er 1.5-2 gange hurtigere )
:: -mx=1 — komprimeringsgrad (1 minimum, 9 maksimum værdier x=[0 | 1 | 3 | 5 | 7 | 9 ])
:: -mmt=on — aktiverer multitrådning, hvis det ikke allerede er aktiveret
:: -mtc=off — deaktiverer tidsstempler for filsystemet (hvornår den blev gemt, ændret osv.)
:: -ssw — komprimerer også filer, der er åbne for skrivning
:: -xr!.Sync* — udelukker midlertidige filer fra BtSync fra arkivering, mens permanente forbliver
Konstruktionen fra set now=% osv. gør det muligt at bevare tidsformatet i filnavnet uden problemer, der opstod, da dagen eller månedens nummer var mindre end 10, altså tilføjer vi nullen.
Kommentar -xr!.Sync* er et levn fra den oprindeligt brugte metode .
Op til 500 GB og 700-800 tusind filer fungerede BTSync stadig godt, synkroniserede i realtid, men ved nuværende størrelser brugte det meget hukommelse og CPU-ressourcer både på en Ubuntu filserver og på en Windows backup, hvor det blev kørt som en tjeneste, samt voldte disk-systemet med konstante læse-skrive operationer.
Selvom arkiveringsværktøjet er 7-zip, arkiverer vi i zip-format i stedet for det oprindelige 7z, da det er meget hurtigere, og der næsten ikke er nogen forskel i komprimering ved mx=1, som bekræftet af mange eksperimenter.
Arkiverne kører én ad gangen.
Rydning af arkivmappen sker også gennem en planlagt opgave ved hjælp af værktøjet fpurge, der efterlader arkiver ikke ældre end en uge.
Som resultat ender vi med en kopi af filerne fra den forrige dag samt arkiver fra den sidste uge, hvor slettede filer fra FreeFileSync lægges i papirkurven.
Kilde: habr.com
