Gegevensback-up met behulp van de combinatie van FreeFileSync en 7-zip

Anamnese, zo gezegd:

Fujitsu rx300 s6 server, RAID6 met 6 schijven van 1 TB, XenServer 6.2 draait, verschillende servers draaien, waaronder Ubuntu met meerdere shares, 3,5 miljoen bestanden, 1,5 TB aan gegevens, dit groeit en zwelt geleidelijk aan.

Taak: configureer de databasiste kopieën van de bestanden van de server, deels dagelijks, deels wekelijks.
We hebben een Windows-machine voor de backup met RAID5 (een gewone desktop met een ingebouwde RAID-controller) plus een aparte 2 TB-schijf voor tussentijdse kopieën van de huidige toestand van bestanden. Elk Linux-distributie was mogelijk, maar deze machine was al beschikbaar met een RAID-array en Windows-licentie.

We installeren op de backup-server FreeFileSync, we configureren een ‘mirror’ van alles van de file server eens per dag 's avonds na 18:00 door het te starten via de taakplanner.

Belangrijk punt: bij het opslaan van de batchtaak moet ‘Sluit het taakvenster bij voltooiing’ worden aangevinkt, anders zullen processen zich vermenigvuldigen.

We voegen tijdelijke bestanden uit via een filter: *.dwl, *.dwl2, *.tmp.

FreeFileSync maakt extreem goed gebruik van het netwerk, kopiëren verloopt in meerdere threads, de snelheid bereikt 80 MB/s bij het kopiëren van grote bestanden, er zijn geen knelpunten gevonden bij kleine bestanden.

We gaan archiveren op de lokale backupserver in plaats van het eerder gebruikte TheCopier met archiveren via het netwerk. Trouwens, TheCopier is geweldig! Maar bij zulke volumes kan het gewoon niet alles snel genoeg verplaatsen, ondanks de 1 Gbps interface op de backupserver en 2 Gbps op de file server (bonding van twee netwerkkaarten).

Ook werd eerder gebruikt SyncToy, maar bij meer dan 1,5-2 miljoen bestanden werkte het niet meer naar behoren, het kon gewoon niet aan.

Voor het archiveren van de benodigde mappen schrijven we een batchbestand voor 7-zip:

set now=%TIME:~0,-3%
set now=%now::=.%
set now=%now: =0%
set now=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 — archief creëren
:: -tzip of -t7z — archieftype (zip is 1.5-2 keer sneller)
:: -mx=1 — compressie niveau (1 minimaal, 9 maximaal waarden x=[0 | 1 | 3 | 5 | 7 | 9])
:: -mmt=on — schakelt multithreading in waar dit niet ingeschakeld is
:: -mtc=off — schakelt bestandsysteemtimestamps uit (wanneer opgeslagen, gewijzigd, etc.)
:: -ssw — comprimeert ook bestanden die geopend zijn voor schrijven
:: -xr!.Sync* — sluit tijdelijke bestanden van BtSync uit van archivering, laat permanente achter

De constructie uit set now=% enzovoorts maakt het mogelijk om het tijdformaat in de bestandsnaam te behouden zonder problemen die optraden wanneer het dag- of maandnummer minder dan 10 was, dus voegen we een nul toe.

Opmerking -xr!.Sync* is een overblijfsel dat is achtergebleven van de oorspronkelijk gebruikte BTSync.

Tot 500 GB en 700-800 duizend bestanden werkte BTSync nog redelijk, synchroniseerde in real-time, maar met de huidige volumes verbruikte het veel geheugen en CPU-resources, zowel op de Ubuntu-bestandserver als op de Windows-bakserver, waar het als een dienst draaide, en mishandelde ook het opslagsysteem met constante lees- en schrijfwerkzaamheden.

Hoewel het een archiver is en 7-zip, archiveren we in zip-formaat in plaats van het native 7z, omdat het veel sneller is, en het verschil in compressie bij mx=1 vrijwel nihil is gebleken uit veel experimenten.

Archieven worden achtereenvolgens uitgevoerd.

Het opschonen van de map met archieven gebeurt ook via een geplande taak met de tool fpurge, waarbij archieven niet ouder dan een week worden achtergelaten.
Als resultaat hebben we een kopie van de bestanden van de vorige dag, evenals archieven van de laatste week, verwijderde bestanden worden door FreeFileSync in de prullenbak geplaatst.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster