<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Mdadm</id>
	<title>Mdadm - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Mdadm"/>
	<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Mdadm&amp;action=history"/>
	<updated>2026-06-01T16:58:09Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Mdadm&amp;diff=890&amp;oldid=prev</id>
		<title>Ycharbi : Page créée avec « Category:Périphériques bloc  Mdadm est un outil intégré au noyau Linux permettant de faire du RAID logiciel. Il est utilisé par l&#039;instal... »</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Mdadm&amp;diff=890&amp;oldid=prev"/>
		<updated>2018-08-24T10:23:42Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &lt;a href=&quot;/index.php/Cat%C3%A9gorie:P%C3%A9riph%C3%A9riques_bloc&quot; title=&quot;Catégorie:Périphériques bloc&quot;&gt;Category:Périphériques bloc&lt;/a&gt;  Mdadm est un outil intégré au &lt;a href=&quot;/index.php/Cat%C3%A9gorie:Noyau_linux&quot; title=&quot;Catégorie:Noyau linux&quot;&gt;noyau Linux&lt;/a&gt; permettant de faire du RAID logiciel. Il est utilisé par l&amp;#039;instal... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Périphériques bloc]]&lt;br /&gt;
&lt;br /&gt;
Mdadm est un outil intégré au [[:Category:Noyau_linux|noyau Linux]] permettant de faire du RAID logiciel. Il est utilisé par l&amp;#039;installeur Debian pour configurer un RAID d’amorçage.&lt;br /&gt;
&lt;br /&gt;
=Avant propos=&lt;br /&gt;
Sur mon serveur, un disque dur de la grappe RAID 1 est tombé en panne. Aucune perte de données n&amp;#039;est à déploré du fait de la réplication des deux disques mais il a bien fallut le remplacer. C&amp;#039;est ce que je vais expliquer dans ce document en utilisant une machine virtuelle comportant 2 disques dur en RAID 1, chiffrés avec [[Cryptsetup]] et comportant des partions [[lvm|LVM]].&lt;br /&gt;
&lt;br /&gt;
{{astuce|Afin de simuler la perte d&amp;#039;un disque dur, il est possible d&amp;#039;utiliser la commande suivante: &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;mdadm --manage /dev/md0 --fail /dev/sdb1&amp;lt;/source&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
=Remise en œuvre d&amp;#039;une grappe RAID 1=&lt;br /&gt;
==Configuration matérielle==&lt;br /&gt;
* On a une machine virtuelle Debian installée avec deux grappes RAID 1 mdadm (&amp;#039;&amp;#039;md0&amp;#039;&amp;#039; pour le &amp;#039;&amp;#039;/boot&amp;#039;&amp;#039; et &amp;#039;&amp;#039;md1&amp;#039;&amp;#039; pour le &amp;#039;&amp;#039;/&amp;#039;&amp;#039;) exploitant les deux disques &amp;#039;&amp;#039;sda&amp;#039;&amp;#039; et &amp;#039;&amp;#039;sdb&amp;#039;&amp;#039;.&lt;br /&gt;
* Le disque &amp;#039;&amp;#039;sda&amp;#039;&amp;#039; tombe en panne&lt;br /&gt;
* La grappe RAID passe en état &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;inactif&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Conduite à tenir==&lt;br /&gt;
* À ce stade, la machine ne voudra plus démarrer correctement. Il faut restaurer l&amp;#039;état du RAID&lt;br /&gt;
* On éteint la machine et on débranche le disque défaillant (du coup &amp;#039;&amp;#039;sdb&amp;#039;&amp;#039; devient le nouveau &amp;#039;&amp;#039;sda&amp;#039;&amp;#039; au prochain démarrage)&lt;br /&gt;
* La grappe RAID étant en état &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;inactif&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, l&amp;#039;&amp;#039;&amp;#039;initramfs&amp;#039;&amp;#039; ne démarre plus (on est dans &amp;#039;&amp;#039;ash&amp;#039;&amp;#039;, le shell du ram disque de démarrage). Il faut repasser les grappes en état actif:&lt;br /&gt;
&lt;br /&gt;
 mdadm --manage /dev/md0 --run&lt;br /&gt;
 mdadm --manage /dev/md1 --run&lt;br /&gt;
&lt;br /&gt;
{{info|l&amp;#039;état des grappe RAID est visualisable dans le fichier spécial dédié avec ceci: &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;cat /proc/mdstat&amp;lt;/source&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
Une fois ceci fait, nous pouvons sortir de l&amp;#039;initramfs pour continuer le démarrage.&lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Cryptsetup nous invite à taper le mot de passe. Le système démarre (et ce sera toujours le cas vu que les grappes sont passées en état &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;actif&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;) et LVM se démerde tout seul.&lt;br /&gt;
&lt;br /&gt;
==Changement d&amp;#039;un disque dur défaillant==&lt;br /&gt;
Une fois dans le système il est possible de voir le détail des grappes avec:&lt;br /&gt;
&lt;br /&gt;
 mdadm --detail /dev/md0&lt;br /&gt;
 mdadm --detail /dev/md1&lt;br /&gt;
&lt;br /&gt;
On remarque alors qu&amp;#039;un des disque est en état &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;removed&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (il s&amp;#039;agit de l&amp;#039;ancien disque dur que l&amp;#039;on a débranché). Suivez les étapes suivantes:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Éteindre&amp;#039;&amp;#039;&amp;#039; le serveur (je conseil de ne pas faire le branchement du nouveau disque à chaud afin que Linux remette les mêmes noms de périphérique &amp;#039;&amp;#039;/dev&amp;#039;&amp;#039; (&amp;#039;&amp;#039;sda&amp;#039;&amp;#039; et &amp;#039;&amp;#039;sdb&amp;#039;&amp;#039;)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Installer&amp;#039;&amp;#039;&amp;#039; le nouveau disque dur et &amp;#039;&amp;#039;&amp;#039;démarrer&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Il va falloir copier le schéma de partition sur le nouveau disque.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pour un MBR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 sfdisk -d /dev/sdb | sfdisk /dev/sda&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pour un GPT (paquet &amp;quot;gdisk&amp;quot;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 sgdisk /dev/sdb -R /dev/sda&lt;br /&gt;
 sgdisk -G /dev/sda&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;le -R copie la table GPT du disque sdb vers sda tandis que le -G génère un nouveau GUID aléatoirement.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Vérifier le résultat&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 lsblk&lt;br /&gt;
ou&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ajouter le nouveau disque aux grappes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 mdadm --manage /dev/md0 --add /dev/sda1&lt;br /&gt;
 mdadm --manage /dev/md1 --add /dev/sda2&lt;br /&gt;
&lt;br /&gt;
De là, la réplication commence automatiquement en arrière plan (vous pouvez entendre vos disques dur gratter à mort).&lt;br /&gt;
&lt;br /&gt;
{{attention|Laisser la synchronisation se faire et contrôler régulièrement l&amp;#039;avancée avant de faire une opération à la con du style redémarrer la machine et enlever un disque pour voir si ça fonctionne... il convient de faire régulièrement un &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;cat /proc/mdstat&amp;lt;/source&amp;gt; pour afficher l&amp;#039;état de la reconstruction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Je conseil également de ne pas utiliser la machine pendant ce temps afin de ne pas se retrouver avec le deuxième disque dur en panne car là c&amp;#039;est tout perdu...}}&lt;br /&gt;
&lt;br /&gt;
À l&amp;#039;issue, installer [[Grub]] sur le nouveau disque pour que ça démarrer lors de la prochaine panne (oui oui ça vous arriveras, ne faites pas les malins).&lt;br /&gt;
&lt;br /&gt;
 grub-install /dev/sda&lt;br /&gt;
&lt;br /&gt;
==Vérifier l&amp;#039;intégrité de la réplication==&lt;br /&gt;
En production, il peut être intelligent de vérifier de temps à autre la bonne intégrité de la synchronisation des deux disques. Cette étape se nomme &amp;quot;scrub&amp;quot; et s&amp;#039;effectue en arrière plan après initialisation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lancer un scrub&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 echo check &amp;gt; /sys/block/mdX/md/sync_action&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Vérifier l&amp;#039;avancée&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 cat /proc/mdstat&lt;br /&gt;
&amp;#039;&amp;#039;Les données erronées seront automatiquement corrigés.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;L&amp;#039;interrompre&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 echo idle &amp;gt; /sys/block/mdX/md/sync_action&lt;br /&gt;
&lt;br /&gt;
Sur un RAID 5 ou 6 on utilisera plutôt cette façon de faire:&lt;br /&gt;
 echo repair &amp;gt; /sys/block/mdX/md/sync_action&lt;br /&gt;
&lt;br /&gt;
===Source de la section===&lt;br /&gt;
* https://raid.wiki.kernel.org/index.php/Scrubbing_the_drives&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://superuser.com/questions/117824/how-to-get-an-inactive-raid-device-working-again&lt;br /&gt;
* https://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array&lt;br /&gt;
* https://askubuntu.com/questions/57908/how-can-i-quickly-copy-a-gpt-partition-scheme-from-one-hard-drive-to-another#57922&lt;/div&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
</feed>