Pour Serveur Dédié et Serveur Bare Metal

Cet article explique comment reconstruire un RAID logiciel après le remplacement d'un support de stockage défectueux (par exemple, un disque dur, un SSD ou un disque NVMe) sur un Serveur Dédié ou un Serveur Bare Metal. Ce guide prend en compte aussi bien les configurations en RAID 1 que les systèmes dotés d'un RAID logiciel 5 ou 6 supplémentaire pour les partitions de données.

Attention

  • Ce guide s'applique uniquement à un Serveur Dédié et un Serveur Bare Metal qui utilisent l'UEFI comme interface entre le matériel et le système d'exploitation. Si vous utilisez un serveur dédié qui utilise le BIOS comme interface entre le matériel et le système d'exploitation, vous trouverez dans l'article suivant du Centre d'Assistance des informations pour reconstruire le RAID logiciel : Reconstruire un RAID logiciel (Linux/serveur dédié avec BIOS)

  • Respectez scrupuleusement l'ordre des étapes décrit.

Vérifier si un serveur utilise l'UEFI ou le BIOS

Pour vérifier si votre serveur utilise le BIOS ou l'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 sur l'UEFI

Pour plus d'informations sur l'UEFI, consultez l'article suivant du Centre d'Assistance : Informations générales sur l'UEFI

Informations importantes concernant le partitionnement de votre serveur dédié

Sur un Serveur Dédié géré via le Cloud Panel, une seule partition est désormais créée lors de la configuration et de la réinstallation du système d'exploitation depuis le 20 octobre 2021. Sur les serveurs dédiés configurés avant cette date et sur ceux acquis dans le cadre d'une offre « Server Power Deal », ou « Bons Plans Serveur » les images du système d'exploitation sont équipées du Logical Volume Manager (LVM). Le Logical Volume Manager crée une couche logique entre le système de fichiers et les partitions des disques utilisés. Cela permet de créer un système de fichiers s'étendant sur plusieurs partitions et/ou disques. De cette manière, il est par exemple possible de regrouper l'espace de stockage de plusieurs partitions ou disques.

Identification des informations nécessaires à la reconstruction du RAID logiciel

Avant de commencer, vous devez vérifier la structure RAID actuelle et l'état des partitions.

Répertorier les disques et les partitions existants

Pour répertorier les disques et les partitions existants, procédez comme suit :

  • Connectez-vous au serveur avec votre compte root.

  • Pour lister les disques et les partitions existants, saisissez la commande fdisk -l. fdisk est un programme en ligne de commande permettant de partitionner des disques. Ce programme permet d'afficher, de créer ou de supprimer des partitions.

    [root@localhost ~]# fdisk -l

  • Notez les noms des disques (par exemple /dev/sda, /dev/sdb, /dev/nvme0n1).

Remarque

Après un remplacement à chaud, le nouveau support de données est souvent reconnu comme « sdc ». Un redémarrage est impératif pour que le support de données soit à nouveau correctement identifié comme « sda » ou « sdb ».

Identifier 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 alors, par exemple :

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

  • Notez les périphériques et les partitions ainsi que leurs points de montage. Exemple :
    /md4 est monté sur / root
    /md2 est monté sur /boot
    /md1 est monté sur /boot/efi
    sda3 et sdb3 sont des partitions Swap (pas de matrice RAID)
Affichage détaillé de la structure RAID avec lsblk --inverse

Pour obtenir un aperçu encore plus clair de la structure RAID, vous pouvez également utiliser la commande suivante :

[root@localhost ~]# lsblk --inverse

Cette commande inverse l'ordre d'affichage. La structure ne commence alors pas par les supports de données individuels, mais par les périphériques md ou périphériques logiques. Les partitions et supports de données correspondants s'affichent ensuite en dessous.

Cette vue est particulièrement utile lorsqu’il existe plusieurs périphériques RAID. C’est par exemple le cas lorsque des matrices distinctes sont utilisées pour /boot, /, swap ou des zones de données supplémentaires. Vous voyez alors directement, pour chaque périphérique md, les partitions associées et les points de montage dans une vue globale. Exemple :

