Ricerca nel sito web

Creazione di RAID 5 (striping con parità distribuita) in Linux - Parte 4


In RAID 5, i dati vengono suddivisi su più unità con parità distribuita. Lo striping con parità distribuita significa che suddividerà le informazioni di parità e i dati verranno distribuiti su più dischi, garantendo una buona ridondanza dei dati.

Per il livello RAID dovrebbe avere almeno tre dischi rigidi o più. RAID 5 viene utilizzato negli ambienti di produzione su larga scala dove è conveniente e fornisce prestazioni e ridondanza.

Cos'è la parità?

La parità è il metodo comune più semplice per rilevare errori nell'archiviazione dei dati. La parità memorizza le informazioni in ciascun disco. Supponiamo di avere 4 dischi, in 4 dischi uno spazio su disco verrà suddiviso in tutti i dischi per memorizzare le informazioni sulla parità. Se uno qualsiasi dei dischi continua a guastarsi, è possibile ottenere i dati ricostruendoli dalle informazioni di parità dopo aver sostituito il disco guasto.

Pro e contro di RAID 5

  1. Fornisce prestazioni migliori
  2. Supporta ridondanza e tolleranza agli errori.
  3. Supporta opzioni hot spare.
  4. Perderà la capacità di un singolo disco per l'utilizzo delle informazioni di parità.
  5. Nessuna perdita di dati in caso di guasto di un singolo disco. Possiamo ricostruire dalla parità dopo aver sostituito il disco guasto.
  6. Si adatta ad un ambiente orientato alle transazioni poiché la lettura sarà più veloce.
  7. A causa del sovraccarico della parità, la scrittura sarà lenta.
  8. La ricostruzione richiede molto tempo.

Requisiti

Per creare Raid 5 sono necessari almeno 3 dischi rigidi, ma puoi aggiungere più dischi solo se disponi di un controller raid hardware dedicato con più porte. In questo caso utilizziamo il software RAID e il pacchetto "mdadm" per creare un raid.

mdadm è un pacchetto che permette di configurare e gestire i dispositivi RAID in Linux. Per impostazione predefinita non è disponibile alcun file di configurazione per RAID, dobbiamo salvare il file di configurazione dopo aver creato e configurato l'impostazione RAID in un file separato chiamato mdadm.conf.

Prima di procedere oltre, ti suggerisco di consultare i seguenti articoli per comprendere le basi del RAID in Linux.

  1. Concetti di base del RAID in Linux – Parte 1
  2. Creazione di RAID 0 (Stripe) in Linux – Parte 2
  3. Configurazione di RAID 1 (Mirroring) in Linux – Parte 3
La mia configurazione del server
Operating System :	CentOS 6.5 Final
IP Address	 :	192.168.0.227
Hostname	 :	rd5.tecmintlocal.com
Disk 1 [20GB]	 :	/dev/sdb
Disk 2 [20GB]	 :	/dev/sdc
Disk 3 [20GB]	 :	/dev/sdd

Questo articolo è la Parte 4 di una serie di 9 tutorial RAID, qui configureremo un software RAID 5 con parità distribuita in sistemi o server Linux utilizzando tre dischi da 20 GB denominato /dev/sdb, /dev/sdc e /dev/sdd.

Passaggio 1: installazione di mdadm e verifica delle unità

1. Come abbiamo detto in precedenza, stiamo utilizzando la versione finale di CentOS 6.5 per questa configurazione raid, ma gli stessi passaggi possono essere seguiti per la configurazione RAID in qualsiasi distribuzione basata su Linux.

lsb_release -a
ifconfig | grep inet

2. Se stai seguendo la nostra serie di raid, presumiamo che tu abbia già installato il pacchetto 'mdadm', in caso contrario, utilizza il seguente comando in base al tuo Linux distribuzione per installare il pacchetto.

yum install mdadm		[on RedHat systems]
apt-get install mdadm 	[on Debain systems]

3. Dopo l'installazione del pacchetto "mdadm", elenchiamo i tre dischi da 20 GB che abbiamo aggiunto al nostro sistema utilizzando il comando "fdisk".

fdisk -l | grep sd

4. Ora è il momento di esaminare le tre unità collegate per eventuali blocchi RAID esistenti su queste unità utilizzando il seguente comando.

mdadm -E /dev/sd[b-d]
mdadm --examine /dev/sdb /dev/sdc /dev/sdd

Nota: dall'immagine sopra è illustrato che non è stato ancora rilevato alcun superblocco. Pertanto, non esiste un RAID definito in tutte e tre le unità. Iniziamo a crearne uno adesso.

Passaggio 2: partizionamento dei dischi per RAID

5. Innanzitutto dobbiamo partizionare i dischi (/dev/sdb, /dev/sdc e / dev/sdd) prima di aggiungerlo a un RAID, definiamo quindi la partizione utilizzando il comando 'fdisk', prima di inoltrarlo ai passaggi successivi.

fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
Crea la partizione /dev/sdb

Segui le istruzioni seguenti per creare una partizione sull'unità /dev/sdb.

  1. Premi "n" per creare una nuova partizione.
  2. Quindi scegli "P" per la partizione primaria. Qui stiamo scegliendo Primario perché non ci sono ancora partizioni definite.
  3. Quindi scegli "1" come prima partizione. Per impostazione predefinita, sarà 1.
  4. Qui per la dimensione del cilindro, non dobbiamo scegliere la dimensione specificata perché abbiamo bisogno dell'intera partizione per RAID, quindi basta premere Invio due volte per scegliere la dimensione intera predefinita.
  5. Quindi premi "p" per stampare la partizione creata.
  6. Cambia il tipo, se abbiamo bisogno di conoscere tutti i tipi disponibili premi "L".
  7. Qui selezioniamo "fd" poiché il mio tipo è RAID.
  8. Quindi premi "p" per stampare la partizione definita.
  9. Quindi utilizza nuovamente "p" per stampare le modifiche apportate.
  10. Utilizza "w" per scrivere le modifiche.

