Guide des technologies

Migration vers RAID1 : création des volumes et préparation du démarrage

7 min read Administration Linux Mis à jour 28 Sep 2025
Migrer vers RAID1 et préparer le démarrage
Migrer vers RAID1 et préparer le démarrage

Ce guide montre comment créer trois volumes RAID1 dégradés (/dev/md0, /dev/md1, /dev/md2) avec mdadm, formater et monter les systèmes de fichiers, mettre à jour /etc/fstab et /etc/mtab, adapter GRUB et créer l’initrd. Inclut checklists, tests d’acceptation et mesures d’atténuation avant le redémarrage.

Contexte et objectif

But : migrer un système existant pour qu’il boote depuis dispositifs en RAID1 (miroir), tout en gardant la possibilité de démarrer depuis le disque d’origine si le RAID dégradé échoue. Ce guide part du principe que /dev/sda contient le système en cours d’exécution et que /dev/sdb est le disque cible pour le miroir.

Définitions rapides

  • mdadm : utilitaire de gestion des ensembles RAID logiciels sous Linux.
  • RAID1 : miroir de disques (les données sont dupliquées sur au moins deux disques).
  • initrd : ramdisk initial utilisé par le noyau au démarrage.
  • GRUB : chargeur de démarrage classique (grub legacy) utilisé dans cet exemple.

1 Créer nos volumes RAID

Nous allons créer trois ensembles RAID : /dev/md0 (boot), /dev/md1 (swap) et /dev/md2 (racine). Comme le système tourne encore sur /dev/sda1, /dev/sda2 et /dev/sda3, nous utilisons le placeholder missing pour démarrer des ensembles dégradés et ajouter les partitions de /dev/sda ultérieurement.

Exécutez :

mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2
mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb3

Vérifiez l’état :

cat /proc/mdstat

L’affichage attendu doit montrer trois ensembles RAID en état dégradé ([U] ou [U] indiquent un disque manquant) :

[root@server1 ~]# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sdb3[1]
      4618560 blocks [2/1] [_U]

md1 : active raid1 sdb2[1]
      513984 blocks [2/1] [_U]

md0 : active raid1 sdb1[1]
      104320 blocks [2/1] [_U]

unused devices: 
[root@server1 ~]#

Note importante : un ensemble dégradé est utilisable mais n’offre pas de redondance complète tant que le second disque n’a pas été ajouté et synchronisé.

2 Créer les systèmes de fichiers et enregistrer la configuration mdadm

Formatez les volumes et préparez le swap :

mkfs.ext3 /dev/md0
mkswap /dev/md1
mkfs.ext3 /dev/md2

Générez /etc/mdadm.conf pour conserver l’identité des ensembles :

mdadm --examine --scan > /etc/mdadm.conf

Affichez le fichier :

cat /etc/mdadm.conf

Vous devriez voir les lignes ARRAY décrivant chaque ensemble :

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=2848a3f5:cd1c26b6:e762ed83:696752f9
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8a004bac:92261691:227767de:4adf6592
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=939f1c71:be9c10fd:d9e5f8c6:a46bcd49

Conserver ces lignes assure que mdadm reconnaît et assemble correctement les RAIDs au démarrage.

3 Monter les nouveaux volumes et modifier les tables de montage

Créez des points de montage temporaires, puis montez :

mkdir /mnt/md0
mkdir /mnt/md2

mount /dev/md0 /mnt/md0
mount /dev/md2 /mnt/md2

Vérifiez que les montages sont actifs :

mount

Exemple de sortie (montre /dev/md0 et /dev/md2 montés) :

[root@server1 ~]# mount
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/md0 on /mnt/md0 type ext3 (rw)
/dev/md2 on /mnt/md2 type ext3 (rw)
[root@server1 ~]#

Éditez /etc/fstab pour utiliser les périphériques RAID au lieu des LABELs existants. Remplacez LABEL=/boot par /dev/md0, LABEL=SWAP-sda2 par /dev/md1 et LABEL=/ par /dev/md2 :

vi /etc/fstab

Exemple de contenu souhaité :

/dev/md2                 /                       ext3    defaults        1 1
/dev/md0                 /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/md1                 swap                    swap    defaults        0 0

Mettez également à jour /etc/mtab si nécessaire pour refléter temporairement les montages actuels :

vi /etc/mtab

Exemple :

/dev/md2 / ext3 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
/dev/md0 /boot ext3 rw 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0

Important : /etc/mtab est souvent géré automatiquement par le système ; modifiez-le uniquement si l’outil de votre distribution ne le met pas à jour automatiquement.

4 Adapter GRUB pour booter depuis le RAID

Ouvrez /boot/grub/menu.lst et activez le fallback en ajoutant fallback=1 juste après default=0 :

vi /boot/grub/menu.lst
default=0
fallback=1

Ensuite, copiez le premier bloc de démarrage du noyau et placez‑le avant le bloc existant. Dans la copie, remplacez root=LABEL=/ par root=/dev/md2 et changez root (hd0,0) en root (hd1,0) pour indiquer que GRUB doit considérer le second disque pour le boot RAID :

title Fedora (2.6.23.1-42.fc8)
        root (hd1,0)
        kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet
        initrd /initrd-2.6.23.1-42.fc8.img

title Fedora (2.6.23.1-42.fc8)
        root (hd0,0)
        kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.23.1-42.fc8.img

Explication rapide : fallback=1 permet d’essayer la deuxième option de menu si la première échoue. root (hd1,0) doit pointer vers la partition /boot du disque qui fait partie du RAID (/dev/sdb dans cet exemple).

5 Mettre à jour l’initrd et copier les données

Renommez l’initrd courant et reconstruisez‑le pour prendre en compte le montage RAID :

mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig
mkinitrd /boot/initrd-`uname -r`.img `uname -r`

Copiez ensuite les données racine et /boot vers les volumes RAID montés :

cp -dpRx / /mnt/md2

cd /boot
cp -dpRx . /mnt/md0

Options cp expliquées : -d conserve les liens, -p conserve les permissions, -R récursif, -x reste sur le même système de fichiers.

6 Préparer GRUB sur les deux disques

Installez le chargeur de démarrage GRUB sur le disque secondaire (/dev/sdb) et sur l’original, pour garantir la capacité de démarrage si l’un des disques échoue.

Démarrez l’interpréteur GRUB :

grub

Dans l’invite GRUB, exécutez :

root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit

Exemple d’échanges montrant la réussite des opérations d’installation de stage1/stage2 :

grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 ...
 succeeded
 Done.

grub> root (hd1,0)
 Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd1)
 ...
 succeeded
 Done.

grub> quit

Ensuite, quittez la session et redémarrez :

reboot

Le système essaiera de booter depuis les ensembles RAID; si cela échoue, GRUB utilisera la ligne fallback et tentera le disque d’origine.

Checklists avant et après le redémarrage

Checklist avant redémarrage (administrateur) :

  • Vérifier /proc/mdstat : ensembles créés et état attendu.
  • Vérifier /etc/mdadm.conf contient les ARRAY pour md0/md1/md2.
  • Vérifier /etc/fstab et /etc/mtab pointent vers /dev/md0 et /dev/md2.
  • Vérifier contenu de /mnt/md0 et /mnt/md2 (les copies de /boot et /).
  • Recréer l’initrd et s’assurer que l’image a été écrite dans /boot.
  • Installer GRUB sur les deux disques et vérifier les messages de succès.
  • Avoir une console série ou accès IPMI en cas de problème au démarrage.

Checklist après redémarrage :

  • Vérifier que le système a booté et que root est /dev/md2 (mount | grep ‘ / ‘).
  • Vérifier que /dev/md0 est monté sur /boot.
  • Vérifier /proc/mdstat que les ensembles sont montés et, si possible, ajouter /dev/sda partitions pour compléter les miroirs.
  • Si une partition /dev/sda n’est pas encore dans le RAID, ajoutez‑la via mdadm –add.

Tests d’acceptation

Critères que le système doit remplir pour considérer la migration réussie :

  • Le système démarre automatiquement et le root est /dev/md2.
  • Le répertoire /boot est servi depuis /dev/md0.
  • Les identifiants ARRAY de /etc/mdadm.conf correspondent aux ensembles actifs.
  • Après ajout des partitions /dev/sda1,2,3 au RAID, les ensembles synchronisent correctement sans erreurs.

Scénario de test simple : simulez une panne du disque primaire en modifiant l’ordre de boot dans le BIOS ou en déconnectant temporairement /dev/sda pour valider le comportement fallback.

Risques courants et mitigations

  • Risque : GRUB incorrectement installé sur l’un des disques. Mitigation : installer GRUB sur les deux disques et tester le boot en isolant chaque disque.
  • Risque : initrd ne contient pas les outils mdadm. Mitigation : reconstruire l’initrd et vérifier la présence de mdadm et des modules RAID.
  • Risque : mauvaise entrée dans /etc/fstab provoquant un boot en mode secours. Mitigation : conserver une entrée correcte et tester les montages manuellement avant reboot.
  • Risque : perte de données due à une copie incomplète. Mitigation : vérifier les tailles et checksums des fichiers critiques avant le switch final.

Alternatives et approches complémentaires

  • Utiliser GRUB2 si la distribution le requiert : la configuration et commandes diffèrent (grub-install, update-grub).
  • Utiliser LVM au‑dessus de MD pour plus de flexibilité (partitionnement logique après création du RAID).
  • Utiliser un outil de sauvegarde/restore au lieu de cp -dpRx si l’environnement l’exige (rsync, dump/restore) pour un contrôle plus fin des permissions et des liens.

Glossaire rapide

  • mdadm : utilitaire de gestion des RAID logiciels.
  • RAID1 : mode miroir garantissant redondance disque par disque.
  • initrd : image initiale chargée en RAM par le noyau.
  • GRUB : chargeur de démarrage.

Résumé et prochaines étapes

  • Vous avez créé des ensembles RAID1 dégradés, formaté, monté et copié les données.
  • Vous avez mis à jour mdadm.conf, fstab, et mtab, reconstruit l’initrd et installé GRUB sur les deux disques.
  • Prochaine étape : ajouter les partitions /dev/sda1, /dev/sda2, /dev/sda3 aux ensembles via mdadm –add et laisser la synchronisation se faire.

Important

Avant toute opération sur des partitions et boot loaders en production, effectuez une sauvegarde complète et planifiez une fenêtre de maintenance avec un accès de secours (console hors bande, image de récupération) en cas d’échec du démarrage.

Auteur
Édition

Matériaux similaires

Corriger l’erreur 0xc00000e9 sur Windows 10
Dépannage Windows

Corriger l’erreur 0xc00000e9 sur Windows 10

Fusionner des vidéos avec VLC — guide rapide
Multimédia

Fusionner des vidéos avec VLC — guide rapide

Réparer Print Spooler non démarré sous Windows
Windows Imprimantes

Réparer Print Spooler non démarré sous Windows

Masquer likes et commentaires dans l'onglet Amis Instagram
Confidentialité

Masquer likes et commentaires dans l'onglet Amis Instagram

Migrer vers RAID1 et préparer le démarrage
Administration Linux

Migrer vers RAID1 et préparer le démarrage

Télécharger et installer Windows 11 25H2
Guides

Télécharger et installer Windows 11 25H2