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

Attenzione

Queste istruzioni sono valide solo per i Server Dedicati che utilizzano UEFI come interfaccia tra l'hardware e il sistema operativo. Se disponi di un Server Dedicato che utilizza BIOS 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 BIOS)

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

Ulteriori informazioni su UEFI

Per ulteriori informazioni su UEFI, consulta il seguente articolo:

Informazioni generali su UEFI

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

    Vengono quindi visualizzate, ad esempio, le seguenti informazioni:

    [root@2A2E3A1 ~]# lsblk
    NAME    MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
    sda       8:0    0  1.8T  0 disk
    ├─sda1    8:1    0  511M  0 part
    │ └─md1   9:1    0  511M  0 raid1 /boot/efi
    ├─sda2    8:2    0  1.4G  0 part
    │ └─md2   9:2    0  1.4G  0 raid1 /boot
    ├─sda3    8:3    0  3.7G  0 part  [SWAP]
    └─sda4    8:4    0  1.8T  0 part
      └─md4   9:4    0  1.8T  0 raid1 /
    sdb       8:16   0  1.8T  0 disk
    ├─sdb1    8:17   0  511M  0 part
    │ └─md1   9:1    0  511M  0 raid1 /boot/efi
    ├─sdb2    8:18   0  1.4G  0 part
    │ └─md2   9:2    0  1.4G  0 raid1 /boot
    ├─sdb3    8:19   0  3.7G  0 part  [SWAP]
    └─sdb4    8:20   0  1.8T  0 part
      └─md4   9:4    0  1.8T  0 raid1 /

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

Scenario di esempio

Prendiamo come esempio la seguente configurazione:

[root@2A2E3A1 ~]# cat /proc/mdstat
Personalities : [raid1]
md4 : active raid1 sdb4[2] sda4[0]
      1947653952 blocks super 1.0 [2/1] [U_]
 
md2 : active raid1 sdb2[2] sda2[0]
      1428416 blocks super 1.0 [2/2] [UU]
 
md1 : active raid1 sdb1[1] sda1[0]
      523200 blocks [2/2] [UU]
 
unused devices: <none>

In questo esempio, ci sono 3 array:

/dev/md1 con mountpoint /boot/efi
/dev/md2 con mountpoint /boot
/dev/md4 con mountpoint /

Inoltre, ci sono due partizioni di swap che non non fanno parte del RAID. In questo esempio, sono sda3 e sdb3.

Ripristinare il RAID

I passi 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/md2 -a /dev/sda2
    [root@host ~]# mdadm /dev/md4 -a /dev/sda4

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

  • Quindi monta le partizioni:

    [root@host ~]# mount /dev/md1 /boot/efi
    [root@host mount /dev/md2 /boot
    [root@host ~]# mount /dev/md4 /

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

    [root@host ~]# chroot /mnt
    [root@host ~]# grub-install --efi-directory=/boot/efi /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/sda3
    [root@host ~]# swapon -a

Il disco rigido 2 (sdb) è stato sostituito

Se invece è stato sostitutio 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/md2 -a /dev/sdb2
    [root@host ~]# mdadm /dev/md4 -a /dev/sdb4

    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/sdb3
    [root@host ~]# swapon -a