<?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-04-06T08:02:47Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.40.0</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'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'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'est à déploré du fait de la réplication des deux disques mais il a bien fallut le remplacer. C'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'un disque dur, il est possible d'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'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 (''md0'' pour le ''/boot'' et ''md1'' pour le ''/'') exploitant les deux disques ''sda'' et ''sdb''.&lt;br /&gt;
* Le disque ''sda'' tombe en panne&lt;br /&gt;
* La grappe RAID passe en état '''''inactif'''''&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'état du RAID&lt;br /&gt;
* On éteint la machine et on débranche le disque défaillant (du coup ''sdb'' devient le nouveau ''sda'' au prochain démarrage)&lt;br /&gt;
* La grappe RAID étant en état '''''inactif''''', l'''initramfs'' ne démarre plus (on est dans ''ash'', 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'é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'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 '''''actif''''') et LVM se démerde tout seul.&lt;br /&gt;
&lt;br /&gt;
==Changement d'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'un des disque est en état '''''removed''''' (il s'agit de l'ancien disque dur que l'on a débranché). Suivez les étapes suivantes:&lt;br /&gt;
* '''Éteindre''' 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 ''/dev'' (''sda'' et ''sdb'')&lt;br /&gt;
* '''Installer''' le nouveau disque dur et '''démarrer'''&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;
'''Pour un MBR'''&lt;br /&gt;
 sfdisk -d /dev/sdb | sfdisk /dev/sda&lt;br /&gt;
&lt;br /&gt;
'''Pour un GPT (paquet &amp;quot;gdisk&amp;quot;)'''&lt;br /&gt;
 sgdisk /dev/sdb -R /dev/sda&lt;br /&gt;
 sgdisk -G /dev/sda&lt;br /&gt;
&lt;br /&gt;
''le -R copie la table GPT du disque sdb vers sda tandis que le -G génère un nouveau GUID aléatoirement.''&lt;br /&gt;
&lt;br /&gt;
'''Vérifier le résultat'''&lt;br /&gt;
 lsblk&lt;br /&gt;
ou&lt;br /&gt;
 fdisk -l&lt;br /&gt;
&lt;br /&gt;
'''Ajouter le nouveau disque aux grappes'''&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'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'é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'est tout perdu...}}&lt;br /&gt;
&lt;br /&gt;
À l'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'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'effectue en arrière plan après initialisation.&lt;br /&gt;
&lt;br /&gt;
'''Lancer un scrub'''&lt;br /&gt;
 echo check &amp;gt; /sys/block/mdX/md/sync_action&lt;br /&gt;
'''Vérifier l'avancée'''&lt;br /&gt;
 cat /proc/mdstat&lt;br /&gt;
''Les données erronées seront automatiquement corrigés.''&lt;br /&gt;
&lt;br /&gt;
'''L'interrompre'''&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>