Backup dei dati utilizzando FreeFileSync e 7-zip

Una sorte di anamnesi:

Server Fujitsu rx300 s6, RAID6 composto da 6 dischi da 1TB, su XenServer 6.2, gestisce diversi server, tra cui Ubuntu con diverse condivisioni, 3,5 milioni di file, 1,5 TB di dati, tutto ciò cresce gradualmente.

Obiettivo: configurare il backup dei dati dal file server, parzialmente ogni giorno e parzialmente ogni settimana.
Abbiamo una macchina Windows per il backup con RAID5 (un comune computer con un controller RAID integrato) più un disco separato da 2TB per la copia intermedia dello stato attuale dei file. Qualsiasi distribuzione Linux poteva essere utilizzata, ma questa macchina era già disponibile con un array RAID e una licenza Windows.

Installiamo sul server di backup FreeFileSync, configuriamo il "mirror" di tutto dal file server una volta al giorno, la sera dopo le 18, avviando il processo tramite il pianificatore.

Un aspetto importante: quando si salva il task batch, assicurati di selezionare "Chiudere la finestra del task al termine", altrimenti i processi si moltiplicheranno.

Nella lista delle eccezioni aggiungiamo i file temporanei: *.dwl, *.dwl2, *.tmp.

FreeFileSync utilizza estremamente bene la rete, la copia avviene su più flussi, la velocità raggiunge i 80 Mbps per la copia di file di grandi dimensioni, non sono stati riscontrati problemi con file di piccole dimensioni.

Effettueremo l'archiviazione su un server di backup locale, invece di quello utilizzato in precedenza. TheCopier con l'archiviazione in rete. A proposito, TheCopier è fantastico! Ma con volumi così elevati non riesce a trasferire tutto, nonostante l'interfaccia da 1 Gbps sul backup e 2 Gbps sul file (bond di due schede di rete).

In precedenza è stato utilizzato SyncToy, ma con oltre 1,5-2 milioni di file ha smesso di funzionare correttamente, semplicemente non ce la faceva.

Per l'archiviazione delle cartelle necessarie scriviamo uno script per 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-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All%now%_10-04.zip E:\10-04
C:"Program Files"\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All%now%_35-110.zip E:\35-110
C:"Program Files"\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All%now%_asu.zip E:\asu
C:"Program Files"\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All%now%_director.zip E:\director
C:"Program Files"\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All%now%_gpr.zip E:\gpr
C:"Program Files"\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All%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 — creazione dell'archivio
:: -tzip o -t7z — tipo di archivio (zip è 1.5-2 volte più veloce)
:: -mx=1 — livello di compressione (1 minimo, 9 massimo valori x=[0 | 1 | 3 | 5 | 7 | 9])
:: -mmt=on — attiva il multithreading se non già abilitato
:: -mtc=off — disattiva i timestamp del file system (quando è stato salvato, modificato, ecc.)
:: -ssw — comprime anche i file aperti per scrittura
:: -xr!.Sync* — esclude i file temporanei di BtSync dalla compressione, mantenendo quelli permanenti

La struttura set now=% e così via consente di mantenere il formato della registrazione del tempo nel nome del file senza problemi, che si verificavano quando il numero del giorno o del mese era inferiore a 10, quindi inserendo uno zero.

Commento -xr!.Sync* è un residuo rimasto dall'uso iniziale BTSync.

Fino a 500 GB e 700-800 mila file. BTSync ha funzionato bene, sincronizzando in tempo reale, ma con i volumi attuali ha consumato molta memoria e risorse CPU sia su un server di file Ubuntu che su un server di backup Windows, dove era in esecuzione come servizio, e ha costantemente messo alla prova il sistema disco con letture e scritture.

Sebbene utilizziamo un compressore e 7-zip, archiviamo in formato zip invece del nativo 7z, poiché è molto più veloce e la differenza nella compressione con mx=1 è praticamente nulla, verificato in molti esperimenti.

Gli archivi vengono eseguiti in sequenza.

La pulizia della cartella degli archivi avviene anche tramite un'attività pianificata utilizzando l'utility fpurge, mantenendo solo gli archivi non più vecchi di una settimana.
Di conseguenza, otteniamo una copia dei file del giorno precedente e archivi della settimana scorsa; i file eliminati vengono spostati nel cestino da FreeFileSync.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster