PDA

View Full Version : Creare un simil "RAID 1" con due hard disk esterni usb


sandman972
25-01-2012, 13:28
Ciao a tutti.
Ho due hard disk usb da 1 Tb l'uno collegati ad un vecchio portatile su cui ho piazzato Debian Squeeze senza interfaccia grafica, e che ho poi collegato alla mia rete domestica.
Visto che per ora di farmi un NAS "serio" non se ne parla per motivi economici, sto salvando in contemporanea i dati sui due hard disk, creando una sorta di mirroring, ma praticamente facendolo a mano ogni volta.:doh:

La mia domanda è: esiste la possibilità di far gestire il mirroring a Debian, come se fosse una sorta di (scusate la bestemmia) RAID 1 via usb? Ovvero, si riescono a montare i due hard disk usb in maniera che linux li veda come uno solo, e scriva i dati sugli hard disk contemporaneamente, magari leggendoli poi da uno solo dei due?
Spero che la cosa non sia una castroneria totale, ma sarei veramente curioso!:stordita:

eaman
25-01-2012, 18:24
Certo che puoi farlo, puoi mettere in raid qualunque block device, anche chiavette usb.

Tra l'altro ora che i filesystem si montano con le UUID e' tutto molto piu' semplice per spostare il raid da un sistema all'altro.

Dane
25-01-2012, 18:25
il raid su linux lo puoi fare con quello che vuoi.

I problemi che potresti avere sono:
- assicurarti che i dischi usb vengano "agganciati" sempre allo stesso raid: ti potrebbe cambiare il disco sda/b/c/ecc, potresti avere problemi con udev (ogni tanto cambia le regole), oppure aggiornando il kernel. Penso che qualcosa dovresti riuscire a risolvere con il parametro uuid del disco ;-)
- lentezza del sync: se per caso stacchi per un attimo il disco, questo vorrà ri-sincronizzarsi..... e sincronizzare 1TB a 20mb/sec (scarsi) di un USB2.0 ne passa di tempo.... :stordita: ................spero per te che il portatile non abbia l'usb1 (1mb/sec)

Non serve che lo crei a mano ogni volta. Dovrebbe essere riconosciuto in automatico (al limite metti mano ai parametri di configurazione degli script) ;-)

sandman972
25-01-2012, 23:58
Intanto grazie delle risposte ad entrambi. Almeno so che non ho chiesto una cosa impensabile.:)

@ eaman: per la realizzazione pratica immagino che si usi il classico mount, a questo punto...bene, mi sono letto tutto il man, ma non ho trovato niente che assomigliasse a quello che cerco...la sola cosa che mi pareva potesse entrarci è l'opzione "dirsync", ma non ho capito a modo la sintassi. Potresti darmi qualche dritta in più?

@ Dane: per "creare a mano" il mirroring intendevo che copio a manina il file su un hard disk e poi sull'altro. :sofico: Per il resto terrò conto dei tuoi consigli...e fortunatamente le usb almeno sono 2.0.;)

edit: aaaah, aspetta....devo per caso utilizzare mdadm?

Dane
26-01-2012, 01:35
edit: aaaah, aspetta....devo per caso utilizzare mdadm?

se vuoi fare un raid si.
Altrimenti riesci a fare un backup .........al limite :mbe:

sandman972
26-01-2012, 09:09
Perfetto, allora adesso ci do un occhiata...non sono esperto di cose tipo raid, server eccetera; sono un utente del pinguino autodidatta. Mi serviva solo una dritta per capire che strada prendere, e mi pare che usare mdadm non sia cosi complesso.
Grazie dei consigli, se avrò qualche problema chiederò di nuovo. :)

eaman
26-01-2012, 13:52
Mdadm: http://archive.networknewz.com/2003/0113.html

Se monti il raid sempre sugli stessi PC puoi farti il file di configurazione:
cat /etc/mdadm.conf
DEVICE partitions
ARRAY /dev/md0 level=raid0 UUID=27f05570:cb2e17e0:a9f64f17:72d50f93
ARRAY /dev/md1 level=raid0 UUID=71016344:e9aaf5e1:e5cbeab4:3c4dba52
ARRAY /dev/md2 level=raid0 UUID=c3fb3d71:8c295705:0dec84e1:6ee720dc
ARRAY /dev/md3 level=raid1 UUID=139e6465:a37e75fe:a7a0e1bc:a66f52c5
oppure fidarti solo del superblocco.

@sandman972:
Non c'e' problema di "aggancio" se usi le UUID per identificare i dischi dell'array,
anche ai file system viene dato un UUID e puoi usare quello per i mount.

Per conoscere le UUID:time:~# blkid /dev/sda5
/dev/sda5: LABEL="Sid64-boot" UUID="2b77c330-f07a-4d02-859a-0d2e400f22c0" TYPE="ext4


Poi sarebbe furbo che tu facessi un LVM su quel raid appena pronto, e se ne hai voglia potresti provare a usare BTRFS con compressione dei file per avere piu' spazio e andare un po' piu' veloce.

sandman972
27-01-2012, 08:46
Ottimo, eaman, grazie. Gli hard disk rimarranno sempre collegati al portatile, che rimarrà acceso 24/7 con compiti di torrent e condivisione dati sulla rete, quindi la configurazione con gli UUID va benissimo.

Ok per LVM, mi pare una buona idea e so come metterlo su (almeno credo), ma BTRFS (che non conoscevo) da quel che ho letto ieri in rete è più rognoso da configurare per avere buone prestazioni, e meno stabile di un ext qualsiasi.

Appena ho un secondo mi ci metto!! :)

eaman
30-01-2012, 00:22
Onestamente btrsf e' un po' rognoso anche per me, lo uso giusto sui portatili o per le cache per la comodita' dellla compressione trasparente. E' un po' rognoso se sei abituato ad avere i *raid, gli *LVM e poi i filesystems.

Ma se uno parte da zero btrfs ti fa tutto nello stesso pacchetto. Ma manca ancora il filesystem check!

sandman972
30-01-2012, 16:07
Onestamente btrsf e' un po' rognoso anche per me

Se lo è per te figurati per me! :D
Ancora non ho avuto il tempo per iniziare, conto di farlo nei prossimi giorni. A questo punto scarto a priori btrfs e provo ad andare di LVM, usando gli UUID per definire gli array. Appena ho dei risultati aggiorno il post. :)