Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sysadmin:software_raid [2009/11/10 18:40] james |
sysadmin:software_raid [2019/12/18 19:59] (Version actuelle) james ajout procedure remplacement disque complet |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>RAID mdadm howto installation lvm}} | ||
====== RAID soft ====== | ====== RAID soft ====== | ||
Ligne 32: | Ligne 33: | ||
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/hda2 /dev/sda1 /dev/sdb1 | mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/hda2 /dev/sda1 /dev/sdb1 | ||
</code>Si vous aviez voulu créer la même grappe, en mode dégradé, si par exemple vous n'avez pas encore reçu votre dernier disque : (noter le mot clef "missing")<code> | </code>Si vous aviez voulu créer la même grappe, en mode dégradé, si par exemple vous n'avez pas encore reçu votre dernier disque : (noter le mot clef "missing")<code> | ||
- | mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 missing /dev/sda1 /dev/sdb1</code> | + | mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 missing /dev/sda1 /dev/sdb1 |
- | vous devriez obtenir quelque chose qui ressemble a :<code># mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/hda2 /dev/sda1 /dev/sdb1 | + | </code>vous devriez obtenir quelque chose qui ressemble a :<code># mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/hda2 /dev/sda1 /dev/sdb1 |
mdadm: layout defaults to left-symmetric | mdadm: layout defaults to left-symmetric | ||
mdadm: chunk size defaults to 64K | mdadm: chunk size defaults to 64K | ||
Ligne 67: | Ligne 68: | ||
140632704 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_] | 140632704 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_] | ||
[>....................] recovery = 0.1% (92800/70316352) finish=37.7min speed=30933K/sec | [>....................] recovery = 0.1% (92800/70316352) finish=37.7min speed=30933K/sec | ||
- | </code> | + | </code>La vitesse de (re)construction dépend de vos disques, mais est limitée par le systeme, comme peut le montrer un dmesg :<code> |
- | + | ||
- | La vitesse de (re)construction dépend de vos disques, mais est limitée par le systeme, comme peut le montrer un dmesg : | + | |
- | <code> | + | |
[360814.192484] md: recovery of RAID array md0 | [360814.192484] md: recovery of RAID array md0 | ||
[360814.192484] md: minimum _guaranteed_ speed: 1000 KB/sec/disk. | [360814.192484] md: minimum _guaranteed_ speed: 1000 KB/sec/disk. | ||
Ligne 106: | Ligne 104: | ||
==== Exclure une partition de la grappe ==== | ==== Exclure une partition de la grappe ==== | ||
+ | |||
+ | Pour pouvoir exclure une partition il faut d'abord qu'ellene soit pas "active" (ie : marquée en tant que "spare" ou "failed", grace a la commande ci dessus par exemple) . | ||
+ | |||
<code>mdadm --manage /dev/md0 --remove /dev/sda1</code> | <code>mdadm --manage /dev/md0 --remove /dev/sda1</code> | ||
==== Ajouter une nouvelle partition de la grappe ==== | ==== Ajouter une nouvelle partition de la grappe ==== | ||
+ | |||
Une fois le disque flambant neuf reçu, installez le physiquement dans votre PC (ordinateur éteind bien sur dans la plupart des cas).<code>mdadm /dev/md0 --add /dev/sda1</code> | Une fois le disque flambant neuf reçu, installez le physiquement dans votre PC (ordinateur éteind bien sur dans la plupart des cas).<code>mdadm /dev/md0 --add /dev/sda1</code> | ||
+ | ==== Remplacer un disque defectueux ==== | ||
+ | <note warning>Attention à ne pas vous tromper de sens des disques et pensez bien que cela va copier l'intégralité (en écrasant) de la table de partition d'un disque sur l'autre</note> | ||
+ | |||
+ | Admettons qu'un disque defectueux soit remplacé on va devoir, si par exemple votre disque OK est /dev/sdb et que le nouveau vierge est /dev/sda : | ||
+ | * Recréer une table de partition identique sur le disque flambant neuf :<code># sfdisk --dump /dev/sdb | sfdisk /dev/sda</code> | ||
+ | * Vous pouvez ensuite verifier avec lsblk ou encore fdisk -l que vous voyez bien les nouvelles partitions sur le nouveau disque | ||
+ | * Rajouter ensuite toutes les partitions "aux bonnes grappes", donc si vous avez fait ca un peu bien :<code># mdadm --manage /dev/md1 --add /dev/sda1 | ||
+ | # mdadm --manage /dev/md2 --add /dev/sda2 | ||
+ | # mdadm --manage /dev/md2 --add /dev/sda2 | ||
+ | [...] | ||
+ | </code> | ||
+ | * Pour les impatients vous pouvez suivre l'avancement de la reconstruction des grappes avec : <code># watch cat /proc/mdstat</code> | ||
==== Surveiller l'état de la grappe ==== | ==== Surveiller l'état de la grappe ==== | ||
- | * le "cat /proc/mdstat" vu au dessus qui vous indique la progression de la reconstruction le cas échéant | + | Il existe plusieurs moyen : |
- | * <code>mdadm --examine /dev/sda1</code>qui devrait vous donner quelque chose de similaire a :<code> | + | * A la main : |
+ | * le "cat /proc/mdstat" vu au dessus qui vous indique la progression de la reconstruction le cas échéant | ||
+ | * <code>mdadm --examine /dev/sda1</code>qui devrait vous donner quelque chose de similaire a :<code> | ||
# mdadm --examine /dev/sda1 | # mdadm --examine /dev/sda1 | ||
- | /dev/sdc1: | + | /dev/sda1: |
Magic : a92b4efc | Magic : a92b4efc | ||
Version : 00.90.00 | Version : 00.90.00 | ||
Ligne 150: | Ligne 166: | ||
</code> | </code> | ||
+ | * en automatique : | ||
+ | * mdadm dispose d'un moniteur qui alerte par mail en cas de problème, et qui est démarré par défaut (sauf mention expresse du contraire dans /etc/default/mdadm sous debian) | ||
+ | ===== Un peu plus loin ===== | ||
+ | Le probleme avec cette installatin est que sur une installation en utilisant des volumes iscsi (seule la partition hda2 est locale), lors du redemarrage, mdadm voit une des partitions du rAID, et se dit "chouette, du RAID? activons tout ca". | ||
+ | Sauf que bien sur à ce moment la , le réseau de la machine n'est pas encore démarré, et donc les volumes iSCSI ne sont pas encore présents ;-) | ||
+ | LA solution consiste donc a mettre <code>INITRDSTART='none'</code> dans le /etc/default/mdadm pour l'empecher d'activer automatiquement les grappes RAID lors du boot (a exclure bien sur si vous avec une partition de boot comme / sur le RAID | ||
+ | |||
+ | ===== Destruction de la grappe ===== | ||
+ | Pour détruire une grappe, des informations etant stockées dans le superblock de chacune des partitions, il faut : | ||
+ | * marquer en "faulty" chacune des partitions composant le RAID :<code> | ||
+ | mdadm --manage /dev/md0 --fail /dev/sda1 | ||
+ | mdadm --manage /dev/md0 --fail /dev/sdb1 | ||
+ | mdadm --manage /dev/md0 --fail /dev/hda2 | ||
+ | </code> | ||
+ | * les enlever de la grappe : <code> | ||
+ | mdadm --manage /dev/md0 --remove /dev/sda1 | ||
+ | mdadm --manage /dev/md0 --remove /dev/sdb1 | ||
+ | mdadm --manage /dev/md0 --remove /dev/hda2 | ||
+ | </code> | ||
+ | * et enfin "arreter" la grappe :<code> | ||
+ | mdadm --manage --stop /dev/md0 | ||
+ | </code> | ||
+ | * penser ensuite a enlever la ligne concernant la grappe supprimée (/dev/md0) dans le fichier /etc/mdadm/mdadm.conf | ||
+ | Cela evitera que mdadm veuille réutiliser cette grappe au prochain redemarrage/découverte des partitions "RAID autodetect". | ||
+ | ===== Références ===== | ||
+ | * https://www.thomas-krenn.com/en/wiki/Linux_Software_RAID#Superblock_Metadata_Version_0.90 | ||