In questo articolo ti mostriamo come ricostruire un software RAID dopo aver sostituito un disco rigido difettoso.

Attenzione

Queste istruzioni sono valide solo per i Server Dedicati che utilizzano BIOS come interfaccia tra l'hardware e il sistema operativo. Se disponi di un Server Dedicato che utilizza UEFI come interfaccia tra l'hardware e il sistema operativo, consulta il seguente articolo per informazioni su come ricostruire un software RAID:

Ricostruire un software RAID (Linux/Server Dedicato con UEFI)

Verificare se un Server Dedicato utilizza UEFI o BIOS

Per verificare se il tuo server utilizza BIOS o UEFI come interfaccia tra l'hardware e il sistema operativo, immetti il seguente comando:

[root@localhost ~]# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

Informazioni importanti sul partizionamento del tuo Server Dedicato

A partire dal 20/10/2021, sui Server Dedicati gestiti nel Cloud Panel verrà creata una sola partizione al momento dell'installazione e della reinstallazione del sistema operativo. Sui Server Dedicati installati prima di questa data e sui Server Dedicati acquistati nell'ambito dei Server in offerta speciale, le immagini del sistema operativo sono dotate di un gestore di volumi logici (Logical Volume Manager ). Il Logical Volume Manager imposta un livello logico tra il file system e le partizioni della memoria dati utilizzata. Ciò permette di creare un file system che copre più partizioni e/o dischi. In questo modo è possibile combinare, ad esempio, lo spazio di archiviazione di più partizioni o supporti dati.

Determinazione le informazioni necessarie per ricostruire il software RAID

Visualizzare l'elenco dei dischi rigidi e delle partizioni esistenti

Per elencare i dischi rigidi e le partizioni esistenti, procedi come segue:

  • Accedi al server con il tuo account root.

  • Per elencare i dischi rigidi e le partizioni esistenti, immetti il comando fdisk -l. fdisk è un programma a riga di comando per il partizionamento dei dischi rigidi. Con questo programma puoi visualizzare, creare o eliminare partizioni.

    [root@localhost ~]# fdisk -l

  • Prendi nota dei dischi rigidi esistenti, delle partizioni e dei percorsi dei file di swap.

Nota bene:

Dopo che il disco rigido è stato sostituito, può accadere che venga riconosciuto come sdc. Questo succede sempre quando si scambiano dati tramite Hot-Swap. In questo caso è necessario un riavvio, affinché il disco rigido venga riconosciuto nuovamente come sda o sdb.

Individuare i punti di montaggio

  • Per visualizzare i punti di montaggio delle partizioni e dei dispositivi da te utilizzati, immetti il seguente comando:

[root@localhost ~]# lsblk

Verranno quindi visualizzate, ad esempio, le seguenti informazioni:

root@s20776641:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop1 7:1 0 54.9M 1 loop /snap/lxd/12631
loop2 7:2 0 110.6M 1 loop /snap/core/12834
loop3 7:3 0 61,9M 1 loop /snap/core20/1434
loop4 7:4 0 80,4M 1 loop /snap/lxd/23037
sda 8:0 0 931.5G 0 disco
├─sda1 8:1 0 4G 0 parte
│ └─md1 9:1 0 4G 0 raid1 /
├─sda2 8:2 0 2G 0 parte [SWAP]
└─sda3 8:3 0 925.5G 0 part
└─md3 9:3 0 925.5G 0 raid1
├─vg00-usr 253:0 0 5G 0 lvm /usr
├─vg00-var 253:1 0 5G 0 lvm /var
└─vg00-home 253:2 0 5G 0 lvm /home
sdb 8:16 0 931.5G 0 disco
├─sdb1 8:17 0 4G 0 parte
│ └─md1 9:1 0 4G 0 raid1 /
├─sdb2 8:18 0 2G 0 parte [SWAP]
└─sdb3 8:19 0 925.5G 0 part
└─md3 9:3 0 925.5G 0 raid1
├─vg00-usr 253:0 0 5G 0 lvm /usr
├─vg00-var 253:1 0 5G 0 lvm /var
└─vg00-home 253:2 0 5G 0 lvm /home
root@s20776641:~# cat /proc/mdstat

  • Prendi nota sia dispositivi e delle partizioni, che dei rispettivi punti di montaggio.