Nota: dobbiamo seguire i passaggi sopra menzionati per creare partizioni anche per le unità sdc e sdd.

Crea la partizione /dev/sdc

Ora partiziona le unità sdc e sdd seguendo i passaggi indicati nello screenshot oppure puoi seguire i passaggi precedenti.

fdisk /dev/sdc

Crea la partizione /dev/sdd
fdisk /dev/sdd

6. Dopo aver creato le partizioni, controlla le modifiche in tutte e tre le unità sdb, sdc e sdd.

mdadm --examine /dev/sdb /dev/sdc /dev/sdd

or

mdadm -E /dev/sd[b-d]

Nota: nella foto sopra. raffigurare il tipo è fd cioè per RAID.

7. Ora controlla i blocchi RAID nelle partizioni appena create. Se non vengono rilevati superblocchi, possiamo procedere con la creazione di una nuova configurazione RAID 5 su queste unità.

Passaggio 3: creazione del dispositivo md md0

8. Ora crea un dispositivo Raid 'md0' (ad esempio /dev/md0) e includi il livello raid su tutte le partizioni appena create (sdb1, sdc1 e sdd1) utilizzando il comando seguente.

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

or

mdadm -C /dev/md0 -l=5 -n=3 /dev/sd[b-d]1

9. Dopo aver creato il dispositivo raid, controlla e verifica il RAID, i dispositivi inclusi e il livello RAID dall'output mdstat.

cat /proc/mdstat

Se vuoi monitorare il processo di costruzione corrente, puoi usare il comando 'watch', basta passare attraverso 'cat /proc/mdstat' con il comando watch che aggiorna lo schermo ogni 1 secondo.

watch -n1 cat /proc/mdstat

10. Dopo la creazione del raid, verifica i dispositivi raid utilizzando il seguente comando.

mdadm -E /dev/sd[b-d]1

Nota: l'output del comando precedente sarà un po' lungo poiché stampa le informazioni di tutte e tre le unità.

11. Successivamente, verifica l'array RAID per presumere che i dispositivi che abbiamo incluso nel livello RAID siano in esecuzione e abbiano iniziato a risincronizzarsi.

mdadm --detail /dev/md0

Passaggio 4: creazione del file system per md0

12. Crea un file system per il dispositivo "md0" utilizzando ext4 prima del montaggio.

mkfs.ext4 /dev/md0

13. Ora crea una directory sotto '/mnt' quindi monta il filesystem creato sotto /mnt/raid5 e controlla i file nel punto di montaggio, vedrai la directory lost+found.

mkdir /mnt/raid5
mount /dev/md0 /mnt/raid5/
ls -l /mnt/raid5/

14. Crea alcuni file nel punto di montaggio /mnt/raid5 e aggiungi del testo in uno qualsiasi dei file per verificare il contenuto.

touch /mnt/raid5/raid5_tecmint_{1..5}
ls -l /mnt/raid5/
echo "tecmint raid setups" > /mnt/raid5/raid5_tecmint_1
cat /mnt/raid5/raid5_tecmint_1
cat /proc/mdstat

15. Dobbiamo aggiungere una voce in fstab, altrimenti non verrà visualizzato il nostro punto di montaggio dopo il riavvio del sistema. Per aggiungere una voce, dovremmo modificare il file fstab e aggiungere la seguente riga come mostrato di seguito. Il punto di montaggio varierà in base all'ambiente.

vim /etc/fstab

/dev/md0                /mnt/raid5              ext4    defaults        0 0

16. Successivamente, esegui il comando "mount -av" per verificare se sono presenti errori nella voce fstab.

mount -av

Passaggio 5: salva la configurazione di Raid 5

17. Come accennato in precedenza nella sezione dei requisiti, per impostazione predefinita RAID non ha un file di configurazione. Dobbiamo salvarlo manualmente. Se questo passaggio non viene seguito, il dispositivo RAID non sarà in md0, sarà in un altro numero casuale.

Quindi, dobbiamo salvare la configurazione prima di riavviare il sistema. Se la configurazione viene salvata, verrà caricata nel kernel durante il riavvio del sistema e verrà caricato anche il RAID.

mdadm --detail --scan --verbose >> /etc/mdadm.conf

Nota: il salvataggio della configurazione manterrà stabile il livello RAID nel dispositivo md0.

Passaggio 6: aggiunta di unità di riserva

18. A cosa serve aggiungere un'unità di riserva? è molto utile se disponiamo di un'unità di riserva, se uno qualsiasi dei dischi nel nostro array si guasta, questa unità di riserva si attiverà e ricostruirà il processo e sincronizzerà i dati da altri dischi, quindi possiamo vedere una ridondanza qui.

Per ulteriori istruzioni su come aggiungere un'unità di riserva e verificare la tolleranza agli errori di Raid 5, leggi #Step 6 e #Step 7 nel seguente articolo.

  1. Aggiungi l'unità di riserva alla configurazione di Raid 5

Conclusione

Ecco, in questo articolo, abbiamo visto come impostare un RAID 5 utilizzando tre dischi. Più avanti nei miei prossimi articoli vedremo come risolvere i problemi quando un disco si guasta in RAID 5 e come sostituirlo per il ripristino.