Guida alle tecnologie

Espandere un array RAID degradato

4 min read Linux Sysadmin Aggiornato 22 Sep 2025
Espandere un array RAID degradato con mdadm e LVM
Espandere un array RAID degradato con mdadm e LVM

TL;DR

Espandi un array RAID degradato rimuovendo il device difettoso, azzerando il superblock, avviando il sistema di recupero, aumentando l’array con mdadm, ridimensionando il PV e infine il LV e il filesystem. Importante: azzerare il superblock su /dev/sda5 prima di riaggiungerlo.

Panoramica

Questa guida spiega i passaggi per crescere (grow) un array RAID degradato usando mdadm e LVM. Le istruzioni coprono la rimozione del disco, l’azzeramento del superblock, l’attivazione in ambiente rescue, l’espansione dell’array, il ridimensionamento del PV/LV e il ripristino della sincronizzazione tra dischi.

Passo 1 — Verificare e rimuovere il device difettoso

Prima di entrare nel sistema di rescue, assicurati che /dev/sda5 sia realmente rimosso dall’array:

mdadm --manage /dev/md1 --fail /dev/sda5
mdadm --manage /dev/md1 --remove /dev/sda5

Questi comandi marcano la periferica come fallita e la rimuovono dall’array. Verifica lo stato con cat /proc/mdstat dopo la rimozione.

Importante

Azzerare il superblock su /dev/sda5 è fondamentale. Se lo dimentichi, il sistema potrebbe non avviarsi correttamente dopo il ridimensionamento.

mdadm --zero-superblock /dev/sda5

Passo 2 — Avviare il sistema di rescue e caricare i moduli necessari

Avvia il rescue system (ad es. una live di Knoppix o simile) e attiva i moduli kernel necessari:

modprobe md
modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10

Quindi attiva gli array RAID e aggiorna la configurazione di mdadm:

cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
mdadm -A --scan

Avvia anche LVM:

/etc/init.d/lvm start

Passo 3 — Crescere l’array e il PV

Adesso puoi ingrandire /dev/md1 al massimo spazio disponibile:

mdadm --grow /dev/md1 --size=max

–size=max indica il valore massimo possibile. In alternativa puoi specificare la dimensione in KiB.

Quindi ridimensiona il PV LVM sulla nuova dimensione dell’array:

pvresize /dev/md1

Controlla lo stato del volume group:

vgdisplay

Esempio di output:

root@Knoppix:~# vgdisplay
--- Volume group ---
VG Name               server1
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  29
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               0
Max PV                0
Cur PV                1
Act PV                1
VG Size               4.75 GB
PE Size               4.00 MB
Total PE              1217
Alloc PE / Size       1023 / 4.00 GB
Free  PE / Size       194 / 776.00 MB
VG UUID               X3ZYTy-39yq-20k7-GCGk-vKVU-Xe0i-REdEu0

root@Knoppix:~#

Nell’esempio ci sono 194 PE (Physical Extents) liberi per un totale di circa 776 MB disponibili per l’LV.

Passo 4 — Estendere l’LV e il filesystem

Alloca i PE liberi al Logical Volume root:

lvextend -l +194 /dev/server1/root

Esegui un controllo del filesystem immediatamente prima del ridimensionamento:

e2fsck -f /dev/server1/root

Ridimensiona il filesystem ext2/3/4:

resize2fs /dev/server1/root

Esegui un secondo controllo post-resize:

e2fsck -f /dev/server1/root

Dopo questi passi, il filesystem sfrutterà lo spazio aggiuntivo dell’LV.

Passo 5 — Riaggiungere il disco rimosso e ricostruire l’array

Riavvia sul sistema normale e aggiungi /dev/sda5 nuovamente all’array /dev/md1. Prima azzera il superblock (se non l’hai già fatto):

mdadm --zero-superblock /dev/sda5
mdadm -a /dev/md1 /dev/sda5

Controlla lo stato di sincronizzazione:

cat /proc/mdstat

Dovresti vedere che /dev/sdb5 e /dev/sda5 sono sincronizzati o in fase di sincronizzazione.

Cosa può andare storto e come intervenire

  • Errore: mdadm non trova l’array. Controlla che i moduli kernel md siano caricati e che mdadm.conf contenga le definizioni corrette.
  • pvresize non aumenta il PV: verifica che /dev/md1 sia stato realmente cresciuto e che non ci siano snapshot o LVs che limitano l’operazione.
  • resize2fs fallisce: assicurati che il filesystem sia supportato (ext2/3/4). Per XFS usa xfs_growfs dopo aver esteso il LV.
  • Il sistema non si avvia dopo il resize: ricontrolla fstab, UUID dei dischi e la presenza dei superblock errati sui dispositivi.

Alternative e approcci diversi

  • Ricostruire l’array su nuovi dischi invece di riutilizzare il disco rimosso.
  • Usare backup + restore in caso di danni al filesystem che impediscono il resize.
  • Se usi filesystem diversi (es. XFS), segui gli strumenti specifici (xfs_admin, xfs_growfs).

Checklist rapida (Playbook)

  • Confermare quale device è degradato (/proc/mdstat)
  • Fail e remove del device degradato
  • mdadm –zero-superblock sul device rimosso
  • Avviare rescue e caricare moduli
  • mdadm –examine –scan e mdadm -A –scan
  • pvresize su /dev/md1
  • Controllare vgdisplay per PE liberi
  • lvextend e e2fsck / resize2fs
  • Riaggiungere il device e verificare cat /proc/mdstat

Cheat sheet comandi principali

  • Fail e rimuovere: mdadm –manage /dev/md1 –fail /dev/sda5; mdadm –manage /dev/md1 –remove /dev/sda5
  • Azzerare superblock: mdadm –zero-superblock /dev/sda5
  • Crescere array: mdadm –grow /dev/md1 –size=max
  • Ridimensionare PV: pvresize /dev/md1
  • Estendere LV: lvextend -l + /dev//
  • Controllo filesystem: e2fsck -f /dev//
  • Resize filesystem ext4: resize2fs /dev//

Glossario breve

  • RAID: Redundant Array of Independent Disks, insieme di dischi gestiti come array.
  • mdadm: Utility per gestire MD (Multiple Device) RAID su Linux.
  • PV/PVresize: Physical Volume LVM; pvresize aggiorna la dimensione del PV.
  • LV: Logical Volume, volume logico gestito da LVM.
  • PE: Physical Extent, unità minima di allocazione in LVM.

Collegamenti

Riepilogo finale

Rimuovere correttamente il disco degradato e azzerare il superblock sono passi critici. Carica i moduli in rescue, usa mdadm –grow e pvresize per aumentare la capienza, quindi estendi l’LV e il filesystem. Infine, riaggiungi il disco e verifica la sincronizzazione.

Nota: mantieni sempre backup aggiornati prima di operazioni su array e LVM.

Autore
Redazione

Materiali simili

Catturare dati di rete su Android in 10 passaggi
Android Sicurezza

Catturare dati di rete su Android in 10 passaggi

Hai una vita? Recensione di The No Life Test
Recensioni App

Hai una vita? Recensione di The No Life Test

Foto RAW su Chromebook con Darktable
Fotografia

Foto RAW su Chromebook con Darktable

Espandere un array RAID degradato con mdadm e LVM
Linux Sysadmin

Espandere un array RAID degradato con mdadm e LVM

TextNow: reindirizzato a Recover Your Account — come risolvere
Supporto

TextNow: reindirizzato a Recover Your Account — come risolvere

3 modi per riavere il pulsante View Image
Guide.

3 modi per riavere il pulsante View Image