Reconstruire un RAID logiciel (Linux/Serveur Dédié avec UEFI)

Dans cet article, nous vous montrons comment reconstruire un RAID logiciel (Software) après le remplacement d'un disque dur défectueux.

Attention !

Ces instructions ne sont valables que pour les Serveurs Dédiés qui utilisent UEFI comme interface entre le matériel (Hardware) et le système d'exploitation. Si vous utilisez un Serveur Dédié qui utilise BIOS comme interface entre le matériel et le système d'exploitation, vous trouverez des informations sur la manière de reconstruire le RAID logiciel dans l'article suivant :

Reconstruire le RAID logiciel (Linux/Serveur Dédié avec BIOS)

Vérifier si un Serveur Dédié utilise BIOS ou UEFI

Pour vérifier si votre serveur utilise BIOS ou UEFI comme interface entre le matériel et le système d'exploitation, saisissez la commande suivante :

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

Plus d'informations concernant UEFI

Vous trouverez plus d'informations concernant UEFI dans l'article suivant :

Informations générales concernant UEFI

Informations importantes concernant le partitionnement de votre Serveur Dédié

Sur les Serveurs Dédiés gérés dans le Cloud Panel, depuis le 20 octobre 2021, une seule partition est créée lors de la configuration et de la réinstallation du système d'exploitation. Sur les Serveurs Dédiés installés avant cette date et sur les Serveurs Dédiés achetés dans le cadre d'un Bon Plan Serveur, les images du système d'exploitation sont équipées du Logical Volume Manager (LVM). Le gestionnaire de volumes logiques place une couche logique entre le système de fichiers et les partitions des stockages de données utilisés. Cela permet de créer un système de fichiers qui s'étend sur plusieurs partitions et/ou supports de données. De cette manière, il est par exemple possible de regrouper l'espace de stockage de plusieurs partitions ou supports de données.

Déterminer les informations nécessaires pour reconstruire le RAID logiciel

Lister les disques durs et les partitions existants

Pour lister les disques durs et les partitions existants, procédez comme suit :

  • Connectez-vous au serveur avec votre compte root.

  • Pour lister les disques durs et les partitions existants, saisissez la commande fdisk -l. fdisk est un programme en ligne de commande pour le partitionnement des disques durs. Il permet d'afficher, de créer ou de supprimer des partitions.
    [root@localhost ~]# fdisk -l

  • Notez les disques durs existants, les partitions et les chemins d'accès aux fichiers de pagination.

Remarque

Après avoir remplacé le disque dur, il peut arriver qu'il soit reconnu comme sdc. Cela se produit toujours lors d'un échange via hot-swap. Dans ce cas, il suffit de redémarrer pour que le disque dur soit à nouveau reconnu comme sda ou sdb.

Déterminer les points de montage

  • Pour afficher les points de montage des périphériques et des partitions que vous utilisez, saisissez la commande suivante :

    [root@localhost ~]# lsblk

    Vous obtiendrez ensuite les informations suivantes, par exemple :

    [root@2A2E3A1 ~]# lsblk
    NOM 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 /

  • Notez les périphériques et les partitions ainsi que leurs points de montage.

Exemple de scénario

Dans cet article, nous supposons la configuration suivante :

[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>

Dans cet exemple, il existe 3 tableaux :

/dev/md1 avec le point de montage /boot/efi
/dev/md2 avec le point de montage /boot
/dev/md4 avec le point de montage /

De plus, il y a deux partitions de swap qui ne font pas partie du RAID. Dans cet exemple, il s'agit de sda3 et sdb3.

Restaurer le RAID

La suite des opérations dépend du fait que le disque dur 1 (sda) ou le disque dur 2 (sdb) a été remplacé :

Le disque dur 1 (sda) a été échangé

Si le disque dur 1 (sda) a été remplacé, vous devez vérifier s'il a été correctement reconnu. Il se peut que vous deviez effectuer un redémarrage. Démarrez ensuite le serveur dans le système de secours et suivez les étapes ci-dessous.

  • Tout d'abord, copiez les tables de partition sur le nouveau disque dur (vide) :
    [root@host ~]# sfdisk -d /dev/sdb | sfdisk /dev/sda(Si nécessaire, utilisez l'option --force)

  • Ajoutez les partitions au 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
    Vous pouvez maintenant suivre la reconstruction du RAID avec cat /proc/mdstat.

  • Montez ensuite les partitions :[root@host ~]# mount /dev/md1 /boot/efi
    [root@host mount /dev/md2 /boot
    [root@host ~]# mount /dev/md4 /

  • Après avoir monté les partitions, sautez dans l'environnement chroot et installez le chargeur de démarrage Grub :
    [root@host ~]# chroot /mnt
    [root@host ~]# grub-install --efi-directory=/boot/efi /dev/sda

  • Quittez le chroot avec Exit et démontez tous les disques :
    [root@host ~]# umount -aAttendez que la reconstruction soit terminée et redémarrez le serveur dans le système normal.

  • Enfin, vous devez encore activer la partition d'échange à l'aide des commandes suivantes :
    [root@host ~]# mkswap /dev/sda3
    [root@host ~]# swapon -a

Le disque dur 2 (sdb) a été échangé.

Si le disque dur 2 (sdb) a été remplacé, procédez comme suit :

  • Redémarrez pour que le disque dur 2 (sdb) soit affiché.

  • Dans le système local, copiez les tables de partitions sur le nouveau disque dur (vide) :
    [root@host ~]# sfdisk -d /dev/sda | sfdisk /dev/sdb
    (vous devrez peut-être utiliser l'option --force).

  • Ajoutez les partitions au 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

    Vous pouvez maintenant suivre la reconstruction du RAID avec cat /proc/mdstat.

  • Pour finir, vous devez encore activer la partition d'échange en utilisant les commandes suivantes :
    [root@host ~]# mkswap /dev/sdb3
    [root@host ~]# swapon -a