[root@localhost ~]# lsblk --inverse
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda1 8:1 0 1M 0 part
└─sda 8:0 0 3,6T 0 disk
sdb1 8:17 0 1M 0 part
└─sdb 8:16 0 3,6T 0 disk
md2 9:2 0 487M 0 raid1 /boot
├─sda2 8:2 0 488M 0 part
│ └─sda 8:0 0 3,6T 0 disk
└─sdb2 8:18 0 488M 0 part
└─sdb 8:16 0 3,6T 0 disk
md3 9:3 0 3,9G 0 raid1 [SWAP]
├─sda3 8:3 0 3,9G 0 part
│ └─sda 8:0 0 3,6T 0 disk
└─sdb3 8:19 0 3,9G 0 part
└─sdb 8:16 0 3,6T 0 disk
md4 9:4 0 19,5G 0 raid1 /
├─sda4 8:4 0 19,5G 0 part
│ └─sda 8:0 0 3,6T 0 disk
└─sdb4 8:20 0 19,5G 0 part
└─sdb 8:16 0 3,6T 0 disk
vg-kunden 253:1 0 3,3T 0 lvm /clients
└─md5 9:5 0 3,6T 0 raid1
├─sda5 8:5 0 3,6T 0 part
│ └─sda 8:0 0 3,6T 0 disk
└─sdb5 8:21 0 3,6T 0 part
└─sdb 8:16 0 3,6T 0 disk

Remarque

Si ce n'est pas le support de données entier qui tombe en panne, seules certaines partitions peuvent être affectées. Dans ce cas, il se peut que tous les périphériques md ne soient pas dégradés. Il peut donc arriver qu'un ensemble RAID soit défectueux, tandis que d'autres ensembles situés sur le même support de données restent intacts. La commande `lsblk --inverse` permet souvent de le détecter plus rapidement.

Afficher le contenu du fichier fstab et identifier les fichiers de périphériques
  • Dans certaines configurations de serveur, les répertoires système tels que /usr, /var ou /home sont stockés sur des partitions distinctes. Celles-ci doivent être montées pour que les commandes du système fonctionnent. Pour ce faire, vérifiez le fichier fstab sur votre système monté. Pour afficher le contenu du fichier fstab et identifier les fichiers de périphériques associés, saisissez la commande suivante :

    [root@localhost ~]# cat /etc/fstab

  • Analysez le résultat.

    Cas A (système de fichiers plat, par exemple Debian 13) : Si les entrées affichées ne mentionnent pas séparément /usr, /var et /proc, vous n’avez pas besoin de monter d’autres partitions. Dans ce cas, vous pouvez ignorer les deux étapes suivantes et placer les partitions montées dans un environnement chroot.

    Cas B (système partitionné / LVM) : Si les entrées /usr, /var et /proc s’affichent, vous devez les monter dans le cadre de la restauration du RAID. La procédure est décrite dans la section « Restaurer le RAID ».

  • Notez également si les périphériques sont montés via leur UUID ou directement (par exemple sous la forme /dev/md0).

Vérifier l'état du RAID

Vérifiez quel disque est manquant dans le RAID. Pour ce faire, saisissez la commande suivante :

[root@localhost ~]# cat /proc/mdstat

Remarque

En complément de la commande cat /proc/mdstat, vous pouvez également utiliser la commande lsblk --inverse. Cette commande vous permet de visualiser les périphériques md avec leurs partitions et points de montage associés dans une vue d'ensemble. Cela s'avère particulièrement utile lorsque seuls certains ensembles RAID sont en état dégradé.

RAID 1 : une matrice en bon état affiche [UU]. Le « U » signifie « Up » : le disque est actif, synchronisé et fait partie de la matrice. Une matrice défectueuse affiche [_U] ou [U_].

RAID 5 et RAID 6 : des partitions manquantes dans la liste (par exemple, uniquement sdb5 et sdc5 au lieu de sda5 également) ou des mentions accompagnées d'un (F) signalent une défaillance.

Les partitions participant au RAID sont répertoriées après le niveau RAID (par exemple « active raid5 »). Un chiffre entre crochets après le nom de la partition (par exemple sda4[0]) indique son rôle dans la matrice. Une entrée manquante ou la présence d’un (F) supplémentaire signifiant « Failed » indique une défaillance. Exemples :

RAID 1 (mise en miroir) – Un disque est en panne

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

RAID 5 (données) – Un disque est complètement manquant

Le RAID 5 est souvent utilisé pour de grands volumes de données. Il peut supporter la défaillance d'un disque au maximum.

md5 : RAID 5 actif sdc1[0] sde1[2] [3/2] [U_U]

sdc1[0] et sde1[2] : seules deux partitions sont répertoriées. Un disque est complètement absent de la liste. Cela peut se produire, par exemple, à la suite d'une défaillance matérielle, lorsque le disque dur n'est plus du tout reconnu par le contrôleur.
[3/2] : la matrice attend 3 disques, mais il n'y en a que 2.
[_UU] : le premier disque est manquant.

