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.

Convertire RAID1/0 (LV o MD) in RAID5: metodi sicuri per i dati

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.

Vai a vedere
I migliori strumenti per il recupero dati da RAID

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.

Un sistema RAID 1 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.

File memorizzati nell'array di dischi

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.

Accesso ai privilegi di root

Se l'array di dischi è montato, devi smontarlo con questo comando:

umount /dev/md0

o

umount /mnt

Smontare l'unità di archiviazione

Se il sistema operativo indica che la destinazione è occupata, prova a forzare l'azione:

umount -f /dev/md0

Smontaggio forzato in Linux

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.

Arresto dell'array

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.

Ricarica dei metadati da RAID 1 a RAID 5

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

Processo di ricostruzione

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.

L'array è stato ricostruito in un nuovo tipo

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

Aggiunta del terzo disco

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

Espansione del RAID a un sistema a tre dischi

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

Verifica della presenza di errori

Infine, l'ultimo comando aggiorna il file di configurazione:

mdadm --examine --scan >> /etc/mdadm.conf

Aggiornamento del file di configurazione

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.

Tutti i file sono rimasti intatti

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.

Conversione di RAID 0 in RAID 5

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

Aggiunta di dischi al sistema RAID

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.

Visualizza le informazioni sui dischi che compongono il RAID

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.

Aggiungere un nuovo disco al gruppo

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

Tutte le informazioni sono preservate

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.

Tutte le informazioni sono rimaste invariate

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.

Recupero dei dati da array RAID danneggiati e inaccessibili al computer.
Il programma ha identificato l'array senza difficoltà

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

Il programma ha trovato tutti i dati cancellati e possono essere recuperati

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.

Anton Kryvoruchko

Autore: , Scrittore tecnico

Anton Kryvoruchko è traduttore dall'italiano, dall'inglese, dal francese e dal polacco. Ha molti anni di esperienza e lavora con testi di vario argomento: dalla narrativa e testi tecnici alle riviste scientifiche popolari. Lavora costantemente per migliorare le sue conoscenze e competenze, perciò nel tempo libero impara anche il tedesco e lo spagnolo.

Mykhailo Miroshnichenko

Editore: , Scrittore tecnico

Mykhaylo Miroshnychenko è uno dei programmatori principali di Hetman Software. Avendo già quindici anni di esperienza nello sviluppo di software condivide le sue conoscenze con i lettori del nostro blog. Oltre alla programmazione, Mykhaylo è anche un esperto di recupero di dati, di file system, di dispositivi di archiviazione e di array RAID.