RAID Debian · 6 min read · Nov 14, 2025
Étendre un RAID logiciel sur Debian en migrant vers de nouveaux disques durs plus grands
La configuration : deux disques physiques d’un RAID 1 (miroir) seront remplacés par deux disques plus capacitaires, nous effectuerons un remplacement “à chaud” directement depuis le système d’exploitation en cours d’exécution, sans avoir besoin de démarrer à partir d’un support de démarrage externe. Ce guide a été testé sur les distributions Debian 6, 7, 8, à la fois en 32 et 64 bits.
Nous supposons que les deux disques sont partitionnés avec une partition racine et une partition swap et que ces deux partitions constituent les deux dispositifs RAID md0 et md1 :
- La partition sda1 et sdb1 qui composent le volume md0 (racine)
- Les partitions sda2 et sdb2 qui composent le volume md1 (swap)
Tout d’abord, faites une sauvegarde de toutes vos données, même si le guide a été testé plusieurs fois, la malchance est toujours là… Nous proposons (à mon avis, la meilleure solution) pour un remplacement, nous déconnectons l’un des deux anciens disques avec la machine éteinte, puis connectons un nouveau disque temporaire, puis resynchronisons, ainsi nous aurons toujours le RAID fonctionnant et un seul disque (avec RAID en mode dégradé) et vous pouvez toujours recréer un RAID fonctionnel si quelque chose ne fonctionne pas. Pour ce faire, tapez simplement ces commandes après avoir remplacé le disque complet par le disque vide :
sfdisk -d /dev/hd source | sfdisk —force /dev/hd empty
mdadm —zero-superblock /dev/hd empty
mdadm —add /dev/md(raid) /dev/hd(empty)Répétez les deux dernières lignes pour chaque RAID / partition sur le système
(par exemple :
mdadm -add /dev/md0 /dev/sdb1 puis
mdadm -add /dev/md1 /dev/sdb2etc..
De cette manière, nous avons forcé la table de partition du disque source vers la cible vide, puis ajouté cela au RAID.
Évidemment, vous devez attendre la fin du processus de reconstruction, surveillé par :
watch cat / pro / mdstat(Et bien sûr CTRL + C pour quitter le processus)
Éteignez la machine à ce stade, nous ajoutons deux nouveaux disques, qui deviennent respectivement sdc et sdd, puis démarrez le serveur et exécutez la commande :
fdisk -lLe résultat devrait ressembler à ceci :
Disque /dev/sda: ……MB , ………….Octets
… têtes, …secteurs/piste , ….. cylindres
Taille I/O (minimum/optimal) : 512 octets / 512 octets
Disque : identifiant : ………..Dispositif de démarrage Début Fin Blocs Id Système/dev/sda2 970 1044 602437+ fd Linux raid autodetect/dev/sda2 1 969 7783461 fd Linux raid autodetect ……/dev/sdb1 * 1 969 7783461 fd Linux raid autodetect /dev/sdb2 970 1044 602437+ fd Linux raid autodetect ……Disque /dev/sdc: …Mb, …….Octets……Disque /dev/sdd: …Mb, …….Octets……Disque /dev/md0: …Mb, …….Octets…...Disque /dev/md1: …Mb, …….OctetsMaintenant, tapez :
fdisk /dev/sdcnous créons une nouvelle partition avec la commande n,
nous sélectionnons p partition primaire,
nous sélectionnons le numéro de partition ( 1,2,3, etc …),
nous sélectionnons le cylindre de départ ( 1),
nous sélectionnons la taille de la partition primaire en tapant le symbole + suivi de la taille en Go et GB des lettres (par exemple : +480GB)
nous la rendons amorçable avec la commande a, en sélectionnant le même numéro de partition.
nous changeons l’ID de partition en “ fd “ (Linux Raid Autodetect) avec t, et en écrivant comme code hexadécimal, juste “ fd “
Ensuite, nous répétons TOUTES les commandes pour la deuxième partition (la partition sera le swap).
Nous allons enregistrer les modifications avec w.
Évidemment, faites attention à la taille des partitions. La meilleure solution est de soustraire la taille actuelle du swap du total de l’espace libre pour créer la partition de travail avec l’espace le plus large possible.
Maintenant, nous allons effectuer exactement les mêmes opérations sur le disque SDD, en veillant à créer la même partition avec les mêmes tailles que nous avons utilisées précédemment.
À ce stade, nous faisons un échange entre le premier disque “plein” et le premier nouveau disque, ajoutant ce dernier comme un spare au RAID :
mdadm -add /dev/md0 /dev/sdc1Ensuite, nous devrions vérifier la situation du disque RAID, cela devrait ressembler à ceci :
md0: raid actif 1 sdc1[S] sda1[2] sdb1[3] ………blocs super 1.2 [2/2] [UU]Ensuite, nous remettons le disque d’origine :
mdadm -f /dev/md0 /dev/sda1et le retirons du RAID :
mdadm -r /dev/md0 /dev/sda1Maintenant, nous vérifions que la reconstruction a commencé automatiquement et attendons qu’elle soit terminée en surveillant à nouveau avec :
watch cat /proc/mdstat(Et bien sûr CTRL + C pour quitter le processus)
À la fin, nous installons le chargeur de démarrage (grub) sur le nouveau disque (/ dev / sdc) :
grub-install /dev/sdcLe même processus doit être répété pour chacune des partitions système :
mdadm -add /dev/md0 /dev/sdd1mdadm -f /dev/md0 /dev/sdb1mdadm -r /dev/md0 /dev/sdb1Et nous attendons à nouveau jusqu’à ce que la reconstruction soit terminée :
watch cat /proc/mdstat(Et bien sûr CTRL + C pour quitter le processus)
Ensuite, faisons la même procédure pour la première partition swap des deux nouveaux disques :
mdadm -add /dev/md1 /dev/sdc2mdadm -f /dev/md0 /dev/sda2mdadm -r /dev/md0 /dev/sda2Attendez à nouveau jusqu’à ce qu’elle ait terminé la reconstruction :
watch cat /proc/mdstat(Et bien sûr CTRL + C pour quitter le processus)
Et le dernier disque :
mdadm -add /dev/md1 /dev/sdd2mdadm -f /dev/md0 /dev/sdb2mdadm -r /dev/md0 /dev/sdb2Attendez à nouveau jusqu’à ce qu’elle ait terminé la reconstruction :
watch cat /proc/mdstat(Et bien sûr CTRL + C pour quitter le processus)
À ce stade, réinstallez le chargeur de démarrage sur les deux disques :
grub-install /dev/sdcgrub-install /dev/sddÀ ce stade, nous nous retrouvons avec l’ancien disque expulsé du RAID, et les nouveaux disques sont installés et opérationnels. Mais avec l’espace utilisable en dessous du maximum autorisé par la partition
Ensuite, nous procédons à l’agrandissement de la partition et à sa vérification, comme d’habitude pour les deux volumes :
mdadm —grow —raid-devices=2 /dev/md0mdadm -A —scanmdadm —grow /dev/md0 —size=maxmdadm —examine —scane2fsck -f /dev(md0resize2fs /dev/md0mdadm —grow —raid-devices=2 /dev/md1mdadm -A —scanmdadm —grow /dev/md1 —size=maxmdadm —examine —scane2fsck -f /dev/md1resize2fs /dev/md1Lorsque c’est terminé, éteignez le PC, déconnectez les anciens disques et redémarrez la machine.
Même si le redémarrage fonctionnait, nous reconstruisons le grub pour des raisons de sécurité puisque le lancement du nouveau disque aura pris le nom de l’ancien (sda et sdb) :
mv /boot/grub/device.map/boot/grub/device.map.oldgrub-mkdevicemapupdate-grub2 && grub-install /dev/sda && grub-install /dev/sdbSi vous voulez être absolument sûr que la nouvelle configuration RAID fonctionne, éteignez la machine, déconnectez l’un des nouveaux disques et redémarrez. Cela devrait démarrer sans problèmes. Ensuite, éteignez à nouveau, reconnectez le disque et démarrez. Vous pouvez utiliser cette commande pour vérifier l’état du RAID.
watch cat /proc/mdstat(Et bien sûr CTRL + C pour quitter le processus)
Nous avons terminé le travail, nous célébrons.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.