RAID 6 (données) – Deux disques en panne

Le RAID 6 peut supporter la défaillance simultanée de deux disques au maximum.

md6 : active raid6 sdc1[0] sdf1[3] 3895307904 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/2] [U__U]

[4/2] : sur 4 disques, seuls 2 sont actifs.

[U__U] : Les deux disques du milieu (sdd1 et sde1) sont en panne ou ont été retirés. Le RAID est toujours opérationnel (« degraded »), mais il est urgent d'intervenir.

Remarque

Sur les serveurs équipés de RAID 1 et RAID 5, les périphériques et partitions suivants sont par exemple utilisés :

[root@B2E14658 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md11 : active raid5 sdb1[1] sde1[0] sdc1[2] sdf1[3]
     23442074112 blocks super 1.0 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
     bitmap: 2/59 pages [8KB], 65536KB chunk

md125 : active raid1 sda4[0] sdd4[2]
     462991168 blocks super 1.0 [2/2] [UU]
     bitmap: 2/4 pages [8KB], 65536KB chunk

md126 : active raid1 sda1[0] sdd1[1]
     523200 blocks [2/2] [UU]

md127 : active raid1 sda2[0] sdd2[2]
     1428416 blocks super 1.0 [2/2] [UU]

Restaurer un RAID (RAID 1)

La procédure à suivre varie en fonction du disque qui a été remplacé. Nous faisons la distinction entre le disque 1 (sda/primaire) et le disque 2 (sdb/secondaire). La procédure est identique pour les configurations RAID 5/6.

Attention

Dans la section « Le disque 1 (sda) a été remplacé », on part du principe que le disque 1, désigné par sda, a été remplacé. Dans la section « Le disque 2 (sdb) a été remplacé », on part du principe que le disque 2, désigné par sdb, a été remplacé. Adaptez toujours les commandes de ce guide avant de les saisir et remplacez les désignations des disques. Pour ce faire, utilisez les informations que vous avez préalablement relevées.

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

Si le disque 1 (sda) a été remplacé, vous devez vérifier s'il a été correctement détecté. Dans certains cas, vous devrez redémarrer le système. Étant donné que le chargeur d'amorçage principal se trouve généralement sur sda, il arrive souvent que le système ne démarre plus normalement. Démarrez donc le serveur en mode de secours et suivez les étapes indiquées ci-dessous.

Remarque

Les articles suivants du Centre d'Assistance décrivent comment démarrer votre Serveur Dédié ou votre Serveur Bare Metal dans le Rescue-System :

Serveur Dédié et Serveur Bare Metal gérés dans le Cloud Panel : Démarrer un Serveur Dédié et un Serveur Bare Metal dans le Rescue System Linux

Serveur Dédié géré via l'administration du serveur : Démarrer un serveur Linux dans le Rescue System

  • Copiez les tables de partition du disque 2 (ici : sdb) sur le nouveau disque (vide) (ici : sda).

    rescue:~# sfdisk -d /dev/sdb | sfdisk --force /dev/sda

Remarque

Pour les périphériques NVMe, vérifiez soigneusement leur nom (par exemple : sfdisk -d /dev/nvme0n1 | sfdisk --force /dev/nvme1n1).

  • Ajoutez les partitions au groupe RAID correspondant. Pour ce faire, adaptez les commandes suivantes en fonction de votre configuration, puis exécutez-les :

    RAID 1

    rescue:~# mdadm /dev/md4 -a /dev/sda4 (Root-Partition)

    rescue:~# mdadm /dev/md2 -a /dev/sda2 (Boot-Partition)

    rescue:~# mdadm /dev/md1 -a /dev/sda1 (EFI-Partition)

  • La reconstruction démarre en arrière-plan. Pour surveiller la reconstruction, saisissez la commande suivante :

    rescue:~# cat /proc/mdstat

  • Commencez par monter le système de fichiers racine. Ce n’est qu’ensuite que les autres partitions pourront être montées dans la structure de répertoires.

    rescue:~# mount /dev/md4 /mnt

  • Montez les partitions de démarrage et EFI.

    rescue:~# mount /dev/md2 /mnt/boot

    rescue:~# mount /dev/md1 /mnt/boot/efi

Remarque

Si des messages d'erreur indiquant que les points de montage n'existent pas s'affichent, créez-les à l'aide des commandes mkdir /mnt/boot et mkdir /mnt/boot/efi.

  • Valable uniquement pour un Serveur Dédié doté d'un système partitionné avec LVM : créez les points de montage suivants :

    rescue:~# mkdir /mnt/var

    rescue:~# mkdir /mnt/usr

    rescue:~# mkdir /mnt/home

  • Valable uniquement pour un Serveur Dédié doté d'un système partitionné avec LVM : montez les partitions var, usr et home si nécessaire.

    rescue:~# mount /dev/mapper/vg00-var /mnt/var

    rescue:~# mount /dev/mapper/vg00-usr /mnt/usr

    rescue:~# mount /dev/mapper/vg00-home /mnt/home

  • Valable pour Debian 13, AlmaLinux 9 et 10 ainsi que Rocky Linux 9 et 10 : pour monter les répertoires système dans l'environnement chroot, saisissez la commande suivante :

    rescue:~# for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt$i; done

  • Accédez à l'environnement chroot :

    rescue:~# chroot /mnt

  • Installez le chargeur d'amorçage. Exemple :

    Debian (11/12/13) / Ubuntu (24.04/26.04)

    rescue:/# grub-install --efi-directory=/boot/efi /dev/sda

    AlmaLinux 9 et 10 ainsi que Rocky Linux 9 et 10

    Commencez par essayer la restauration via dnf.

    rescue:/# dnf reinstall shim-x64 grub2-efi-x64

    rescue:/# grub2-mkconfig -o /boot/grub2/grub.cfg

    Si cette commande échoue, utilisez grub2-install.

    rescue:/# grub2-install --efi-directory=/boot/efi /dev/sda

    rescue:/# grub2-mkconfig -o /boot/grub2/grub.cfg

  • Valable uniquement pour Debian (11/12/13) / Ubuntu (24.04/ 26.04) : pour mettre à jour la configuration, saisissez la commande suivante :

    rescue:/# update-grub

  • Quittez l'environnement chroot avec la commande exit.

    rescue:/# exit

  • Démontez tous les périphériques de stockage :

    rescue:~# umount -R /mnt

    Attendez que le processus de reconstruction soit terminé, puis redémarrez le serveur en mode normal.

  • Une fois le redémarrage effectué, reconnectez-vous.
  • Pour configurer la partition /dev/sda3 en tant qu'espace d'échange Linux, saisissez la commande suivante :

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

Attention

La commande mkswap modifie l'UUID de la partition. Si, dans votre fichier /etc/fstab, la partition Swap est montée via son UUID (par défaut sous AlmaLinux/Rocky/Debian), vous devrez, après le redémarrage, modifier le fichier /etc/fstab et y indiquer le nouvel UUID, sinon l'espace Swap ne sera pas activé automatiquement. Si la partition Swap de votre serveur n'est pas montée via son UUID, il vous suffit d'activer la partition Swap. Dans ce cas, ignorez la modification du fichier fstab.

  • Pour déterminer l'UUID, saisissez la commande suivante :

    [root@host ~]# lsblk -f | grep sda3

  • Ceci ne s'applique que si la partition Swap est montée via son UUID : pour modifier le fichier /etc/fstab, saisissez la commande suivante :

    [root@host ~]# vi /etc/fstab

Remarque

L'éditeur vi dispose d'un mode d'insertion et d'un mode de commande. Vous pouvez accéder au mode d'insertion à l'aide de la touche [i]. Dans ce mode, les caractères saisis sont immédiatement insérés dans le texte. Pour passer en mode commande, appuyez ensuite sur [ESC]. Lorsque vous utilisez le mode commande, vos saisies au clavier sont interprétées comme des commandes.

  • Accédez à la ligne contenant « swap » et remplacez l'ancien UUID par le nouveau dans la configuration du fichier /etc/fstab.
  • Pour quitter vi et enregistrer le fichier, saisissez la commande :wq, puis appuyez sur la touche Entrée.
  • Pour finir, activez la partition Swap à l'aide de la commande suivante :

    [root@host ~]# swapon -a

  • Pour vérifier si l'espace Swap est actif, saisissez la commande suivante :

    [root@host ~]# cat /proc/swaps

     

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

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

  • Redémarrez le système afin que le disque 2 (sdb) soit reconnu.
  • Dans le système local, copiez les tables de partition sur le nouveau disque (vide). Si nécessaire, vous devrez utiliser l'option --force

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

  • Ajoutez les partitions au RAID. Exemple :

    RAID 1

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

    [root@host ~]# mdadm /dev/md2 -a /dev/sdb2

    [root@host ~]# mdadm /dev/md4 -a /dev/sdb4

  • Pour surveiller la reconstruction, saisissez la commande suivante :

    [root@host ~]# cat /proc/mdstat

  • Pour que le serveur puisse démarrer même en cas de panne future de sda, le chargeur d'amorçage doit également être écrit sur sdb. À cette fin, installez le chargeur d'amorçage :

    Debian (11/12/13) / Ubuntu (24.04/ 26.04)

    [root@host ~]# grub-install --efi-directory=/boot/efi /dev/sdb

    AlmaLinux 9 et 10 ainsi que Rocky Linux 9 et 10

    Commencez par essayer la restauration via dnf :

    [root@host ~]# dnf reinstall shim-x64 grub2-efi-x64

    [root@host ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

    Si cette commande échoue, utilisez la commande suivante :

    [root@host ~]# grub2-install --efi-directory=/boot/efi /dev/sdb

    [root@host ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

  • Pour mettre à jour la configuration, saisissez la commande suivante :

    Debian (11/12/13) / Ubuntu (24.04/ 26.04)

    [root@host ~]# update-grub

    AlmaLinux 9 et 10 ainsi que Rocky Linux 9 et 10

    [root@host ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

  • Assurez-vous que la partition Swap n'est pas en RAID. Pour cela, saisissez la commande suivante :

    [root@host ~]# cat /proc/mdstat

  • Pour configurer la partition en tant qu'espace d'échange Linux, adaptez la commande suivante en fonction de votre configuration, puis exécutez-la. Dans cet exemple, il s'agit de l'espace d'échange Linux /dev/sdb3.

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

Attention

La commande mkswap modifie l'UUID de la partition. Si, dans votre fichier /etc/fstab, la partition Swap est montée via son UUID (par défaut sous Alma/Rocky/Debian), vous devrez, après le redémarrage, modifier le fichier /etc/fstab et y indiquer le nouvel UUID, sinon l'espace Swap ne sera pas activé automatiquement. Si la partition Swap de votre serveur n'est pas montée via son UUID, il vous suffit d'activer la partition Swap. Dans ce cas, ignorez la modification du fichier fstab.

  • Pour déterminer l'UUID, adaptez la commande suivante en fonction de votre configuration, puis exécutez-la :

    [root@host ~]# lsblk -f | grep sdb3

  • Ceci ne s'applique que si la partition swap est montée via son UUID : pour modifier le fichier /etc/fstab, saisissez la commande suivante :

    [root@host ~]# vi /etc/fstab

  • Remplacez l'UUID dans la configuration du fichier /etc/fstab.
  • Pour quitter vi et enregistrer le fichier, saisissez la commande :wq puis appuyez sur la touche Entrée.
  • Activez la partition Swap. Pour ce faire, saisissez la commande suivante :

    [root@host ~]# swapon -a

  • Pour vérifier si l'espace d'échange est actif, saisissez la commande suivante :

    [root@host ~]# cat /proc/swaps

Restaurer un RAID (RAID 5 ou RAID 6)

Si vous utilisez un RAID 5 ou un RAID 6, la matrice est composée d'au moins 3 (RAID 5) ou 4 (RAID 6) disques. Si vous remplacez un disque, vous devez vous assurer que la table de partition est copiée à l'identique à partir de l'un des disques restants en bon état. Le remplacement du disque (sdc, sdd, sde, etc.) peut s'effectuer à chaud. Il n'est pas nécessaire d'installer un chargeur d'amorçage sur ces disques.

Dans cet exemple, nous partons du principe que sdd a été remplacé et que sdc et sdf sont en bon état.

  • Copiez la structure de l’un des disques en bon état vers le nouveau disque. Pour ce faire, adaptez la commande suivante, puis exécutez-la. Exemple :

    [root@host ~]# sfdisk -d /dev/sdc | sfdisk --force /dev/sdd

  • Ajoutez la nouvelle partition au groupe RAID (par exemple md11). Pour ce faire, adaptez la commande suivante, puis exécutez-la.

    [root@host ~]# mdadm /dev/md11 -a /dev/sdd1

  • La reconstruction d'un RAID 5/6 peut prendre plusieurs heures lorsque les volumes de données sont importants. Utilisez cette commande pour surveiller la progression :

    [root@host ~]# watch -n 5 cat /proc/mdstat