Backup dei dati utilizzando una serie di FreeFileSync e 7-zip

Anamnesi, per così dire:

Server Fujitsu rx300 s6, RAID6 di 6 dischi da 1 TB, XenServer 6.2 è attivo, diversi server girano, tra cui Ubuntu con diverse palle, 3,5 milioni di file, 1,5 TB di dati, tutto cresce e si gonfia gradualmente.

Compito: impostare il backup dei dati dal file server, in parte giornaliero, in parte settimanale.
Abbiamo una macchina Windows per il backup con RAID5 (per povertà, una normale unità di sistema con un controller RAID integrato nella madre) più un disco separato da 2 TB per la copia intermedia dello stato corrente dei file. Era possibile utilizzare qualsiasi distribuzione Linux, ma questa macchina era già disponibile con un array raid e una licenza Windows.

Installazione su un server di backup FreeFileSync, abbiamo impostato un "mirror" di tutto in una riga da tutte le condivisioni del file server una volta al giorno la sera dopo le 18:XNUMX avviando tramite lo scheduler.

Un punto importante: quando salvi un'attività batch, assicurati di selezionare "Chiudi la finestra dell'attività al completamento", altrimenti i processi si moltiplicheranno e si moltiplicheranno.

Inseriamo file temporanei in eccezioni per maschera: *.dwl, *.dwl2, *.tmp.

FreeFileSync utilizza la rete molto bene, la copia avviene in più flussi, la velocità raggiunge gli 80 Mbps durante la copia di file di grandi dimensioni, non è stato trovato alcun collegamento su file di piccole dimensioni.

L'archiviazione verrà effettuata già su un server di backup locale, anziché su quello utilizzato in precedenza La fotocopiatrice con archiviazione in rete. A proposito, TheCopier è fantastico! Ma con tali volumi, semplicemente non ha il tempo di trasferire tutto, nonostante l'interfaccia da 1 Gbps sul backup e 2 Gbps sul file uno (vincolo di due schede di rete).

Utilizzato anche in precedenza SyncToy, ma quando il numero di file era superiore a 1,5-2 milioni, ha smesso di funzionare normalmente, semplicemente non poteva farcela.

Per archiviare le cartelle necessarie, scriviamo un file batch per 7-zip:

imposta ora=%TIME:~0,-3%
imposta ora=%ora::=.%
imposta ora=%ora: =0%
imposta ora=%DATA:~-4%.%DATA:~3,2%.%DATA:~0,2%_%ora%
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_10-04.zip E:10-04
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_35-110.zip E:35-110
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_asu.zip E:asu
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_director.zip E:director
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_gpr.zip E:gpr
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_otiz.zip E:otiz
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_ps.zip E:ps
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_pto.zip E:pto
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_rza.zip E:rza
C:"File di programma"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_smeta.zip E:smeta

:: a - creazione di un archivio
:: -tzip o -t7z - tipo di archivio (zip è 1.5-2 volte più veloce)
:: -mx=1 — rapporto di compressione (1 minimo, 9 massimo x=[0 | 1 | 3 | 5 | 7 | 9 ])
:: -mmt=on - attiva il multithreading dove improvvisamente non è attivato
:: -mtc=off - disabilita i timestamp del filesystem (quando salvato, modificato, ecc.)
:: -ssw - comprime anche i file aperti per la scrittura
:: -xr!.Sync* - esclude i file BtSync temporanei dall'archiviazione, lasciando quelli permanenti

La costruzione di set now=% e così via permette di salvare il formato dell'ora nel nome del file senza i problemi che si presentavano quando il numero del giorno o del mese era inferiore a 10, cioè sostituiamo uno zero.

Il commento -xr!.Sync* è una traccia dell'originale BTSync.

Fino a 500 GB e 700-800mila file, BTSync funzionava ancora, sincronizzato al volo, ma ai volumi attuali consumava molta memoria e risorse del processore sia sul file server Ubuntu che sul backup di Windows, dove è stato lanciato dal servizio, e anche semplicemente violentato il sistema del disco con letture e scritture costanti.

Sebbene l'archiviatore sia 7-zip, lo archiviamo nel formato zip invece del 7z nativo, perché è molto più veloce e non c'è praticamente alcuna differenza di compressione con mx=1, è stato verificato da molti esperimenti.

Gli archivi vengono eseguiti a turno.

Anche la cartella con gli archivi viene pulita tramite un'attività pianificata utilizzando l'utilità fpurge, lasciando gli archivi non più vecchi di una settimana.
Di conseguenza, abbiamo una copia dei file per il giorno precedente, così come gli archivi per l'ultima settimana, FreeFileSync mette i file eliminati nel cestino.

Fonte: habr.com

Aggiungi un commento