Scenario di esempio

Prendiamo come esempio la seguente configurazione:

root@s20776641:~# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md3 : active raid1 sdb3[1] sda3[0]
      970470016 blocks [2/2] [UU]
 
md1 : active raid1 sdb1[1] sda1[0]
      4194240 blocks [2/2] [UU]

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda1[0] sdb1[1]
4194240 blocks [2/2] [UU]

md3 : active raid1 sda3[0] sdb3[1]
1458846016 blocks [2/2] [UU]

Ci sono 2 array:

/dev/md1 come /

/dev/md3 per le partizioni di log /var /usr /home.

Di solito, con sda2 e sdb2 ci sono ancora due partizioni di swap che non fanno parte del RAID.

Ripristinare il RAID

I passaggi successivi differiscono a seconda che sia stato sostituito il disco rigido 1 (sda) o il disco rigido 2 (sdb).

Il disco rigido 1 (sda) è stato sostituito

Se è stato sostituito il disco rigido 1 (sda), è necessario verificare che il disco rigido sia stato riconosciuto correttamente ed eventualmente eseguire un riavvio. Successivamente, riavvia il server nel Rescue System ed esegui i passaggi seguenti:

  • Per prima cosa, copia le tabelle delle partizioni sul nuovo disco rigido (vuoto):

    [root@host ~]# sfdisk -d /dev/sdb | sfdisk /dev/sda

    (potrebbe essere necessario usare l'opzione --force).

  • Aggiungi le partizioni al RAID:

    [root@host ~]# mdadm /dev/md1 -a /dev/sda1

    [root@host ~]# mdadm /dev/md3 -a /dev/sda3

    Ora puoi seguire la ricostruzione dei RAIDS con cat /proc/mdstat.

  • Monta le partizioni var, usr e home:

    [root@host ~]# mount /dev/md1 /mnt
    [root@host ~]# mount /dev/mapper/vg00-var /mnt/var
    [root@host ~]# mount /dev/mapper/vg00-usr /mnt/usr
    [root@host ~]# mount /dev/mapper/vg00-home /mnt/home

  • Affinché Grub possa essere installato in seguito senza errori, monta proc, sys e dev:

    [root@host ~]# mount -o bind /proc /mnt/proc
    [root@host ~]# mount -o bind /sys /mnt/sys
    [root@host ~]# mount -o bind /dev /mnt/dev

  • Dopo aver montato le partizioni, passa all'ambiente chroot e installa il bootloader di grub:

    [root@host ~]# chroot /mnt
    [root@host ~]# grub-install /dev/sda

  • Esci da chroot con Exit e smonta tutti i dischi:

    [root@host ~]# umount -a

    Attendi che il processo di ricostruzione sia terminato e successivamente riavvia il server nel sistema normale.

  • Infine, è necessario attivare la partizione di swap utilizzando i seguenti comandi:

    [root@host ~]# mkswap /dev/sda2
    [root@host ~]# swapon -a

Il disco rigido 2 (sdb) è stato sostituito

Se invece è stato sostituito il disco rigido 2 (sdb), procedi come segue:

  • Esegui un riavvio in modo che venga visualizzato il disco rigido 2 (sdb).

  • Nel sistema locale, copia le tabelle delle partizioni sul nuovo disco rigido (vuoto):

    [root@host ~]# sfdisk -d /dev/sda | sfdisk /dev/sdb

    (potrebbe essere necessario usare l'opzione --force).

  • Aggiungi le partizioni al RAID:

    [root@host ~]# mdadm /dev/md1 -a /dev/sdb1

    [root@host ~]# mdadm /dev/md3 -a /dev/sdb3

    Ora puoi seguire la ricostruzione del RAID con cat/proc/mdstat.

  • Infine, è necessario attivare la partizione di swap utilizzando il seguente comando:

    [root@host ~]# mkswap /dev/sdb2