Anamneza, że tak powiem:
Serwer Fujitsu rx300 s6, RAID6 6 dysków 1 TB, zainstalowany XenServer 6.2, kilka serwerów wirujących, w tym Ubuntu z kilkoma kulkami, 3,5 miliona plików, 1,5 TB danych, to wszystko stopniowo rośnie i pęcznieje.
Zadanie: skonfiguruj kopię zapasową danych z serwera plików, częściowo codziennie, częściowo co tydzień.
Mamy maszynę do tworzenia kopii zapasowych Windows z RAID5 (kiepska standardowa jednostka systemowa z kontrolerem RAID wbudowanym w matkę) plus osobny dysk 2 TB do pośredniego kopiowania bieżącego stanu plików. Można było używać dowolnej dystrybucji Linuksa, ale ta maszyna była już dostępna z macierzą raid i licencją Windows.
Zainstaluj na serwerze zapasowym
Ważny punkt: zapisując zadanie wsadowe, pamiętaj o zaznaczeniu opcji „Zamknij okno zadania po zakończeniu”, w przeciwnym razie procesy będą się mnożyć.
Wrzucamy pliki tymczasowe do wyjątków masek: *.dwl, *.dwl2, *.tmp.
FreeFileSync bardzo dobrze wykorzystuje sieć, kopiowanie odbywa się w kilku wątkach, przy kopiowaniu dużych plików prędkość sięga 80 Mbps, na małych plikach nie stwierdzono blokowania.
Archiwizacja zostanie przeprowadzona na lokalnym serwerze kopii zapasowych, a nie na dotychczas używanym
Również wcześniej używany
Aby zarchiwizować niezbędne foldery, piszemy plik wsadowy dla
ustaw teraz=%CZAS:~0,-3%
ustaw teraz=%teraz::=.%
ustaw teraz=%teraz: =0%
ustaw teraz=%DATA:~-4%.%DATA:~3,2%.%DATA:~0,2%_%teraz%
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 - tworzenie archiwum
:: -tzip lub -t7z - typ archiwum (zip jest 1.5-2 razy szybszy)
:: -mx=1 — stopień kompresji (1 minimalna, 9 maksymalnych wartości x=[0 | 1 | 3 | 5 | 7 | 9 ])
:: -mmt=on - włącza wielowątkowość tam, gdzie nie jest włączona
:: -mtc=off - wyłącza znaczniki czasu systemu plików (przy zapisywaniu, modyfikowaniu itp.)
:: -ssw - kompresuje także pliki otwarte do zapisu
:: -xr!.Sync* - wyklucza z archiwizacji tymczasowe pliki BtSync, pozostawiając pliki trwałe
Konstrukcja set now=% itd. pozwala na zapisanie formatu czasu nagrywania w nazwie pliku bez problemów, które pojawiały się, gdy numer dnia lub miesiąca był mniejszy niż 10, czyli podstawialiśmy zero.
Komentarz -xr!.Sync* jest pozostałością po pierwotnie używanym
Do 500 GB i 700-800 tysięcy plików BTSync nadal działał dobrze, synchronizował się w locie, ale przy obecnych wolumenach bardzo zużywał pamięć i zasoby procesora zarówno na serwerze plików Ubuntu, jak i na kopii zapasowej Windows, gdzie został uruchomiony przez usługę, a także po prostu zgwałcił system dyskowy poprzez ciągłe odczyty i zapisy.
Mimo, że archiwizator to 7-zip, to archiwizujemy go w formacie zip, a nie natywnym 7z, bo jest dużo szybszy i praktycznie nie ma różnicy w kompresji przy mx=1, zostało to zweryfikowane wieloma eksperymentami.
Archiwa są wykonywane jedno po drugim.
Folder z archiwami jest również czyszczony w ramach zaplanowanego zadania za pomocą narzędzia fpurge, pozostawiając archiwa nie starsze niż tydzień.
W rezultacie mamy kopię plików z poprzedniego dnia, a także archiwa z ostatniego tygodnia; FreeFileSync umieszcza usunięte pliki w koszu.
Źródło: www.habr.com