Convertire RAID1/0 (LV o MD) in RAID5: metodi sicuri per i dati
In questo tutorial ti guidiamo attraverso il processo passo dopo passo per convertire configurazioni LV o MD RAID1/0 in RAID5 senza interruzioni (su Linux, con mdadm o LVM). Dalla comprensione dei prerequisiti all’esecuzione sicura della conversione, forniamo suggerimenti pratici e indicazioni esperte per garantire una transizione fluida preservando intatti i tuoi dati importanti. Che tu sia un sysadmin o un appassionato di tecnologia, questo articolo ti fornisce le conoscenze e gli strumenti per aggiornare la tua configurazione RAID con fiducia.

- Come convertire RAID 1 (mirroring) in RAID 5 (parità)
- Come convertire RAID 0 (striping) in RAID 5 (parità)
- Come convertire LVRAID1 in LVRAID5
- Come convertire LVRAID0 in LVRAID5
- Come recuperare i dati da sistemi RAID danneggiati
- Conclusione
- Domande e risposte
- Commenti
RAID 0 è noto per tempi di accesso ai dati relativamente rapidi, ed è per questo che viene scelto principalmente per il notevole aumento della velocità delle operazioni di lettura e scrittura. Tuttavia, la sua affidabilità e tolleranza ai guasti lasciano molto a desiderare. Anche se uno dei dischi si guasta, tutti i dati nell’array verranno persi. Recuperare le informazioni da questo tipo di array è una sfida, e anche in quel caso tutti i dati recuperabili saranno quasi certamente danneggiati. In effetti, questo tipo non è molto un array ridondante poiché non offre alcuna ridondanza.
I migliori strumenti per il recupero dati da RAID
Al contrario, RAID 1 è una soluzione molto affidabile e tollerante ai guasti, poiché tutti i dati vengono duplicati sull’altro disco, creando una copia mirror delle informazioni sull’altro supporto. Tuttavia, questo approccio influisce sulle velocità di lettura e scrittura dell’intero array, risultando generalmente più lento nell’accesso ai dati rispetto ai sistemi RAID 0.
Se hai un disco di scorta, puoi aggiornare l’esistente array RAID 1 a RAID 5. In questo modo otterrai una migliore affidabilità rispetto a quanto offerto da RAID 0 e un notevole aumento delle prestazioni di lettura/scrittura rispetto a RAID 1. Alla fine, otterrai un sistema RAID 5, che è affidabile, tollerante ai guasti e sufficientemente performante per elaborare i dati più rapidamente di prima.
| Parametro | RAID 0 | RAID 1 | RAID 5 |
|---|---|---|---|
| Struttura | Striping | Mirroring | Striping con parità |
| Numero di dischi | Minimo 2 | Minimo 2 | Minimo 3 |
| Prestazioni | Elevate | Medie | Elevate |
| Utilizzo dello spazio | 100% | 50% | (n-1)/n |
| Affidabilità | Bassa | Alta | Media |
| Recupero | Nessuno | Facile | Più complesso |
| Caso d’uso | Per velocità | Per dati critici | Per equilibrio tra velocità e affidabilità |
Come convertire RAID 1 (mirroring) in RAID 5 (parità)
Bene, abbiamo un sistema software md_RAID1 creato su un sistema operativo Linux. Questo array è composto da due dischi.

Dobbiamo convertirlo in RAID 5 e poi aggiungere un altro disco, assicurandoci che tutti i dati dell’array non vengano persi. Ci sono diversi file: foto, video, documenti e così via.

Prima di iniziare la conversione, si raccomanda di eseguire un backup delle informazioni importanti perché un errore durante la digitazione dei comandi può cancellare dati rilevanti.
Apri il terminale ed esegui questo comando per assicurarti che tutte le operazioni siano eseguite con i privilegi di superutente:
sudo -i
e inserisci la password.

Se l'array di dischi è montato, devi smontarlo con questo comando:
umount /dev/md0
o
umount /mnt

Se il sistema operativo indica che la destinazione è occupata, prova a forzare l'azione:
umount -f /dev/md0

Dopo di ciò, devi arrestare il tuo sistema RAID 1 con il comando seguente:
mdadm --stop /dev/md0
(se sia md0 o un altro nome dipende dal percorso, che deve essere verificato)
dove md0 è l'identificatore del tuo sistema RAID.

Ovviamente non puoi arrestarlo se questo è il sistema RAID da cui esegui il boot; in tal caso dovrai usare una LiveCD.
Ora devi sovrascrivere i metadati del vecchio sistema RAID 1; per farlo, crea un sistema RAID 5 con gli stessi dischi che erano inclusi nel RAID 1 - sdb e sdc - digitando questo comando:
mdadm --create /dev/md0 -a yes -l 5 -n 2 /dev/sdb1 /dev/sdc1
dove,
-l 5 imposta il livello dell'array,
-n 2 imposta il numero di dischi che include, e poi vengono specificati tali dischi.

Quando il comando viene eseguito, il programma ti avviserà che questi dischi sono già usati in un sistema RAID 1, quindi premi Invio per continuare.
Per verificare se la conversione è andata a buon fine, digita questo comando:
cat /proc/mdstat

Ora non ti resta che attendere che il RAID 5 venga costruito: lo stato di questo processo è mostrato in percentuale.
Quando è terminato, il comando cat /proc/mdstat visualizzerà i dati seguenti.

Dopo di ciò puoi aggiungere un nuovo disco all'array e renderlo un sistema RAID 5 completo. Questo nuovo disco sarà aggiunto come spare. Usa il seguente comando per questo passaggio:
mdadm --add /dev/md0 /dev/sdd1

Dopo di ciò, estendi il sistema RAID ai tre dischi attivi (incluso ora il disco spare) con questo comando:
mdadm --grow /dev/md0 --raid-disks=3
Controlla il risultato con il comando cat /proc/mdstat:
cat /proc/mdstat

Ora puoi vedere che il sistema RAID utilizza tre dischi - sdb, sdc, sdd - e il processo di conversione (reshape) è iniziato.
Il suo avanzamento è mostrato in percentuale; attendi fino al completamento.
Infine, verifica l'array di dischi per errori con il seguente comando:
e2fsck -f /dev/md0
e usa un altro comando per estenderlo:
resize2fs -p /dev/md0

Infine, l'ultimo comando aggiorna il file di configurazione:
mdadm --examine --scan >> /etc/mdadm.conf

Se non si verificano errori durante l'esecuzione di questi comandi, tutti i dati esistenti sul tuo sistema RAID 1 saranno trasferiti nel nuovo RAID 5.
Montalo e verifica lo stato: come puoi vedere, tutti i file sono ancora presenti e il tipo di array è cambiato in RAID 5.

Come convertire RAID 0 (striping) in RAID 5 (parità)
Tuttavia, non puoi utilizzare questo metodo per passare da RAID 0 a RAID 5 senza formattare e perdere tutti i dati. Esiste però un modo per convertirlo rapidamente con un singolo comando.
La migrazione da RAID 0 a RAID 5 è possibile solo quando sono presenti due dischi - in tal caso RAID 0 coincide con RAID 5 in termini di struttura. Tutte le modifiche interesseranno solo il livello dell'array, mentre le informazioni sui dischi rimarranno intatte.
Ecco il comando che trasforma un RAID 0 composto da due dischi in un RAID 5 che include tre dischi.
mdadm --grow /dev/md0 --level=5 --raid-devices=3 --add /dev/sdd --backup-file=/tmp/grow_md0.bak
Prima di eseguirlo, smonta l'array.
Verifica il risultato con il comando:
cat /proc/mdstat
Attendi fino al completamento dell'operazione di reshape.

Dopo aver cambiato il tipo di array in RAID 5, puoi aggiungere altri dischi con il comando già menzionato in questo tutorial:
mdadm --add /dev/md0 /dev/sdc1

Dopo il riavvio, il nome dell'array cambierà in RAID 5.
Se il sistema RAID 0 contiene più di due dischi, è necessario ridurne il numero; solo allora sarà possibile convertire l'array in RAID 5.
Come convertire LVRAID1 in LVRAID5
Se hai utilizzato le funzionalità LVM per creare un sistema RAID, allora puoi convertirlo da un tipo di array a un altro con il comando lvconvert:
lvconvert
Esegui il comando
pvdisplay
per visualizzare le informazioni su questo gruppo di dischi.

Se vuoi sapere di più sulla creazione di sistemi MD e LV RAID, controlla uno dei video precedenti seguendo il link qui sotto.
Per avviare la conversione, smonta il volume logico. Digita il comando:
umount /dev/vg1/lv1
Usa il seguente comando per cambiare il livello RAID:
lvconvert --type raid5 /dev/vg1/lv1
L'ultimo passaggio è aggiungere il terzo disco al gruppo esistente di dischi con questo comando:
vgextend vg1 /dev/sdd1
Quando lo esegui, il programma ti avviserà che il disco è già formattato. Digita “y” per confermare e premi Invio.
Per assicurarti che il disco sia stato aggiunto al gruppo, usa questo comando:
pvdisplay
Ora puoi vedere che il gruppo è composto da tre dischi.

Rimonta l'array e aprilo nel file manager: tutti i dati sono presenti, nulla è stato perso.

Come convertire LVRAID0 in LVRAID5
Lo stesso comando viene utilizzato per passare da RAID 0 a RAID 5. L'unico passaggio importante è aggiungere il terzo disco al gruppo prima di iniziare la conversione; altrimenti vedrai l'avviso che non hai spazio sufficiente per eseguire questo comando.
Aggiungi il terzo disco:
vgextend vg1 /dev/sdd1
Usa il seguente comando per cambiare il livello RAID:
lvconvert --type raid5 /dev/vg1/lv1
Rimonta l'array e verifica quali informazioni sono disponibili. Come puoi vedere, tutti i file sono presenti.

Come recuperare i dati da sistemi RAID danneggiati
Se si è verificato un errore durante la conversione da un livello RAID a un altro, o se hai cancellato accidentalmente delle informazioni, utilizza uno strumento affidabile di recupero dati - Hetman RAID Recovery. L'utilità legge dal sistema di archiviazione tutte le informazioni sul controller, sulla scheda madre o sul software utilizzato per creare l'array di dischi.

Il nostro prodotto può ricostruire il RAID danneggiato e permette di copiare tutte le informazioni critiche da esso.

Trova maggiori informazioni sul recupero di MD e LV RAID in uno dei video precedenti - inserirò il link nella descrizione come sempre.
Conclusione
La modifica da un livello RAID a un altro può richiedere diversi passaggi. Innanzitutto si converte l'array in un tipo intermedio e poi lo si trasforma nel tipo desiderato. Ad esempio, per convertire RAID 1 in RAID 6, è necessario trasformarlo prima in RAID 5 e solo successivamente in un sistema RAID 6.

