Dans cet article, nous vous montrons comment reconstruire un RAID logiciel après avoir remplacé le disque dur défectueux.

Attention !

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

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

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

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. Ce programme 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 d'échange.

Remarque

Après le remplacement du disque dur, il se peut qu'il soit reconnu comme sdc. Cela se produit toujours lors de l'échange de données via Hot-Swap. Pour que le disque soit à nouveau reconnu comme sda ou sdb, un redémarrage est nécessaire.

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

    Les informations suivantes s'affichent ensuite, par exemple :

    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 disk
    ├─sda1            8:1    0     4G  0 part
    │ └─md1           9:1    0     4G  0 raid1 /
    ├─sda2            8:2    0     2G  0 part  [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 disk
    ├─sdb1            8:17   0     4G  0 part
    │ └─md1           9:1    0     4G  0 raid1 /
    ├─sdb2            8:18   0     2G  0 part  [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

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

Exemple de scénario

Dans cet article, nous prenons comme exemple la configuration suivante :

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]

Il y a deux Arrays :

/dev/md1

/dev/md3 pour le journal. Partitions /var /usr /home

Typiquement, avec sda2 et sdb2, il y a deux partitions swap qui n'appartiennent pas au RAID.

Restaurer le RAID

La procédure suivante dépend si le disque dur 1 (sda) ou le disque dur 2 (sdb) a été remplacé :

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

Si le disque dur 1 (sda) a été remplacé, vous devez vérifier si le disque dur a été correctement reconnu et éventuellement effectuer un redémarrage. Ensuite, démarrez le serveur dans le système de secours et effectuez les étapes suivantes :

  • Tout d'abord, copiez les tables de partition sur le nouveau disque dur (vide) :

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

    (Vous devrez peut-être utiliser l'option --force).

  • Ajoutez maintenant les partitions au RAID :

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

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

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

  • Puis montez les partitions var, usr et 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

  • Pour que Grub puisse être installé ultérieurement sans erreurs, montez proc, sys et 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

  • Après avoir monté les partitions, passez à l'environnement chroot et installez Grub Bootloader :

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

  • Quittez Chroot avec Exit et démontez tous les disques durs :

    [root@host ~]# umount -a

    Attendez que le processus de reconstruction soit terminé puis redémarrez le serveur sur le système normal.

  • Enfin, vous devez activer la partition swap en utilisant les commandes suivantes :

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

Le disque dur 2 (sdb) a été remplacé

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

  • Effectuez un redémarrage pour que le disque dur 2 (sdb) soit affiché.

  • Tout d'abord, dans le système local, copiez les tables de partition sur le nouveau disque dur (vide) :

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

    (Vous devrez peut-être utiliser l'option --force).

  • Ajoutez maintenant les partitions au RAID :

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

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

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

  • Enfin, vous devez activer la partition swap en utilisant les commandes suivantes :

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