linuxsysadminstorage

Guida: Sostituzione Disco in un Raid Software (mdadm)

2 min di lettura
Guida: Sostituzione Disco in un Raid Software (mdadm)

La rottura di un disco in un array RAID software è un evento che ogni sistemista deve saper gestire con freddezza. Grazie all’utility mdadm, la sostituzione di un’unità difettosa su Linux è un’operazione lineare, ma richiede precisione per evitare la perdita di dati.

In questa guida vedremo come gestire la sostituzione di un disco (es. /dev/sda) in un array RAID 1 o superiore.

⚠️
**Attenzione:** Prima di procedere, identifica con certezza il disco guasto per evitare di rimuovere accidentalmente quello sano. Usa `lsblk` e `smartctl` per confermare il seriale del disco difettoso.

1. Verifica dello stato dell’array

Il primo passo è controllare lo stato attuale del RAID per identificare quali partizioni sono in stato “degraded”.

cat /proc/mdstat

Stato mdstat


2. Marcare il disco come guasto (Fail)

Se il disco non è stato già rimosso automaticamente dal kernel, dobbiamo marcarlo manualmente come guasto per tutte le partizioni RAID attive:

# Marcare come guasto sda1 nel volume md0
mdadm --manage /dev/md0 --fail /dev/sda1

# Ripetere per le altre partizioni (es. md1)
mdadm --manage /dev/md1 --fail /dev/sda2

Controllando di nuovo /proc/mdstat, vedrai lo stato [U_] al posto di [UU], indicando che l’array è degradato.


3. Rimozione e Sostituzione Fisica

Rimuovi logicamente le partizioni dall’array:

mdadm --manage /dev/md0 --remove /dev/sda1
mdadm --manage /dev/md1 --remove /dev/sda2

Spegni la macchina (se non supporta hot-swap) e sostituisci fisicamente il disco:

sudo poweroff

4. Configurazione del Nuovo Disco

Una volta riavviato il sistema con il nuovo disco vergine, dobbiamo replicare la tabella delle partizioni del disco sano (es. /dev/sdb) su quello nuovo (/dev/sda).

# Copia la struttura delle partizioni da sdb a sda
sfdisk -d /dev/sdb | sfdisk /dev/sda
💡
**Consiglio:** Se usi partizioni GPT, potresti preferire l'uso di `sgdisk --replicate=/dev/sda /dev/sdb`.

5. Inserimento nel RAID e Resilvering

Infine, aggiungiamo le nuove partizioni all’array per far partire la ricostruzione automatica:

mdadm --manage /dev/md0 --add /dev/sda1
mdadm --manage /dev/md1 --add /dev/sda2

Monitoraggio della ricostruzione

Puoi seguire il progresso della ricostruzione (resync) in tempo reale:

watch cat /proc/mdstat

Ricostruzione RAID

Una volta terminato, lo stato tornerà su [UU] e il tuo array sarà nuovamente protetto.