Che cos’è RAID?
RAID sta per Redundant Array of Inexpensive Disks. RAID consente di trasformare più dischi rigidi fisici in un unico disco rigido logico. Ci sono molti livelli RAID come RAID 0, RAID 1, RAID 5, RAID 10 ecc.
Tratteremo di RAID 1 che è anche noto come disk mirroring. RAID 1 crea copie identiche di dati. Se si dispone di due dischi rigidi in RAID 1, i dati verranno scritti su entrambe le unità. I due dischi rigidi hanno gli stessi dati.
Il vantaggio di RAID 1 è che se uno dei tuoi dischi rigidi si guasta, il tuo computer o server continua a funzionare perché hai una copia completa e intatta dei dati sull’altro disco rigido. È possibile estrarre il disco rigido fallito mentre il computer è in esecuzione, inserire un nuovo disco rigido e il mirroring sarà ricostruito automaticamente.
Lo svantaggio di RAID 1 è che non si ottiene spazio su disco aggiuntivo. Se i tuoi due dischi rigidi sono entrambi da 1 TB, il volume totale utilizzabile è 1 TB invece di 2 TB.
RAID hardware vs RAID software
Per impostare RAID, è possibile utilizzare un controller del disco rigido o utilizzare un software per crearlo. Un controller del disco rigido è una scheda PCIe che si inserisce in un computer. Quindi si collegano i dischi rigidi a questa scheda. Quando si avvia il computer, vedremo un’opzione che consente di configurare il RAID. È possibile installare un sistema operativo su RAID hardware per aumentare la disponibilità del sistema
Software RAID richiede che sia già installato un sistema operativo. E’ ottimo per salvare i dati.
Passi di base per creare Software RAID 1 su Linux
- Per prima cosa devi avere una distribuzione Linux installata sul tuo disco rigido. In questo tutorial lo chiameremo /dev/sda.
- Poi prenderemo due dischi rigidi che saranno denominati/dev/sdb e/dev/sdc in questo post. Questi due dischi rigidi possono essere di dimensioni diverse. Ricordarsi di eseguire il backup dei dati esistenti prima di formattare i dischi rigidi.
- Successivamente, creeremo file system speciali su/dev/sdb e/dev/sdc.
- Infine creare l’array RAID 1 utilizzando l’utility mdadm.
Passo 1: Formattare il disco rigido
Inserire due dischi rigidi nel computer Linux, quindi aprire una finestra del terminale. Eseguire il seguente comando per verificare il nome del dispositivo.
sudo fdisk -l
Quindi eseguire i seguenti 2 comandi per creare una nuova tabella delle partizioni MBR sui due dischi rigidi. (Nota: questo eliminerà tutte le partizioni esistenti e dati da questi due dischi rigidi. Assicurarsi che i tuoi dati siano sottoposti a backup.)
sudo parted /dev/sdb mklabel msdos sudo parted /dev/sdc mklabel msdos
È possibile creare la tabella delle partizioni GPT sostituendo msdos con gpt, ma per motivi di compatibilità, questo tutorial creerà la tabella delle partizioni MBR.,
Quindi, utilizzare il comando fdisk per creare una nuova partizione su ogni unità e formattarla come file system di rilevamento automatico raid Linux. Facciamoli prima su /dev/sdb.
sudo fdisk /dev/sdb
Seguire queste istruzioni.
Digitare n per creare una nuova partizione.
Digitare p per selezionare la partizione primaria.
Digitare 1 per creare/dev / sdb1.
Premere Invio per scegliere il primo settore predefinito
Premere Invio per scegliere l’ultimo settore predefinito. Questa partizione si estenderà su tutta l’unità.,
Digitando p verranno stampate informazioni sulla partizione appena creata. Per impostazione predefinita, il tipo di partizione è Linux.
Dobbiamo cambiare il tipo di partizione, quindi digita t.
Inserisci fd per impostare il tipo di partizione suLinux raid autodetect.
Digitare nuovamente p per verificare il tipo di partizione.
Digitare w per applicare le modifiche di cui sopra.
Seguire le stesse istruzioni per creare una partizione di rilevamento automatico raid Linux su/dev/sdc.
Ora abbiamo due dispositivi raid /dev/sdb1 e /dev/sdc1.,
Passo 2: Installare mdadm
mdadm viene utilizzato per la gestione di dispositivi MD (multiple devices), noto anche come Linux software RAID.
[Debian/Ubuntu]: sudo apt install mdadm [CentOS/Redhat]: sudo yum install mdadm
Esaminiamo i due dispositivi.
sudo mdadm --examine /dev/sdb /dev/sdc
Si può vedere che entrambi sono di tipo fd (Linux raid autodetect). In questa fase, non c’è alcuna configurazione RAID su /dev/sdb1 e /dev/sdc1.
Passo 3: Creare un’unità logica RAID 1
Eseguire il seguente comando per creare RAID 1. L’unità logica sarà denominata /dev/md0.
sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1
Nota: se viene visualizzato questo messaggio: “Dispositivo o risorsa occupato”, potrebbe essere necessario riavviare il sistema operativo.
Ora possiamo controllarlo con:
cat /proc/mdstat
Si vede che md0 è attivo ed è una configurazione RAID 1., Per ottenere informazioni più dettagliate su /dev/md0, siamo in grado di utilizzare i comandi qui sotto:
sudo mdadm --detail /dev/md0
Per ottenere informazioni dettagliate su ogni dispositivo raid, eseguire questo comando:
sudo mdadm --examine /dev/sdb1 /dev/sdc1
Fase 4: Creazione di File di Sistema sull’Unità Logica RAID 1
Decidiamo di usare un file system ext4.
sudo mkfs.ext4 /dev/md0
Quindi creiamo un punto di montaggio /mnt/raid1 e montiamo l’unità RAID 1.
sudo mkdir /mnt/raid1 sudo mount /dev/md0 /mnt/raid1
Per controllare quanto spazio su disco è disponibile:
df -h /mnt/raid1
Passo 5: Test
Ora andiamo a /mnt/raid1 e creiamo un file di testo.
cd /mnt/raid1 sudo nano raid1.txt
Scriviamo qualcosa come
This is raid 1 device.
Salvare e chiudere il file. Quindi, rimuovere una delle unità dal computer e controllare nuovamente lo stato del dispositivo RAID 1.
sudo mdadm --examine /dev/sdb1 /dev/sdc1
Si vedrà che/dev/sdc1 non è disponibile. Se controlliamo /dev/md0, possiamo vedere che un dispositivo RAID viene rimosso.
sudo mdadm --detail /dev/md0
Nonostante la rimozione del disco, il file è ancora al suo posto:
cat /mnt/raid1/raid1.txt
Per aggiungere di nuovo il il disco mancante al RAID (nel nostro caso /dev/sdc1), eseguire questo comando:
sudo mdadm --manage /dev/md0 --add /dev/sdc1
E’ fondamentale ricordarsi di salvare la configurazione del RAID1 con il comando seguente.
sudo mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf
Output:
ARRAY /dev/md/0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=xenial:0 UUID=c7a2743d:f1e0d872:b2ad29cd:e2bee48c
devices=/dev/sdb1,/dev/sdc1
In alcune distribuzioni, come a d esempio CentOS il file di configurazione di mdadm è /etc/mdadm.conf. Per generare una nuova immagine initramfs occorre dare il seguente comando:
sudo update-initramfs -u
Per montare automaticamente l’array RAID1 all’avvio editare il file /etc/fstab e inserire la seguente riga:
/dev/md0 /mnt/raid1 ext4 defaults 0 0
Rimuovere il RAID
Se si vuole rimuovere il RAID usare questo comando:
sudo mdadm --remove /dev/md0
Quindi editare il file mdadm.conf commentando la definizione del RAID
#ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=bionic:0 UUID=76c80bd0:6b1fe526:90807435:99030af9
# devices=/dev/sda1,/dev/sdb1
Editare eventualmente anche il file /etc/fstab commentando la riga relativa all’unità RAID
Questo articolo è la traduzione dell’originale che si trova qua: https://www.linuxbabe.com/linux-server/linux-software-raid-1-setup