Raid 1 con Linux

Da MelugWiki.

Jump to: navigation, search

Creare un Raid 1 (Mirror) su linux


Per prima cosa occorre installare un pacchetto fondamentale per la gestione di tutti i tipi di raid su linux, il suo nome è "mdadm", di default sulla maggior parte delle distribuzioni gia c'è, altrimenti per le debian/based:

apt-get install mdadm

Fatto ciò, procedo con il rendere le partizioni dei due hd "IDENTICHE" e per velocizzare la cosa digito:

sfdisk -d /dev/hda | sfdisk /dev/hdb

Adesso posso iniziare a mirrorare i dischi(ovviamente al posto di hda1,hdb1,hda2,hdb2,ecc.... bisogna utilizzare i dischi che si intende mirrorare):

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hda1 /dev/hdb1
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/hda2 /dev/hdb2
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/hda3 /dev/hdb3

Con quello appena scritto dico al comando mdadm che deve creare un device di nome md*, di tipo raid 1(--level=1), il numero di devices fisici che compongono il raid sono 2 (--raid-devices=2), e poi specifico quali sono i devices fisici che fanno parte di quel raid.

Fatto ciò posso controllare lo status del raid visualizzando il file /proc/mdstat

 cat /proc/mdstat 

Adesso posso modificare il file /etc/fstab sostituendo i devices fisici con quelli virtuali dei mirror:

vi /etc/fstab

Ad esempio nel seguente modo:

/dev/md0                /boot           ext2            noauto,noatime  1 1
/dev/md2                /               ext3            noatime         0 0
/dev/md1                none            swap            sw              0 0

Ripristino di un'array

Adesso passiamo alla cosa principale per cui viene utilizzato il mirror, ripristinare i dati in caso di mailfunzionamento o rottura di un disco, senza perderli.

Supponiamo che si sia danneggiato il disco hdb e quindi provvediamo ad eliminarlo dall'array:

mdadm /dev/md0 --fail /dev/hdb1 --remove /dev/hdb1
mdadm /dev/md1 --fail /dev/hdb2 --remove /dev/hdb2
mdadm /dev/md2 --fail /dev/hdb3 --remove /dev/hdb3

Montiamo un hard-disk nuovo al posto di quello danneggiato e lo partizioniamo:

sfdisk -d /dev/hda | sfdisk /dev/hdb 

Ricreiamo il raid con il comando mdadm dicendogli di aggiungere il nuovo disco all'array:

mdadm /dev/md0 --add /dev/hdb1
mdadm /dev/md1 --add /dev/hdb2
mdadm /dev/md2 --add /dev/hdb3

Controlliamo lo stato della ricreazione del raid visualizzando il file mdstat:

cat /proc/mdstat


Per qualsiasi problema lasciate un post sul forum o venitecci a trovare nel canale irc di azzurra #melug

Personal tools