Come creare array RAID usando MDADM su Ubuntu

Come creare array RAID usando MDADM su Ubuntu
RAID è una piattaforma di virtualizzazione per l'archiviazione dei dati che integra diverse unità a disco fisico in una o più unità logiche. Sulla base del livello richiesto di affidabilità ed efficienza, i dati sono sparsi tra le unità in uno dei tanti modi, indicati come livelli di RAID. Diversi sistemi sono noti come "raid" seguiti da un numero intero, come RAID 0 o RAID 1. Ogni sistema, o livello di raid, fornisce un equilibrio diverso tra gli obiettivi chiave, i.e. stabilità, usabilità, prestazioni e forza.

RAID utilizza i metodi di mirroring del disco o di striping del disco, il mirroring su più di un'unità coprirebbe dati simili. Strizione di partizione consente la distribuzione di dati in molte unità a disco. La capacità di archiviazione di ciascuna unità è divisa in unità che vanno da un settore (512 byte) fino a più megabyte. Livelli di RAID superiori a RAID 0 offrono protezione contro errori di lettura non riparabili sul campo, nonché contro interi guasti dell'unità fisica.

I dispositivi RAID sono distribuiti tramite il driver dell'applicazione MD. L'array RAID del software Linux attualmente supporta RAID 0 (Strip), RAID 1 (Mirror), RAID 4, RAID 5, RAID 6 e RAID 10. MDADM è un'utilità Linux utilizzata per controllare e gestire i dispositivi RAID per le applicazioni. Diverse modalità operative core di MDADM sono assemblate, costruite, creano, seguono, monitorano, crescono, incrementali e auto-riletti. Il nome deriva dai nodi dei dispositivi multipli (MD) che controlla o gestisce. Diamo un'occhiata a creare diversi tipi di array di raid usando MDADM.

Creazione di un array RAID 0:

RAID 0 è il meccanismo attraverso il quale i dati sono separati in blocchi e tali blocchi sono sparsi attraverso vari dispositivi di archiviazione come i dischi rigidi. Significa che ogni disco detiene una parte dei dati e durante l'accesso a tali dati, verrebbero referenziati diversi dischi. In RAID 0, poiché i blocchi sono a strisce, le sue prestazioni sono eccellenti, ma a causa di nessuna strategia di mirroring, un singolo fallimento del dispositivo distruggerebbe tutti i dati.

Per iniziare, è necessario prima identificare i dispositivi componenti utilizzando il seguente comando:

ubuntu@ubuntu: ~ $ lsblk -o nome, dimensione, tipo

Abbiamo due dischi senza un filesystem, ogni 50 g di dimensioni, come possiamo vedere dallo screenshot. In questo caso, gli identificatori /dev /ch1 e /dev /ch2 sono stati dati a questi dispositivi per questa sessione. Questi sono componenti grezzi che useremo per creare l'array.

Per utilizzare questi componenti per creare un array RAID 0, specificarli nel comando -create. Dovrai definire il nome del sistema che vuoi creare (nel nostro caso, /dev /mch0), il livello di raid, i.e. 0 e il numero di dispositivi:

ubuntu@ubuntu: ~ $ sudo mdadm --create --verbose /dev /mch0 --level = 0
--RAID-Devices = 2 /dev /ch1 /dev /ch2

Testando il registro /proc /mdstat, possiamo garantire che il RAID sia stato creato correttamente:

ubuntu@ubuntu: ~ $ cat /proc /mdstat

Il sistema /dev /mch0 è stato creato con i dispositivi /dev /ch2 e /dev /ch1 nella configurazione RAID 0. Ora montare il file system su quell'array usando il comando seguente:

ubuntu@ubuntu: ~ $ sudo mkfs.ext4 -f /dev /mch0

Ora, crea un punto di montaggio e montare il filesystem con i seguenti comandi:

ubuntu@ubuntu: ~ $ sudo mkdir -p /mnt /mch0
ubuntu@ubuntu: ~ $ sudo monte /dev /mch0 /mnt /mch0

Controlla se c'è un nuovo spazio disponibile o no:

ubuntu@ubuntu: ~ $ df -h -x devtmpfs -x tmpfs

Ora dobbiamo cambiare/etc/mdadm/mdadm.FILE Conf per assicurarsi che l'elenco sia riassemblato automaticamente all'avvio. Cercherai automaticamente l'array corrente, collegherai il file e aggiornerai il filesystem RAM iniziale mediante la seguente sequenza di comandi:

ubuntu@ubuntu: ~ $ sudo mdadm -detail -scan | sudo tee -a/etc/mdadm/mdadm.conf
ubuntu@ubuntu: ~ $ sudo update -iniTramfs -u

Per montare automaticamente all'avvio, aggiungi nuove opzioni di montaggio del file system nel file ETC/FSTAB disponibile:

Ogni avvio può ora aggiungere automaticamente l'array raid 0 e montare.

Creazione di un array RAID 5:

Gli array RAID 5 vengono creati spogliando i dati insieme a vari dispositivi. Un blocco di parità misurato è una parte di ogni striscia. Il blocco di parità e i blocchi rimanenti verranno utilizzati per determinare i dati mancanti nel caso in cui il dispositivo fallisca. Il sistema che ottiene il blocco di parità è ruotato in modo tale che vi sia una somma bilanciata delle informazioni di parità per ciascun dispositivo. Mentre le informazioni sulla parità sono condivise, il valore di archiviazione di un disco può essere utilizzato per la parità. In uno stato danneggiato, RAID 5 soffrirà di risultati molto scarsi.

Per creare l'array RAID 5, dobbiamo prima identificare i dispositivi componenti come identificato in RAID 0. Ma in Raid 5 dovremmo avere almeno 3 dispositivi di archiviazione. Trova gli identificatori per questi dispositivi utilizzando il seguente comando:

ubuntu@ubuntu: ~ $ lsblk -o nome, dimensione, tipo

Utilizzare il comando -Crea per creare un array RAID 5 ma utilizzare il valore 5 per "livello" in questo caso.

ubuntu@ubuntu: ~ $ sudo mdadm --create --verbose /dev /md0 --level = 5
--RAID-Devices = 3 /dev /sda /dev /sdb /dev /sdc

Questo può richiedere un certo tempo per completare, anche durante questo periodo, può essere utilizzato l'array. Testando il registro /proc /mdstat, è possibile tracciare l'avanzamento della creazione:

ubuntu@ubuntu: ~ $ cat /proc /mdstat

Ora, crea e montare il filesystem sull'array eseguendo la seguente sequenza di comandi:

ubuntu@ubuntu: ~ $ sudo mkfs.ext4 -f /dev /md0
ubuntu@ubuntu: ~ $ sudo mkdir -p /mnt /md0
ubuntu@ubuntu: ~ $ sudo monte /dev /md0 /mnt /md0

Dopo aver montato questo, puoi confermare se è accessibile o no ::

ubuntu@ubuntu: ~ $ df -h -x devtmpfs -x tmpfs

Per l'assemblaggio automatico e il montaggio di array RAID 5 ad ogni avvio, è necessario regolare gli initRamf e aggiungere il filesystem creato di recente al file FSTAB eseguendo questi comandi:

Conclusione:

RAID fornisce efficienza e stabilità combinando più dischi rigidi insieme. In questo modo, dà al sistema un disco rigido di grande capacità con una velocità molto migliore delle normali unità partizionate. D'altra parte, non facilita la ridondanza e la tolleranza agli errori e, nel caso, un'unità fallisce tutti i dati si perdono.