Nota:
- Questa esercitazione è disponibile in un ambiente di laboratorio gratuito fornito da Oracle.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituire questi valori con quelli specifici del tuo ambiente cloud.
Creare un array RAID software su Oracle Linux
Introduzione
Un array ridondante di dischi indipendenti o dispositivo RAID è un dispositivo virtuale creato da due o più dispositivi a blocchi reali. Questa funzionalità consente di combinare più dispositivi (in genere unità disco o partizioni di un disco) in un singolo dispositivo per contenere un singolo file system. Alcuni livelli RAID includono la ridondanza, consentendo al file system di sopravvivere a un certo grado di guasto al dispositivo.
Il kernel Oracle Linux utilizza il driver Multiple Device (MD) per supportare il RAID software Linux e consentire di organizzare unità disco in dispositivi RAID e implementare diversi livelli RAID.
Per ulteriori informazioni su questi diversi livelli RAID, vedere la documentazione Oracle.
Questa esercitazione funziona con la utility MD (mdadm
) per creare un dispositivo RAID1 con una riserva e quindi risolvere un errore del disco.
Obiettivi
- Creare un dispositivo RAID1 con una riserva
- Recuperare un dispositivo RAID1 non riuscito
Prerequisiti
Qualsiasi sistema Oracle Linux 8 con le configurazioni seguenti:
- un utente non root con autorizzazioni sudo
- volumi a blocchi aggiuntivi da utilizzare con Linux Software RAID
Imposta ambiente laboratorio
Nota: quando si utilizza l'ambiente di laboratorio gratuito, vedere Oracle Linux Lab Basics per le connessioni e altre istruzioni d'uso.
-
Se non è già connesso, aprire un terminale e connettersi tramite ssh a ciascuna istanza sopra indicata.
ssh oracle@<ip_address_of_instance>
-
Verificare che i volumi a blocchi esistano.
sudo lsblk
L'output dell'ambiente di lavoro gratuito dovrebbe contenere la variabile
/dev/sda
per il file system esistente e i dischi disponibili/dev/sdb
,/dev/sdc
e/dev/sdd
.
Installare la utility MD
-
Se non è già disponibile nel sistema, installare la utility MD.
Verificare se
mdadm
è installato.sudo dnf list --installed mdadm
Se non è installato, installare
mdadm
.sudo dnf -y install mdadm
Nota: nell'ambiente di laboratorio gratuito è già installata la utility MD.
Creare un dispositivo RAID.
RAID1 fornisce ridondanza e resilienza dei dati scrivendo dati identici a ciascuna unità nell'array. In caso di guasto a un'unità, un mirror può soddisfare le richieste di I/O. Il mirroring è una soluzione costosa in quanto il sistema scrive le stesse informazioni su tutti i dischi dell'array.
Caratteristiche di RAID1:
- Include la ridondanza.
- Utilizza due o più dischi con zero o più dischi di riserva.
- Mantiene uno specchio esatto dei dati scritti su ciascun disco.
- I dispositivi su disco devono avere dimensioni uguali.
- Se un disco è più grande di un altro, la dimensione del dispositivo RAID corrisponde a quella del disco più piccolo.
- Consente la rimozione o la mancata riuscita di un massimo di n-1 dispositivi disco, mentre tutti i dati rimangono intatti.
- Se il sistema sopravvive a un crash e sono disponibili dischi di riserva, il recupero del mirror RAID1 avviene automaticamente e immediatamente al rilevamento dell'errore.
- Le prestazioni di scrittura sono più lente rispetto a un singolo disco a causa della scrittura degli stessi dati su più dischi nel set di mirror.
-
Elencare le opzioni disponibili per creare un dispositivo RAID.
L'uso di
mdadm --help
consente di utilizzare l'opzione--create
per creare un nuovo array da dispositivi non utilizzati.sudo mdadm --create --help
-
Creare un dispositivo RAID1 con un disco di riserva.
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd
--create:
: crea il nuovo array--level
: il livello raid--raid-devices
: il numero di dispositivi attivi nell'array--spare-devices
: il numero di dispositivi di riserva (extra) nell'array iniziale
In questo comando il dispositivo (array) è denominato
/dev/md0
e utilizza/dev/sdb
e/dev/sdc
per creare il dispositivo RAID1. Il dispositivo/dev/sdd
viene utilizzato automaticamente come dispositivo di riserva per il ripristino da eventuali guasti del dispositivo attivo.Accettare il prompt
Continue creating array?
digitandoy
e premendoENTER
.Output di esempio:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 mdadm: size set to 52395008K Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
Creazione di un file system
-
Creare un file system ext4 sul dispositivo RAID e attivarlo.
sudo mkfs.ext4 -F /dev/md0 sudo mkdir /u01 sudo mount /dev/md0 /u01
-
Segnala l'uso del disco del file system.
df -h
Output di esempio:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ df -h Filesystem Size Used Avail Use% Mounted on ... /dev/md0 49G 53M 47G 1% /u01
-
Aggiungere una voce a /etc/fstab e rendere persistente il punto di attivazione tra i reboot.
echo "/dev/md0 /data01 ext4 defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
Verifica dispositivo RAID
-
Ottiene i dettagli dell'array.
sudo mdadm --detail /dev/md0
Output di esempio:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat Jun 4 20:08:32 2022 Raid Level : raid1 Array Size : 52395008 (49.97 GiB 53.65 GB) Used Dev Size : 52395008 (49.97 GiB 53.65 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Jun 4 20:28:58 2022 State : clean, resyncing Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Consistency Policy : resync Resync Status : 59% complete Name : ol-mdadm-2022-06-04-180415:0 (local to host ol-mdadm-2022-06-04-180415) UUID : f6c35144:66a24ae9:5b96e616:f7252a9f Events : 9 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 2 8 48 - spare /dev/sdd
Nell'output,
State
mostra che l'array è pulito e risincronizzato. Il resysc si verifica sempre dopo la creazione iniziale dell'array o dopo il recupero. L'output mostra che la risincronizzazione è completata al 59%. -
Controllare le informazioni in tempo reale dal kernel.
sudo cat /proc/mdstat
Output di esempio:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdd[2](S) sdc[1] sdb[0] 52395008 blocks super 1.2 [2/2] [UU] [==================>..] resync = 92.2% (48341824/52395008) finish=2.7min speed=24677K/sec unused devices: <none>
Crea file di configurazione RAID
-
(Opzionale) Aggiungere la configurazione RAID a
/etc/mdadm.conf
Il file di configurazione identifica i dispositivi RAID e a cui appartiene un determinato dispositivo. In base a questo file di configurazione,
mdadm
è in grado di assemblare gli array in fase di boot.sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf
Output di esempio:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf ARRAY /dev/md/0 metadata=1.2 UUID=f6c35144:66a24ae9:5b96e616:f7252a9f name=ol-mdadm-2022-06-04-180415:0 spares=1
Gestisci dispositivi RAID
Questa opzione consente di gestire i dispositivi dei componenti all'interno di un array, ad esempio l'aggiunta, la rimozione o l'errore di un dispositivo.
-
Elencare le opzioni disponibili per la gestione di un dispositivo RAID.
sudo mdadm --manage --help
--add
: dispositivi successivi Hotadd.--remove
: rimuovere i dispositivi non attivi successivi.--fail
: contrassegna i dispositivi successivi come difettosi.
-
Sincronizza le scritture inserite nella cache nella memoria persistente.
Questa operazione è necessaria prima di eseguire qualsiasi gestione del disco per garantire che tutte le cache del disco siano scritte su disco.
sudo sync
-
Contrassegnare un disco come non riuscito.
sudo mdadm --manage /dev/md0 --fail /dev/sdb
-
Recupera i dettagli dell'array.
sudo mdadm --detail /dev/md0
Output di esempio:
[oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat Jun 4 20:08:32 2022 Raid Level : raid1 Array Size : 52395008 (49.97 GiB 53.65 GB) Used Dev Size : 52395008 (49.97 GiB 53.65 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Jun 4 21:34:19 2022 State : clean, degraded, recovering Active Devices : 1 Working Devices : 2 Failed Devices : 1 Spare Devices : 1 Consistency Policy : resync Rebuild Status : 1% complete Name : ol-mdadm-2022-06-04-180415:0 (local to host ol-mdadm-2022-06-04-180415) UUID : f6c35144:66a24ae9:5b96e616:f7252a9f Events : 19 Number Major Minor RaidDevice State 2 8 48 0 spare rebuilding /dev/sdd 1 8 32 1 active sync /dev/sdc 0 8 16 - faulty /dev/sdb
L'array è contrassegnato come degraded e recovering. L'output mostra inoltre che il dispositivo di riserva
/dev/sdd
ricostruisce automaticamente l'array, mentre/dev/sdb
è difettoso. -
Rimuovere il disco guasto.
sudo mdadm --manage /dev/md0 --remove /dev/sdb
-
Sostituire il disco che presenta problemi.
Sostituire il disco fisico guasto del server con uno nuovo.
Nota: non è necessario eseguire alcuna operazione per questo passo quando si utilizza l'ambiente di laboratorio gratuito. Il laboratorio riprodurrà il dispositivo
dev/sdb
esistente. -
Rimuovere la firma linux_raid_member precedente.
Una firma, i metadati, vengono scritti un disco quando viene utilizzato in un array RAID e tale disco non può essere spostato in un altro sistema o riproposto fino a quando non vengono rimosse tali firme.
sudo wipefs -a -f /dev/sdb
Avvertenza: il comando
wipefs
è distruttivo e rimuove l'intera tabella di partizione nel disco di destinazione (/dev/sdb
) e tutte le firme. -
Aggiungere una nuova riserva all'array.
sudo mdadm --manage /dev/md0 --add /dev/sdb
-
Verificare che il disco di riserva esista.
sudo mdadm --detail /dev/md0
Nella parte inferiore dell'output, il dispositivo
/dev/sdb
deve essere incluso nell'elenco con lo stato impostato su spare.
Per ulteriori informazioni:
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi ad altri contenuti per la formazione gratuita sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione sul prodotto, visitare Oracle Help Center.
Build a Software RAID Array on Oracle Linux
F58431-01
June 2022
Copyright © 2022, Oracle and/or its affiliates.