[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Aggiunta HDD in un raid.



Ciao Alessandro...
in relatà non ho mai fatto il backup della nas, quindi non ho nulla da
verificare come integrità dei  precedenti backup.
il backup che farò, in prima battuta, è della sola parte utente
"/home" e "/root", della parte di sistema, mi interessano solo un paio
di configurazioni, che mi copierò esplicitamente (non copio tutta
/etc, per intenderci.

in ogni caso, ho intenzione di attivare uno snapshot del sistema,
prima di procedere al backup, per non trovarmi con file/direcotry
bloccate, ma qui, devo chiarirmi un po' le idee prima...

Ho sempre fatto un po' di confusione su quello che devo andare a
copiare... se lo snapshot o la directory nativa...

In quale modo mi suggerisci di verificare poi l'integrità del backup?

E' mia intenzione di usare un banale rsync, in quanto i due HDD su cui
faccio il backup, non mi coprono l'intera struttura, devo quindi
spezzarli sui due dischi separatamente e in tempi diversi
(probabilmente addiritura in tempi diversi, visto che per ora ho solo
una sola interfaccia usb da collegare).

Ciao e buona domenica.

Se usi rsync, il primo consiglio che mi sento di darti è quello di generare uno storico dei backup. Se continui ad eseguire il sync/backup solo tra due dir hai solo l'ultima versione e non i pregressi tipo (con hardlink per salvare spazio):

(in maniera molto semplificata)

mkdir -p /mnt/backup/{archive,dataset}
rsync -av --delete src/ /mnt/backup/dataset/
mkdir /mnt/backup/archive/backup-$(date "+%d_%m_%Y")
cp -al /mnt/backup/dataset/* /mnt/backup/archive/backup-date

per quanto riguarda l'ultimo comando rsync ha un'opzione per usare gli hardlink ma io preferisco dividere il processo di sync dal processo di "snapshot".

Per il discorso dell'integrità generalmente un controllo con checksum dovrebbe essere sufficiente. Ricalcolare un checksum di un intero dataset (molto grande) potrebbe essere una lunga operazione. Per fortuna rsync ci viene in aiuto con l'opzione --out-format attraverso la quale possiamo stampare l'output in maniera personalizzata tra cui l'md5sum del file sincronizzato tipo rsync -av --out-format="%n;%C" che fa stampare (se non erro) il nome del file e il relativo md5sum, che potrai salvare nel modo che preferisci (NOTA: l'md5 viene riportato solo per i file quindi nell'output di rsync dovresti eliminare tutto tranne i file. Per semplificare l'operazione potresti inserire nell'out-format anche il %i che simula l'itemize-change e attraverso il quale potresti estrarre il tipo di file.) Una volta salvato il "manifest" con gli md5 potresti eseguire un controllo sui file riportati iterando il tutto.

Nota: md5 ahime è quello che rsync al momento supporta, e per un controllo di integrità dei file puo andare bene.

So che puo sembrare macchinoso ma è un'idea.

Potresti usare anche altri sistemi come borgbackup (che sto testando per un mio uso). È semplice, crei un repo (cifrato se preferisci e remoto se preferisci), lanci borg create ..... e fa il backup con deduplicazione (molto più efficiente degli hardlink perche è la deduplicazione è sui blocchi). Per il controllo lanci semplicemente un borg check sul repository o sull'archivio e ti riporta lo stato del tutto. Anche qui hai bisogno di creare il tuo script bash per fare il tutto ma è molto piccolo. L'unica cosa che non mi fa impazzire di borg è che non supporta nativamente il pull backup...per il resto è molto efficiente e puoi usare ssh (come con rsync) per repository remoti. Ora la mia paura di borg è che aggiungere deduplicazione, compressione e cifratura (3 livelli) rende il tutto (in particolare i file dove tutto viene salvato) molto complesso e se qualcosa si rompe...sarebbe dura recuperarlo.

Non vorrei andare off-topic ma qualcuno con più esperienza con rsync, borg o altri sistemi di backup potrebbe aiutarci in maniera più precisa magari con altre soluzioni migliori.

Un saluto.



Reply to: