[Linux-Biella] mirror di due dischi
Andrea Ferraris
linux@ml.bilug.linux.it
Fri, 9 Jan 2004 01:04:33 +0100
> From: "redbear" <redbear@tin.it>
> avrei bisogno di una dritta su cosa guardare per poter fare il mirror
> di un disco su di un altro.
A sua disposizione.
> Ho due dischi eide da 120 GB che vengono usati come deposito di dati
> sensibili vorrei fare su uno dei due la copia esatta dell'altro.
> Ho pensato ad uno script che gira col cron che fa un ls della directory
> del disco A crea un file di testo la confronta con quello del disco B
> e copia solo le differenze......ho dato una scorsa veloce alle tecniche
> RAID ma non pensono facciano al mio caso..sbaglio?
Pronto a fornirle tutte le informazioni del caso. E' il tipico problema che
mi manda in brodo di giuggiole, anche se non so che cosa sono le giuggiole
e probabilmente non ho neanche capito qual e` il problema.
Per la soluzione che copia solo le differenze puoi usare rsync. Funziona
e anche bene e ti minimizza la quantita` dei dati scritti e letti (ancor
piu`
trasferiti, dato che e` in grado di comprimere al volo) e con le opportune
opzioni ti eviti pure gli eventuali disastri da inversione di source e
destination,
nel senso che puoi dirgli di copiare solo i files piu` nuovi sui piu` vecchi
e
tante altre cose. E' un comando molto bello e potente e viene impiegato
anche per fare il mirror di siti interi in internet (comunque funziona pure
per
una copia locale).
Il RAID 1 andrebbe benissimo, gestendoti il tutto lui, in modo trasparente.
Ci sarebbe pero` il problema di dove mettere i dati che attualmente hai sui
due dischi mentre li prepari per il RAID, dato che li dovresti
riinizializzare
(marchi con fdisk le partizioni che devono andare in RAID come 0xfd
(RAID automount)) e che devono avere le stesse dimensioni e risiedere
su 2 dischi diversi, verifichi che il tuo kernel supporti il RAID 1 o te ne
compili uno che lo supporti, ti scrivi un /etc/raidtab (ci sono montagne di
esempi in rete, almeno un RAID-HOWTO e degli esempi persino nel
pacchetto di mingo (Ingo Molnar) coi raidtools (che devi aver installati per
creare e gestire il RAID; adesso mi sembra che siano alla versione 1.X)) e
poi dai il fatidico mkraid /dev/mdX. Quando l'array e` partito e
funzionante,
ci crei sopra il filesystem, lo monti e poi ci metti i dati.
A meno che tu non abbia almeno la meta` dello spazio libero su ognuno dei 2
dischi. In tal caso puoi ridurre le dimensioni delle partizioni esistenti e
crearne
delle nuove che andranno in RAID e quando avrai fatto tutto il lavoro come
descritto sopra, ci copierai i dati che hai ancora nelle partizioni non in
RAID.
ATTENZIONE, PRIMA DI FARE UNA COSA SIMILE, FAI UN BACKUP.
Una volta fatto tutto cio` ed avente il RAID 1 funzionante, e` necessario
fare uno scriptino che ne controlli lo stato, perche' il RAID e` una bella
cosa,
ma se ti muore un disco e nessuno ti dice niente e poi ti muore anche il
secondo,
non recuperi piu` nulla, anche se eri in RAID 1. Lo scriptino deve andare
a fare una grep di /proc/mdstat, mi sembra per UU (ma ho ricordi vaghi
e labili, per cui e` meglio che controlli) e nel caso che non lo trovi deve
farti suonare la sveglia.
Comunque ne' RAID 1, ne' rsync, ne' (ammesso che i 2 dischi siano uguali
e il source montato in sola lettura o il sistema in single user mode)
# cat /dev/hda > /dev/hdb o l'equivalente, se e` possibile, con Xdelta (o
come si chiamava quel comando in grado di trasferire solo il delta di 2
binari e che comunque e` alla base del sistema di aggiornamento dei
pacchetti
di Sorcier Linux) o tar ti danno una garanzia completa di sicurezza dei tuoi
dati.
Innanzitutto i disastri che possono capitare alla piastra madre o al
controller
su cui sono attaccati i 2 dischi, possono farteli fuori entrambi insieme.
Poi,
anche se rare, non sono impossibili corruzioni subdole e maligne per cui
corrompendosi i dati del disco source queste corruzioni vengono propagate
lentamente con la copia o il RAID 1 anche ai dati contenuti nella
destinazione.
Comunque contro queste cose si puo` fare qualcosa. Prima di tutto dipende
da quanto sono importanti questi dati, perche' se lo sono molto, allora
acquistare
un bel dispositivo di backup tipo DDS4 o DLT, ti puo` consentire di
salvare diverse decine di GB su supporti che possono essere trasportati e
conservati altrove rispetto alla macchina con i dischi e quindi nel caso di
un evento
catastrofico locale o di un semplice guasto grave e distruttivo al
controller dei
dischi, non ti perderesti comunque i dati e potresti conservarne diverse
copie di
diversi periodi. Decisamente un dispositivo di backup di quel tipo e un
adeguato
numero di supporti, ti garantisce una bella sicurezza in piu`.
Il costo e` quantificabile - credo - in circa 1.500 EUR (compreso un congruo
numero di supporti).
Poi puoi usare la diagnostica di hdparm per verificare lo stato di salute
dei
dischi (anche se non so quanto accurata e affidabile sia) e infine puoi
usare
AIDE o Tripwire (o se preferisci farti gli script tu con md5sum) sui files
della cui
integrita` vuoi essere sicuro, testando i loro checksum, prima di copiarli
sulla
destinazione (l'altro disco) con rsync. Si`, credo che con questa tecnica
dovresti
essere abbastanza al riparo da corruzioni subdole di dati su disco.
Spero di essere stato utile ed esauriente, se vuoi avere altre informazioni,
chiedi pure, quello che so te lo scrivo volentieri, quello che no, lo
invento,
col disclaimer standart "son tutti c. tuoi".
Andrea