RAID

Da GolemWiki.
Jump to navigation Jump to search

Restore RAID 1

Introduzione

Questa guida illustra come sostituire correttamente un disco danneggiato in un RAID 1 software su Linux.

Per chi non fosse molto ferrato in materia propongo queste letture

Premessa: il raid software su Linux funziona a livello di partizioni e non di interi dischi. Nel caso in esempio utilizzeremo due dischi: /dev/sda e /dev/sdb; ciascuno con 2 partizioni sda1 e sda2, e sdb1 e sdb2.

/dev/sda1 e /dev/sdb1 costituiscono l'array in RAID1 /dev/md0.
/dev/sda2 e /dev/sdb2 costituiscono l'array in RAID1 /dev/md1.

Accorgersi del guasto

Un cat di /var/log/messages, /var/log/syslog o /proc/mdstat' vi sarà di aiuto. In particolare, se su /proc/mdstat compare qualcosa di simile a

blocks [2/2] [U_] 

invece che

blocks [2/2] [UU]

significa che il vostro RAID 1 ha dei problemi.

Nel nostro caso, visti gli altri logo, ipotiziamo che il disco sdb si sia guastato e debba essere sostituito.

Rimuovere il disco danneggiato dal RAID

Si dovranno marcare sdb1 e sdb2 come failed e andranno rimossi dai rispettivi array.

# mdadm --manage /dev/md0 --fail /dev/sdb1
# mdadm --manage /dev/md0 --remove /dev/sdb1
# mdadm --manage /dev/md1 --fail /dev/sdb2
# mdadm --manage /dev/md1 --remove /dev/sdb2
#  cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sda2[0]
24418688 blocks [2/1] [U_]
unused devices: <none>


Sostituzione del disco danneggiato

Spegnere il computer, rimuovere il disco guasto e collegarne al suo posto uno funzionante.

Inizializzazione del nuovo disco

Installato il nuovo disco riaccendete il pc e loggati come root andranno ricreate sul nuovo sdb le stesse partizioni presenti su sda:

# sfdisk -d /dev/sda | sfdisk /dev/sdb
# fdisk -l (per controllare che le partizioni siano uguali)

NB: il nuovo disco dovrà essere di dimensioni uguali o maggiori del disco sostituito


Ripristino del RAID 1

Aggiungiamo /dev/sdb1 a /dev/md0 e /dev/sdb2 a /dev/md1

  1. mdadm --manage /dev/md0 --add /dev/sdb1
  2. mdadm --manage /dev/md1 --add /dev/sdb2