Gegevensback-up met FreeFileSync en 7-zip

Anamnese, om het zo maar te zeggen:

Fujitsu rx300 s6-server, RAID6 van 6 1TB-schijven, XenServer 6.2 geïnstalleerd, verschillende servers draaiend, waaronder Ubuntu met verschillende ballen, 3,5 miljoen bestanden, 1,5 TB aan data, dit alles groeit geleidelijk en zwelt op.

Taak: gegevensback-up vanaf een bestandsserver instellen, deels dagelijks, deels wekelijks.
We hebben een Windows-back-upmachine met RAID5 (een slechte standaardsysteemeenheid met een RAID-controller ingebouwd in de moeder) plus een aparte 2TB-schijf voor het tussentijds kopiëren van de huidige status van de bestanden. Het was mogelijk om elke Linux-distributie te gebruiken, maar deze machine was al verkrijgbaar met een raid-array en een Windows-licentie.

Installeer op een back-upserver FreeFileSync, hebben we één keer per dag 's avonds na 18 uur een 'spiegel' opgezet van alles op rij van alle bestandsservershares door het door de planner te laten lopen.

Een belangrijk punt: zorg ervoor dat u bij het opslaan van een batchtaak "Taakvenster sluiten wanneer voltooid" aanvinkt, anders zullen de processen zich vermenigvuldigen en vermenigvuldigen.

We plaatsen tijdelijke bestanden in maskeruitzonderingen: *.dwl, *.dwl2, *.tmp.

FreeFileSync gebruikt het netwerk buitengewoon goed, het kopiëren vindt plaats in verschillende threads, de snelheid bereikt 80 Mbps bij het kopiëren van grote bestanden, er werd geen blokkering gevonden bij kleine bestanden.

Het archiveren zal worden uitgevoerd op een lokale back-upserver, in plaats van de server die eerder werd gebruikt Het kopieerapparaat met netwerkarchivering. TheCopier is trouwens geweldig! Maar met dergelijke volumes heeft het simpelweg geen tijd om alles over te dragen, ondanks de 1Gbps-interface op de back-up en 2Gbps op het bestand één (verbinding van twee netwerkkaarten).

Ook vroeger gebruikt SyncToy, maar toen het aantal bestanden de 1,5-2 miljoen overschreed, werkte het niet meer normaal, het kon het gewoon niet aan.

Om de benodigde mappen te archiveren, schrijven we een batchbestand voor 7-zip:

stel nu in=%TIME:~0,-3%
stel nu in=%nu::=.%
nu instellen=%nu: =0%
stel nu in=%DATUM:~-4%.%DATUM:~3,2%.%DATUM:~0,2%_%nu%
C:"Programmabestanden"7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAll%now%_10-04.zip E:10-04
C:"Programmabestanden"7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAll%now%_35-110.zip E:35-110
C:"Programmabestanden"7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAll%now%_asu.zip E:asu
C:“Programmabestanden”7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAll%now%_director.zip E:director
C:“Programmabestanden”7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAll%now%_gpr.zip E:gpr
C:"Programmabestanden"7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAll%nu%_otiz.zip E:otiz
C:“Programmabestanden”7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAll%now%_ps.zip E:ps
C:“Programmabestanden”7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAll%now%_pto.zip E:pto
C:“Programmabestanden”7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAll%now%_rza.zip E:rza
C:“Programmabestanden”7-Zip7z.exe a -tzip -mx=1 -mmt=aan -mtc=uit -ssw D:backupsAlle%nu%_smeta.zip E:smeta

::a - een archief aanmaken
:: -tzip of -t7z - archieftype (zip is 1.5-2 keer sneller)
:: -mx=1 — compressieverhouding (1 minimum, 9 maximum waarden x=[0 | 1 | 3 | 5 | 7 | 9 ])
:: -mmt=on - schakelt multithreading in waar dit niet is ingeschakeld
:: -mtc=off - schakelt tijdstempels van het bestandssysteem uit (indien opgeslagen, gewijzigd, enz.)
:: -ssw - comprimeert ook bestanden die zijn geopend om te schrijven
:: -xr!.Sync* - sluit tijdelijke BtSync-bestanden uit van archivering en laat permanente bestanden achter

Door de constructie van set now=% enzovoort kunt u het formaat van de opnametijd in een bestandsnaam opslaan zonder de problemen die zich voordeden wanneer het getal van de dag of de maand minder dan 10 was, dat wil zeggen dat we een nul vervangen.

Commentaar -xr!.Sync* is een rudiment dat overblijft van het oorspronkelijk gebruikte BTSync.

Tot 500 GB en 700-800 bestanden werkte BTSync nog steeds prima, direct gesynchroniseerd, maar met de huidige volumes kostte het veel geheugen en processorbronnen, zowel op de Ubuntu-bestandsserver als op de Windows-back-up waar het werd gelanceerd door de service, en verkrachtte ook eenvoudigweg het schijfsysteem door constant te lezen en te schrijven.

Hoewel het archiveringshulpmiddel 7-zip is, archiveren we het in het zip-formaat in plaats van het oorspronkelijke 7z, omdat het veel sneller is en er vrijwel geen verschil is in compressie met mx=1. Dit is door veel experimenten geverifieerd.

Archieven worden één voor één uitgevoerd.

De map met archieven wordt ook opgeschoond via een geplande taak met behulp van het hulpprogramma fpurge, waardoor archieven niet ouder dan een week achterblijven.
Als gevolg hiervan hebben we een kopie van de bestanden van de vorige dag, evenals archieven van de afgelopen week; FreeFileSync plaatst de verwijderde bestanden in de prullenbak.

Bron: www.habr.com

Voeg een reactie