Gestion et reconstruction d'un RAID logiciel sur les serveurs utilisant le mode de démarrage UEFI
Objectif
Un Redundant Array of Independent Disks (RAID) est une technologie qui atténue la perte de données sur un serveur en répliquant les données sur deux disques ou plus.
Le niveau RAID par défaut pour les installations de serveurs OVHcloud est le RAID 1, qui double l'espace occupé par vos données, réduisant ainsi l'espace disque utilisable de moitié.
Ce guide explique comment gérer et reconstruire un RAID logiciel après un remplacement de disque sur votre serveur en mode UEFI.
Avant de commencer, veuillez noter que ce guide se concentre sur les serveurs dédiés qui utilisent le mode UEFI comme mode de démarrage. C'est le cas des cartes mères modernes. Si votre serveur utilise le mode de démarrage legacy (BIOS), veuillez consulter ce guide : Gestion et reconstruction d'un RAID logiciel sur des serveurs en mode de démarrage legacy (BIOS).
Pour vérifier si un serveur fonctionne en mode BIOS legacy ou en mode UEFI, exécutez la commande suivante :
Pour plus d'informations sur l'UEFI, consultez l'article suivant : https://uefi.org/about.
Prérequis
- Un serveur dédié avec une configuration RAID logiciel
- Un accès administrateur (sudo) au serveur via SSH
- Une compréhension du RAID, des partitions et de GRUB
Au cours de ce guide, nous utilisons les termes disque principal et disque secondaire. Dans ce contexte :
- Le disque principal est le disque dont l'ESP (EFI System Partition) est monté par Linux.
- Le ou les disques secondaires sont tous les autres disques du RAID.
En pratique
Lorsque vous achetez un nouveau serveur, vous pouvez ressentir le besoin d'effectuer une série de tests et d'actions. Un tel test pourrait être de simuler une panne de disque afin de comprendre le processus de reconstruction du RAID.
Aperçu du contenu
- Informations de base
- Compréhension de la partition système EFI (ESP)
- Simulation d'une panne de disque
- Reconstruction du RAID (avec des ESP non mises en miroir)
- Reconstruction du RAID (avec des ESP en miroir)
- Ajout de l'étiquette à la partition SWAP (si applicable)
Informations de base
Dans une session de ligne de commande, tapez la commande suivante pour déterminer l'état du RAID :
D'après les résultats, nous avons actuellement deux périphériques RAID logiciels configurés, md2 et md3, avec md3 étant le plus grand des deux. md3 est composé de deux partitions, appelées nvme0n1p3 et nvme1n1p3.
Le [UU] signifie que tous les disques fonctionnent normalement. Un _ indiquerait un disque défectueux.
Dans d'autres cas, vous obtiendriez les résultats suivants :
D'après les résultats, nous avons actuellement trois périphériques RAID logiciels configurés, md1, md2 et md3, avec md3 étant le plus grand des trois. md3 est composé de deux partitions, appelées nvme0n1p3 et nvme1n1p3.
Si vous avez un serveur avec des disques SATA, vous obtiendrez les résultats suivants :
Cette commande affiche nos volumes RAID, mais pas la taille des partitions. Nous pouvons trouver cette information à l'aide de fdisk -l :
fdisk -l
Cette commande permet également d'identifier le type de partition.
Pour les partitions GPT, la ligne 6 affiche : Disklabel type: gpt.
Cette information n'est visible que lorsque le serveur est en mode normal.
Toujours en se basant sur les résultats, nous pouvons voir que /dev/md2 se compose de 1022 MiB et /dev/md3 contient 474,81 GiB. Si nous exécutons la commande mount, nous pouvons également trouver la disposition des disques.
En alternative, la commande lsblk offre une vue différente des partitions :
De plus, si nous exécutons lsblk -f, nous obtenons davantage d'informations sur ces partitions, telles que le LABEL et l'UUID :
Notez les périphériques, les partitions et les points de montage, car cela est important, en particulier après le remplacement d'un disque. Cela vous permettra de vérifier que les partitions sont correctement montées sur leurs points de montage respectifs sur le nouveau disque.
Dans notre exemple, nous avons :
- Partitions faisant partie de md2 (
/boot) : nvme0n1p2 et nvme1n1p2. - Partitions faisant partie de md3 (
/) : nvme0n1p3 et nvme1n1p3. - Partitions swap : nvme0n1p4 et nvme1n1p4.
- ESP montée (
/boot/efi) : nvme0n1p1. - ESP non montée : nvme1n1p1.
La partition nvme0n1p5 est un config drive, c'est-à-dire un volume en lecture seule qui fournit au serveur ses données de configuration initiale. Elle n'est lue qu'une seule fois lors du premier démarrage et peut être supprimée ensuite.
Comprendre la partition système EFI (ESP)
Dépliez cette section
Qu'est-ce qu'une partition système EFI ?
Une partition système EFI est une partition qui peut contenir les chargeurs de démarrage, les gestionnaires de démarrage ou les images de noyau d'un système d'exploitation installé. Elle peut également contenir des programmes utilitaires système destinés à être exécutés avant le démarrage du système d'exploitation, ainsi que des fichiers de données tels que des journaux d'erreurs.
La partition système EFI est-elle mise en miroir dans RAID ?
À compter de décembre 2025, seules les versions suivantes du système d'exploitation mettent en miroir la partition système EFI dans RAID pour les nouvelles installations ou les réinstallations :
- Debian 13
- Proxmox 9
- Ubuntu 25.10
- AlmaLinux et Rocky Linux 10
- Fedora 43
Pour les versions antérieures de ces systèmes d'exploitation, la partition EFI n'est pas mise en miroir dans RAID ; plusieurs ESP sont créés, un par disque. Cependant, une seule ESP est montée à la fois. La partition système EFI est montée dans /boot/efi, et le disque sur lequel elle est montée est sélectionné par Linux au démarrage.
Vous pouvez utiliser la commande lsblk pour vérifier si votre partition fait partie d'une configuration RAID.
D'après les résultats ci-dessus, nous pouvons voir qu'une seule partition système EFI est montée dans /boot/efi. Les ESP ne sont donc pas mis en miroir (répliqués).
D'après les résultats ci-dessus, nous pouvons voir que les deux partitions système EFI sont montées sur /boot/efi. Elles sont donc en miroir dans RAID.
Le contenu de la partition système EFI change-t-il régulièrement ?
En général, le contenu de cette partition ne change pas beaucoup, son contenu ne devrait changer que lors des mises à jour du chargeur d'amorçage (bootloader) (par exemple GRUB).
Cependant, si votre partition EFI n'est pas en miroir, nous vous recommandons d'exécuter un script automatique ou manuel pour synchroniser toutes les ESP, afin qu'elles contiennent toutes les mêmes fichiers à jour. Ainsi, si le disque sur lequel cette partition est montée tombe en panne, le serveur pourra redémarrer sur l'ESP de l'un des autres disques.
Que se passe-t-il si le disque principal (avec la partition système EFI montée) tombe en panne ?
Si votre ESP n'est pas en miroir, vous pouvez rencontrer les difficultés suivantes :
Veuillez noter que, bien que nous examinions ci-dessous les cas les plus courants, il existe plusieurs autres raisons pour lesquelles un serveur peut ne pas démarrer en mode normal après un remplacement de disque.
Étude de cas 1 - Aucune modification ni mise à jour majeure (par exemple, GRUB) n'a été apportée au système d'exploitation.
- Le serveur est capable de démarrer en mode normal et vous pouvez procéder à la reconstruction du RAID.
- Le serveur ne parvient pas à démarrer en mode normal. Utilisez l'environnement du mode rescue pour reconstruire le RAID et recréer la partition EFI sur le nouveau disque.
Étude de cas 2 - Des mises à jour majeures du système (par exemple, GRUB) ont été effectuées et les ESP sont synchronisés.
- Le serveur est capable de démarrer en mode normal car toutes les ESP contiennent des informations à jour et la reconstruction du RAID peut être effectuée en mode normal.
- Le serveur ne parvient pas à démarrer en mode normal. Utilisez l'environnement du mode rescue pour reconstruire le RAID et recréer la partition EFI sur le nouveau disque.
Étude de cas 3 - Des mises à jour majeures du système (par exemple, GRUB) ont été effectuées sur le système d'exploitation et les partitions ESP n'ont pas été synchronisées.
- Le serveur ne parvient pas à démarrer en mode normal, Utilisez l'environnement du mode rescue pour reconstruire le RAID, recréer la partition système EFI sur le nouveau disque et réinstaller le bootloader (par exemple, GRUB).
- Le serveur est capable de démarrer en mode normal (cela pourrait arriver dans le cas où un système d'exploitation est mis à niveau mais que la version de GRUB reste inchangée), ce qui permet de procéder à la reconstruction du RAID.
Dans certains cas, le démarrage à partir d'une ESP obsolète peut échouer ; par exemple, une mise à jour majeure de GRUB peut rendre le binaire GRUB dans l'ESP incompatible avec les nouveaux modules GRUB dans la partition /boot.
Comment puis-je synchroniser mes partitions système EFI, et à quelle fréquence devrais-je les synchroniser ?
Si votre partition système EFI n'est pas mise en miroir, tenez compte des éléments suivants :
Veuillez noter que le processus peut varier en fonction de votre système d'exploitation. Par exemple, Ubuntu peut synchroniser plusieurs partitions système EFI à chaque mise à jour de GRUB, mais c'est le seul système d'exploitation qui le fait. Nous vous recommandons de consulter la documentation officielle de votre système d'exploitation pour comprendre comment gérer les ESP.
Dans ce guide, le système d'exploitation utilisé est Debian.
Nous vous recommandons de synchroniser vos ESP régulièrement ou après chaque mise à jour majeure du système. Par défaut, toutes les partitions système EFI contiennent les mêmes fichiers après l'installation. Cependant, si une mise à jour majeure du système est impliquée, la synchronisation des ESP est essentielle pour garder le contenu à jour.
L'exécution d'un script est un moyen efficace de synchroniser régulièrement vos partitions. Vous trouverez ci-dessous un script que vous pouvez utiliser pour synchroniser manuellement vos ESP. Vous pouvez également configurer un script automatisé pour les synchroniser quotidiennement ou à chaque démarrage du système.
Avant d'exécuter le script, assurez-vous que rsync est installé sur votre système :
Debian/Ubuntu
CentOS, Red Hat et Fedora
Pour exécuter un script sous Linux, vous avez besoin d'un fichier exécutable :
- Commencez par créer un fichier .sh dans le répertoire de votre choix, en remplaçant
nom-du-scriptpar le nom de votre choix.
- Ouvrez le fichier avec un éditeur de texte et ajoutez les lignes suivantes :
Enregistrez et fermez le fichier.
- Rendez le script exécutable
- Exécutez le script
- Si vous n'êtes pas dans le dossier
Lorsque le script est exécuté, le contenu de la partition EFI montée sera synchronisé avec les autres. Pour accéder au contenu, vous pouvez monter l'une de ces partitions EFI non montées sur le point de montage : /var/lib/grub/esp.
Simulation d'une panne de disque
Maintenant que nous disposons des informations nécessaires, nous pouvons simuler une panne de disque. Dans cet exemple, nous allons provoquer la panne du disque principal nvme0n1 (notez qu'il s'agit du disque sur lequel est monté l'ESP).
La méthode préférée pour le faire est via le mode rescue d'OVHcloud.
Redémarrez le serveur en mode rescue et connectez-vous avec les identifiants fournis.
Pour retirer un disque du RAID, la première étape est de le marquer comme Failed (défectueux) et de retirer les partitions de leurs tableaux RAID respectifs.
Remarque : il s'agit uniquement d'une illustration ; adaptez les commandes à votre propre configuration.
À partir du résultat ci-dessus, nvme0n1 comporte deux partitions en RAID qui sont nvme0n1p2 et nvme0n1p3.
Retrait du disque défectueux
Tout d'abord, nous marquons les partitions nvme0n1p2 et nvme0n1p3 comme défectueuses (Failed).
Ensuite, nous exécutons la commande cat /proc/mdstat :
Comme nous pouvons le voir ci-dessus, le [F] à côté des partitions indique que le disque est défectueux ou en panne.
Ensuite, nous retirons ces partitions des matrices RAID pour supprimer complètement le disque du RAID.
Le statut RAID devrait maintenant ressembler à ceci :
Maintenant, seules deux partitions apparaissent désormais dans les matrices RAID. Nous avons réussi à provoquer la défaillance du disque nvme0n1.
Pour obtenir un disque similaire à un disque vide, exécutez la commande suivante sur chaque partition, puis sur le disque :
Le disque apparaît désormais comme un disque neuf et vide :
Exécutez la commande suivante pour vérifier que le disque a bien été « effacé » :
Pour plus d'informations sur la préparation et la demande de remplacement d'un disque, consultez ce guide.
De plus, si vous exécutez la commande suivante, vous obtiendrez plus de détails sur les matrices RAID :
Nous pouvons maintenant procéder au remplacement du disque et à la reconstruction du RAID.
Reconstruction du RAID (avec des ESP non mises en miroir)
Ce processus peut varier selon le système d'exploitation installé sur votre serveur. Nous vous recommandons de consulter la documentation officielle de votre système d'exploitation pour obtenir les commandes appropriées.
Si votre serveur peut démarrer en mode normal après le remplacement du disque, procédez simplement en suivant les étapes décrites dans cette section si votre partition EFI n'est pas en miroir ou cette section si votre partition EFI est en miroir.
Reconstruction du RAID après le remplacement du disque principal (mode rescue)
Une fois le disque remplacé, copiez la table de partition du disque sain (dans cet exemple, nvme1n1) vers le nouveau disque (nvme0n1).
Pour les partitions GPT
La commande doit être dans ce format : sgdisk -R /dev/nouveau disque /dev/disque sain.
Exemple :
Exécutez lsblk pour vous assurer que les tables de partitions ont été correctement copiées :
Ensuite, randomisez le GUID du nouveau disque afin d'éviter tout conflit avec les GUID d'autres disques :
Si vous recevez le message suivant :
Exécutez la commande partprobe.
Ensuite, nous reconstruisons la matrice RAID. L'extrait de code suivant montre comment ajouter les nouvelles partitions (nvme0n1p2 et nvme0n1p3) à la matrice RAID.
Pour vérifier le processus de reconstruction :
Une fois la reconstruction du RAID terminée, exécutez la commande suivante pour vous assurer que les partitions ont été correctement ajoutées au RAID :
D'après les résultats ci-dessus, les partitions du nouveau disque ont été correctement ajoutées au RAID. Toutefois, la partition EFI System et la partition SWAP (dans certains cas) n'ont pas été dupliquées, ce qui est normal car elles ne font pas partie du RAID.
Les exemples ci-dessus illustrent simplement les étapes nécessaires sur la base d'une configuration de serveur par défaut. Les résultats de chaque commande dépendent du type de matériel installé sur votre serveur et de la structure de ses partitions. En cas de doute, consultez la documentation de votre système d'exploitation.
Si vous avez besoin d'une assistance professionnelle pour l'administration de votre serveur, consultez les détails de la section Aller plus loin de ce guide.
Recréation de la partition EFI System
Pour recréer la partition EFI System sur le nouveau disque, nous devons formater nvme0n1p1 et répliquer le contenu de la partition EFI System saine (dans notre exemple : nvme1n1p1) sur celle-ci.
Ici, nous supposons que les deux partitions ont été synchronisées et contiennent des fichiers à jour.
Si une mise à jour majeure du système, telle qu'une mise à jour du noyau ou de GRUB, a eu lieu et que les deux partitions n'ont pas été synchronisées, consultez cette section une fois que vous avez terminé la création de la nouvelle partition EFI System.
Tout d'abord, formatez la partition :
Ensuite, nommez la partition « EFI_SYSPART » (ce nom est spécifique à OVHcloud) :
Dupliquez ensuite le contenu de nvme1n1p1 vers nvme0n1p1.
Commencez par créer deux dossiers, nommés « old » et « new » dans cet exemple :
Ensuite, montez nvme1n1p1 dans le dossier « old » et nvme0n1p1 dans le dossier « new » pour faire la distinction :
Copiez les fichiers du dossier « old » vers le dossier « new » :
Une fois cela fait, démontez les deux partitions :
Ensuite, montez la partition contenant la racine du système d'exploitation sur /mnt. Dans cet exemple, cette partition est md3.
Montez les répertoires suivants pour vous assurer que toutes les modifications apportées dans l'environnement chroot fonctionnent correctement :
Ensuite, utilisez la commande chroot pour accéder au point de montage et vérifiez que la nouvelle partition système EFI a été correctement créée et que le système reconnaît les deux ESP :
Pour afficher les partitions ESP, exécutez la commande blkid -t LABEL=EFI_SYSPART :
Les résultats ci-dessus montrent que la nouvelle partition EFI a été créée correctement et que le LABEL a été appliqué correctement.
Une fois cela fait, quittez l'environnement chroot :
Ensuite, consultez cette section pour recréer la partition SWAP (le cas échéant).
Reconstruction du RAID avec des ESP non synchronisés après des mises à jour majeures du système (GRUB)
Dépliez cette section
Veuillez suivre les étapes de cette section uniquement si cela s'applique à votre cas.
Si le disque principal est remplacé alors qu'il contient des partitions système EFI qui n'ont pas été synchronisées après des mises à jour majeures du système ayant modifié le GRUB, le démarrage à partir d'un des disques secondaires avec une ESP obsolète peut échouer.
Dans ce cas, en plus de reconstruire le RAID et de recréer la partition système EFI en mode rescue, vous devez également réinstaller le GRUB sur celle-ci.
Une fois l'ESP créé (comme expliqué ci-dessus) et reconnu par le système, toujours dans l'environnement chroot, créez le dossier /boot/efi pour monter la nouvelle partition système EFI nvme0n1p1.
Ensuite, réinstallez le chargeur de démarrage GRUB (bootloader) :
Puis, exécutez la commande suivante :
Une fois cela fait, quittez l'environnement chroot :
Ensuite, consultez cette section pour recréer la partition SWAP (le cas échéant).
Reconstruction du RAID après le remplacement du disque principal (mode normal)
Dépliez cette section
Si votre serveur est capable de démarrer en mode normal après un remplacement de disque, vous pouvez suivre les étapes ci-dessous pour reconstruire le RAID.
Une fois le disque remplacé, nous copions la table de partition du disque sain (dans cet exemple, nvme1n1) vers le nouveau (nvme0n1).
Pour les partitions GPT
La commande doit être dans ce format : sgdisk -R /dev/nouveau disque /dev/disque sain.
Une fois cela fait, l'étape suivante consiste à attribuer un GUID aléatoire au nouveau disque pour éviter les conflits de GUID avec d'autres disques :
Si vous recevez le message suivant :
Exécutez simplement la commande partprobe. Si vous ne voyez toujours pas les nouvelles partitions créées (avec la commande lsblk), vous devez redémarrer le serveur avant de continuer.
Ensuite, ajoutez les partitions au RAID :
Utilisez cette commande pour suivre la reconstruction du RAID : cat /proc/mdstat.
Une fois la reconstruction terminée, recréez la partition système EFI sur le nouveau disque.
- Tout d'abord, assurez-vous que les outils nécessaires sont installés :
Debian et Ubuntu
CentOS
- Formatez la partition. Dans notre exemple
nvme0n1p1:
- Attribuez l'étiquette
EFI_SYSPARTà la partition (ce nommage est spécifique à OVHcloud) :
Une fois cela fait, vous pouvez synchroniser les deux partitions à l'aide du script fourni dans ce guide.
- Vérifiez que la nouvelle partition EFI System a été correctement créée et que le système la reconnaît :
Ensuite, consultez cette section pour recréer la partition SWAP (le cas échéant).
Reconstruction du RAID (avec des ESP en miroir)
Dépliez cette section
La reconstruction du RAID avec toutes les partitions en miroir est plus facile ; il suffit de copier les données du disque sain vers le nouveau disque et de recréer la partition [SWAP] (le cas échéant).
D'après les illustrations ci-dessus, l'état du RAID devrait ressembler à ceci après une panne de disque :
Une fois le disque remplacé, la première étape consiste à copier la table de partition du disque sain (dans cet exemple, nvme1n1) vers le nouveau disque (nvme0n1).
Pour les partitions GPT
La commande doit être au format suivant : sgdisk -R /dev/nouveau disque /dev/disque sain.
Dans notre exemple :
Exécutez lsblk pour vous assurer que les tables de partition ont été correctement copiées :
l'étape suivante consiste à attribuer un GUID aléatoire au nouveau disque pour éviter les conflits de GUID avec d'autres disques :
Si vous recevez le message suivant :
Exécutez la commande partprobe.
Nous pouvons maintenant reconstruire la matrice RAID. L'extrait de code suivant montre comment ajouter à nouveau les nouvelles partitions (nvme0n1p1, nvme0n1p2 et nvme0n1p3) à la matrice RAID.
Pour vérifier le processus de reconstruction :
Une fois la reconstruction terminée, exécutez la commande suivante pour vous assurer que les partitions ont été correctement ajoutées au RAID :
Ensuite, consultez cette section pour recréer la partition SWAP (le cas échéant).
D'après les illustrations ci-dessus, l'état du RAID devrait ressembler à ceci après une panne de disque :
Une fois le disque remplacé, la première étape consiste à copier la table de partition du disque sain (dans cet exemple, nvme1n1) vers le nouveau disque (nvme0n1).
Pour les partitions GPT
La commande doit être au format suivant : sgdisk -R /dev/nouveau disque /dev/disque sain.
Ensuite, randomisez le GUID du nouveau disque afin d'éviter tout conflit avec les GUID d'autres disques :
Si vous recevez le message suivant :
Exécutez simplement la commande partprobe. Si vous ne voyez toujours pas les nouvelles partitions créées (ex. avec lsblk), vous devez redémarrer le serveur avant de continuer.
Ensuite, ajoutez les partitions au RAID :
Utilisez la commande suivante pour surveiller la reconstruction du RAID :
Une fois la reconstruction du RAID terminée, consultez cette section pour recréer la partition SWAP (le cas échéant).
Ajout de l'étiquette à la partition SWAP (si applicable)
Dépliez cette section
Hors de l'environnement chroot, recréez la partition [SWAP] nvme0n1p4 et ajoutez le label swap-nvmenxxx :
Vérifiez que l'étiquette a été correctement appliquée :
Accédez de nouveau à l'environnement chroot :
Récupérez l'UUID des deux partitions SWAP :
Ensuite, remplaçez l'ancien UUID de la partition SWAP (nvme0n1p4) par le nouveau dans le fichier /etc/fstab :
Exemple :
Sur la base des résultats ci-dessus, l'ancien UUID est b7b5dd38-9b51-4282-8f2d-26c65e8d58ec et doit être remplacé par le nouveau b3c9e03a-52f5-4683-81b6-cc10091fcd15. Assurez-vous de remplacer le bon UUID.
Ensuite, vérifiez que tout est correctement monté avec la commande suivante :
Activez la partition SWAP :
Sortez de l'environnement chroot avec exit et rechargez le système :
Démontez tous les disques :
Nous avons maintenant terminé avec succès la reconstruction RAID sur le serveur et nous pouvons désormais le redémarrer en mode normal.
Pour recréer la partition SWAP, procédez comme suit :
- Tout d'abord, recréez la partition sur nvme0n1p4 et ajoutez le label swap-nvme0n1p4 :
- Récupérez les UUID des deux partitions SWAP :
- Remplaçez l'ancien UUID de la partition SWAP (nvme0n1p4) par le nouveau dans
/etc/fstab:
Exemple :
D'après les résultats ci-dessus, l'ancien UUID est b7b5dd38-9b51-4282-8f2d-26c65e8d58ec et doit être remplacé par le nouveau b3c9e03a-52f5-4683-81b6-cc10091fcd15.
Assurez-vous de remplacer le bon UUID.
Ensuite, exécutez la commande suivante pour activer la partition SWAP :
Ensuite, rechargez le système :
Nous avons maintenant terminé avec succès la reconstruction RAID.
Aller plus loin
Pour les services spécialisés (SEO, développement, etc.), contactez les partenaires OVHcloud.
Si vous avez besoin d'une assistance pour utiliser et configurer vos solutions OVHcloud, veuillez consulter nos offres de support.
Si vous avez besoin de formation ou d'une assistance technique pour mettre en place nos solutions, contactez votre représentant commercial ou cliquez sur ce lien pour obtenir un devis et demander à nos experts de l'équipe Professional Services d'intervenir sur votre cas d'utilisation spécifique.
Rejoignez notre communauté d'utilisateurs.