Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
raid_logiciel [Le 07/05/2018, 22:48]
Epy Typo
raid_logiciel [Le 19/08/2021, 11:36] (Version actuelle)
88.122.224.21 [Test]
Ligne 1: Ligne 1:
-{{tag>Xenial ​sauvegarde sécurité système raid}}+{{tag>bionic focal sauvegarde sécurité système raid}}
  
 ---- ----
  
 ====== RAID logiciel avec mdadm ====== ====== RAID logiciel avec mdadm ======
- 
-<note tip>**Il est aussi possible de créer des RAID sans l'​utilisation des lignes de commandes via l'​application graphique [[:​gnome-disk-utility|palimpsest]] !** (Il faut quand même installer mdadm et renseigner le fichier mdadm.conf avec **ARRAY /dev/mdx devices=/​dev/​... /dev/... auto=yes** sinon votre raid ne démarrera pas tout seul au boot du système) </​note>​ 
  
 ===== Introduction - Qu'​est-il possible de faire ? ===== ===== Introduction - Qu'​est-il possible de faire ? =====
Ligne 85: Ligne 83:
  
  
-Info : Pour des partitions de plus de 2.2To, il faut utiliser "​gdisk",​ de la même manière+Info : Pour des partitions de plus de 2.2To, ​<del>il faut</​del> ​utiliser "​gdisk",​ de la même manière ​(fdisk semble gérer les tables de partition GPT à ce jour)
 <​code>​ <​code>​
 sudo gdisk /dev/sdX sudo gdisk /dev/sdX
Ligne 125: Ligne 123:
 Vous venez de créer une partition primaire sur votre disque /dev/sdX Vous venez de créer une partition primaire sur votre disque /dev/sdX
  
 +
 +<note tip>**Il est aussi possible de créer des RAID sans l'​utilisation des lignes de commandes via l'​application graphique [[:​gnome-disk-utility|palimpsest]] !** (Il faut quand même installer mdadm et renseigner le fichier mdadm.conf avec **ARRAY /dev/mdx devices=/​dev/​... /dev/... auto=yes** sinon votre raid ne démarrera pas tout seul au boot du système) </​note>​
  
 ==== Construction du volume RAID ===== ==== Construction du volume RAID =====
Ligne 130: Ligne 130:
 Nous pouvons maintenant utiliser mdadm pour construire notre volume RAID 5 :  Nous pouvons maintenant utiliser mdadm pour construire notre volume RAID 5 : 
 <​code>​ <​code>​
-sudo mdadm --create /dev/md0 --level=5 ​--assume-clean ​--raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1+sudo mdadm --create /dev/md0 --level=5 ​ --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
 </​code>​ </​code>​
  
Ligne 137: Ligne 137:
 **--create /dev/md0** permet de donner un nom à votre RAID. Ceci est le disque dur virtuel que vous êtes en train de créer à partir de vos disques **--create /dev/md0** permet de donner un nom à votre RAID. Ceci est le disque dur virtuel que vous êtes en train de créer à partir de vos disques
 **--level=5** devra être modifié par le type de RAID que vous souhaitez utiliser (0,​1,​5,​6,​10). Exemple: --level=1 \\ **--level=5** devra être modifié par le type de RAID que vous souhaitez utiliser (0,​1,​5,​6,​10). Exemple: --level=1 \\
-**--assume-clean** permet de dire à mdadm que nos disques sont vides. Ce qui permet de passer l'​étape de synchronisation des disques. 
 **--raid-devices=4** devra être modifié pour donner le nombre de disques que vous souhaitez utiliser (ici 4, vous 2 ou 3 ou 5, etc) **--raid-devices=4** devra être modifié pour donner le nombre de disques que vous souhaitez utiliser (ici 4, vous 2 ou 3 ou 5, etc)
 **/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1** il s'agit de la liste des partitions que je dois ajouter à mon RAID. À vous de les adapter à votre configuration. Aidez-vous de [[Gnome-disk-utility]] si trou de mémoire ^^ **/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1** il s'agit de la liste des partitions que je dois ajouter à mon RAID. À vous de les adapter à votre configuration. Aidez-vous de [[Gnome-disk-utility]] si trou de mémoire ^^
 +
 +<note important>​N'​utilisez pas l'​option - -assume-clean lors de la création d'un nouveau volume RAID. Car vous risquez de perdre des données en cas de panne d'un disque dans une grappe raid5.
 +https://​raid.wiki.kernel.org/​index.php/​Initial_Array_Creation</​note>​
  
 <note help>Si cette commande échoue avec un message d'​erreur parlant de md0, c'est parce que des modules n'ont pas été ajoutés automatiquement au noyau (cela nécessite un redémarrage après installation du paquet mdadm). De ce fait, effectuer : <note help>Si cette commande échoue avec un message d'​erreur parlant de md0, c'est parce que des modules n'ont pas été ajoutés automatiquement au noyau (cela nécessite un redémarrage après installation du paquet mdadm). De ce fait, effectuer :
Ligne 186: Ligne 188:
 sudo mkfs.ext4 /dev/md0 sudo mkfs.ext4 /dev/md0
 </​code>​ </​code>​
 +**-Attention il vous est demandé de valider (y/N), il faut répondre O pour y**
   - Déclarez ce volume dans `fstab` pour que le système le monte au démarrage (le système de fichier, pas le volume en lui même). Pour ce faire [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​fstab** et ajoutez à sa fin la ligne :    - Déclarez ce volume dans `fstab` pour que le système le monte au démarrage (le système de fichier, pas le volume en lui même). Pour ce faire [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​fstab** et ajoutez à sa fin la ligne : 
 <​code>​ <​code>​
Ligne 205: Ligne 208:
  
 Une fois les disques connectés et les partitions créées avec fdisk, il suffit de les ajouter : Une fois les disques connectés et les partitions créées avec fdisk, il suffit de les ajouter :
 +(par défaut, les partitions sont mise en SPARE)
 <​code>​ <​code>​
 sudo mdadm --manage /dev/md0 --add /dev/sdf1 sudo mdadm --manage /dev/md0 --add /dev/sdf1
 </​code>​ </​code>​
- 
 Ensuite étendre l'​array sur ces nouvelles partitions : Ensuite étendre l'​array sur ces nouvelles partitions :
 <​code>​ <​code>​
Ligne 214: Ligne 217:
 </​code>​ </​code>​
  
-Et enfin il vous faudra agrandir votre partition ext4 (ou similaire) via resize2fs.+mdadm va partir en agrandissement (reshape) qui est une opération longue. On peut surveiller la progression avec l'une des trois commandes:​ 
 +<​code>​ 
 +sudo mdadm --detail /dev/md0 
 +cat /​proc/​mdstat 
 +watch cat /​proc/​mdstat 
 +</​code>​ 
 +<note help>​Cette opération peut être **extrêmement longue** ​ (regardez le débit) <code bash>cat /​proc/​mdstat 
 +Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]  
 +md50 : active raid5 sdd5[1] sdd10[6] sdd7[3] sdd4[0] sdd9[5] sdd6[2] sdd8[4] 
 +      51900416 blocks super 1.2 level 5, 512k chunk, algorithm 2 [7/7] [UUUUUUU] 
 +      [>​....................] ​ reshape =  0.3% (99836/​25950208) finish=566.0min speed=760K/​sec 
 +</​code>​ Elle bloque quasiment l'​accès au disque: gparted se bloque, les applications qui accèdent ​ à ce raid se bloquent, un arrêt machine se bloque. ​ Heureusement le redémarrage se passe sans difficulté avec reprise de l'​opération!</​note>​ 
 + 
 +Lorsque l'​agrandissement (reshape) est terminé, mdadm va exécuter automatiquement la synchronisation des disques ​  qui est une opération moins lente.  
 +<code bash> cat /​proc/​mdstat  
 +Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]  
 +md50 : active raid5 sdd5[1] sdd10[6] sdd7[3] sdd4[0] sdd9[5] sdd6[2] sdd8[4] 
 +      155701248 blocks super 1.2 level 5, 512k chunk, algorithm 2 [7/7] [UUUUUUU] 
 +      [==>​..................] ​ resync = 10.1% (2621812/​25950208) finish=93.5min speed=4157K/​sec </​code>​ 
 + 
 +Une fois l'​opération ​ finie, ​il vous faudra agrandir votre partition ext4 (ou similaire) via resize2fs.
 <​code>​ <​code>​
 sudo resize2fs /dev/md0 sudo resize2fs /dev/md0
 </​code>​ </​code>​
 +[[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22075419#​p22075419|Voir un exemple concret.]]
 +
 +
 +
 +<note tip> Il devrait être aussi possible de gérer le changement de taille du RAID avec l'​application GPARTED à partir de la version 20.04.0 ​
 +<code bash>​sudo gparted /dev/sda
 +Unit boot.mount does not exist, proceeding anyway.
 +GParted 1.0.0
 +configuration --enable-libparted-dmraid --enable-online-resize
 +libparted 3.3 </​code>​
 +{{:​mdadm:​mdadm01.png?​200|}}
 +
 +Quelques extraits récupérés du log. 
 +<code bash>​e2fsck -f -y -v -C 0 '/​dev/​md50' ​ 00:​01:​53 ​   ( SUCCÈS )   
 +Passe 1 : vérification des i-noeuds, des blocs et des tailles
 +L'​arbre d'​extent de l'​i-noeud 2752601 (au niveau 2) pourrait être plus étroit. Optimiser ? oui
 +
 +resize2fs -p '/​dev/​md50' ​ 00:​01:​44 ​   ( SUCCÈS )</​code>​
 +</​note>​
 +
 +==== Que faire pour agrandir l'​array ? - Remplacer les disques ====
 +Ce choix n'est probablement pas le premier auquel on pense. Cependant lorsque les disques initiaux sont anciens et qu'ils approchent les 100000 heures de fonctionnement,​ il faut envisager de les remplacer par des disques de plus grande capacité. Les disques doivent être remplacés les uns après les autres. Lorsque le dernier disque aura été remplacé, il sera possible d'​utiliser la nouvelle capacité. La procédure proposée est la suivante:\\
 +1) Lancer l'​application smartctl pour tous les disques à remplacer. Consulter les retours pour trouver un ordre de changement. il y a probablement des disques en plus mauvais état que d'​autres.\\
 +2) Déclarer un disque inutilisable. La commande se fait en quelques secondes.
 +<code bash>​sudo mdadm --manage /dev/md0 --fail /dev/sdb1 --remove /dev/sdb1 </​code>​
 +3) Vérifier que le disque n'a plus rien d'​utilisé. Il peut  posséder d'​autres partitions qu'il faudra alors traiter.
 +<code bash>​sudo fdisk -l /​dev/​sdb</​code>​
 +4) Démonter le disque et le remplacer par le nouveau disque. Cette opération peut nécessiter ​ un arrêt de la machine gérant le raids.\\
 +5) Formater le nouveau disque. Il conservera certainement le même nom. Il faut lui créer une table de partition GPT. Il faut lui remettre les "​autres partitions"​ si l'​ancien disque en avait puis créer une partition utilisant la totalité de l'​espace disque restant. Il ne faut surtout pas créer une partition qui a la taille de l'​ancienne partition.\\
 +6) Mettre le disque dans le circuit et  regarder la remise en état se faire.  ​
 +<code bash>​sudo mdadm --manage /dev/md0 --add /dev/sdb1
 +watch -n 60 cat /​proc/​mdstat</​code>​
 +7) Lorsque tous les disques opérationnels sont traités, identifier et supprimer tous les disques de secours s'il en existe.
 +<code bash>​sudo mdadm --detail /dev/md0 | grep spare
 +sudo mdadm --manage /dev/md0 --remove /​dev/​sdx1 ​ /dev/sdy1 /​dev/​sdz1</​code>​
 +8) Procéder à l'​agrandissement du RAID, du système de fichier et  regarder l'​agrandissement du système de fichier se réaliser. ​  
 +<code bash>​sudo mdadm --grow /dev/md0 --size=max
 +sudo mdadm --detail /dev/md0 | grep Size     
 +sudo resize2fs /​dev/​md0</​code>​
 +
  
 ==== Que faire lorsqu'​un des composants de l'​Array vient à défaillir ? ==== ==== Que faire lorsqu'​un des composants de l'​Array vient à défaillir ? ====
Ligne 251: Ligne 314:
  
 Maintenant vous devez patienter, le temps que le volume Raid se reconstruise. Pendant cette phase de reconstruction les performances peuvent être altérées. Mais la reconstruction ralentit si vous avez besoin des disques. Maintenant vous devez patienter, le temps que le volume Raid se reconstruise. Pendant cette phase de reconstruction les performances peuvent être altérées. Mais la reconstruction ralentit si vous avez besoin des disques.
 +
 +==== Que faire pour diminuer l'​array ? - Supprimer un disque? ====
 +Le besoin de supprimer définitivement un disque d'un RAID est certainement rare.
 +La documentation pour cette réalisation n'est pas pléthorique. Voici une proposition de mode d'​emploi testée en version 20.04 sur un RAID5 composé de six entités.\\
 +Cela est certainement valable pour les  RAID6.\\
 +Les essais réalisés montrent que le risque est inexistant si des arrêts accidentels ont lieu pendant l'​opération.\\
 +Le principe est de d'​abord rétrécir le contenu avant le contenant.\\
 +Il n'y a pas d'​outil contrôlant que la taille du système de fichier ​ va devenir supérieure à la taille de l'​enveloppe RAID.\\
 +Il n'y a pas d'​outil réalisant cette opération de façon automatique.\\
 +Si la réalisation manuelle est mal faite, les données utilisateurs sont irrémédiablement perdues.\\  ​
 +Il faudra démonter le RAID pendant ​ une opération.\\
 +
 +1) Trouver la taille que peut héberger une unité physique du RAID.  L'​unité de mesure est le KiB.
 +<code bash> ​       sudo mdadm --detail /dev/md55 |grep "Dev Size"
 +        Used Dev Size : 5237760 (5.00 GiB 5.36 GB) </​code> ​   ​
 +2) Trouver la taille actuelle occupée par les données du RAID.\\
 +Supprimer d'​abord les répertoires et les fichiers que vous considérez inutilement stockés dans le RAID puis regarder la taille utilisée.
 +<code bash> ​       df -B 1024 |egrep "/​dev/​md55|Utilisé"​
 +        Sys. de fichiers blocs de 1K    Utilisé Disponible Uti% Monté sur
 +        /​dev/​md55 ​          ​15335408 ​  ​11207536 ​   3325832 ​ 78% /​media/​RAID55</​code>​
 +En déduire le nombre de disques nécessaires et la taille du système de fichier.\\
 +Nombre de disques =  taille du système de fichier utilisé divisé par la taille d'une unité physique arrondi à l'​unité supérieure et éventuellement ​ un de plus si le résultat de la division est très proche de l'​unité supérieure. \\
 +Taille du système de fichier= Nombre de disques trouvés multiplié par la taille d'une unité physique.\\
 +**Nombre de disques devant rester dans le RAIDS: Ajouter 1 (RAID5) ou 2 (RAID6) pour prendre en compte l'​existence du "​disque de parité."​**\\ ​
 +Ici dans le contexte 4 et 15713280 \\  ​
 +3) Démonter le raids. Il ne va plus être disponible pendant les deux opérations de réduction de taille ci-dessous. C'est une contrainte du logiciel de base.
 +<code bash> ​        sudo umount -v /dev/md55 </​code>​
 +4) Contrôler le système de fichier du raids. Cette opération peut être faite en utilisant gparted permettant un suivi de l'​opération. Sinon:
 +<code bash> ​       sudo e2fsck -f /dev/md55 </​code> ​  
 +5) Rétrécir ​ le système de fichier du raids. Cette opération peut être faite en utilisant gparted permettant un suivi de l'​opération. Sinon:
 +<code bash> ​       sudo resize2fs ​ /​dev/​md55 ​ 15713280K
 +        resize2fs 1.45.5 (07-Jan-2020)
 +        resize2fs: La nouvelle taille est plus petite que le minimum (4991762)</​code> ​
 +Comme on le voit dans cet exemple, on ne risque pas de diminuer plus que la taille calculée.\\
 +Si ce contexte arrive, il faut certainement revoir les opérations de calcul.\\
 +Si l'​incident perdure
 +<code bash> ​       sudo resize2fs ​ /​dev/​md55 ​ 15713280K
 +        resize2fs 1.45.5 (07-Jan-2020)
 +        resize2fs: La nouvelle taille est plus petite que le minimum (4438811) ​  </​code>​
 +6) Itérer sur  la réduction minima, cela diminuera par petites entités.\\
 +A chaque itération, multiplier la nouvelle taille obtenue par le coefficient de taille (3 dans le contexte).\\ ​
 +Si la valeur est enfin inférieure,​ il est inutile de continuer, sinon il faut continuer ​ jusqu'​au message final. ​      
 +<code bash> ​       sudo resize2fs -M /​dev/​md55  ​
 +        resize2fs 1.45.5 (07-Jan-2020)
 +        Le système de fichiers a déjà 4434586 blocs (4k). Rien à faire ! </​code>​
 +Il est alors possible de faire le point en remontant le système de fichier puis regarder la situation.
 +<code bash> ​       df -B 1024 |egrep "/​dev/​md55|Utilisé"​
 +        Sys. de fichiers blocs de 1K    Utilisé Disponible Uti% Monté sur
 +        /​dev/​md55 ​          ​17327524 ​  ​15300236 ​   1124004 ​ 94% /​media/​RAID55</​code>​
 +Dans ce contexte, on voit qu'on ne sait pas récupérer tout l'​espace disponible!\\
 +Il reste  la solution de supprimer un disque en moins pour que cela tienne...\\
 +Le contexte va donc devenir: Conserver **5** disques avec une taille de 20954040 KiO
 +<code bash> ​       sudo resize2fs ​ /​dev/​md55 ​ 20951040K
 +        resize2fs 1.45.5 (07-Jan-2020)
 +        En train de redimensionner le système de fichiers sur /dev/md55 à 5237760 (4k) blocs.
 +        Le système de fichiers sur /dev/md55 a maintenant une taille de 5237760 blocs (4k).</​code>​
 +7) Diminuer la taille de l'​espace disque que le RAIDS doit gérer pour être en conformité avec la nouvelle taille du système de fichier
 +<code bash> ​       sudo mdadm --grow /dev/md55 --array-size 20951040</​code>​
 +Cette commande est sans réponse. L'​application gparted permet de visualiser la nouvelle taille. \\
 +Si par accident, une  faute de frappe a lieu, il est possible de la relancer. \\
 +Attention: La valeur frappée ne doit pas être inférieure à la vraie valeur du système de fichier. Cela empêcherait de le monter et le rendrait inutilisable et irréparable aussitôt que le nombre de disques du RAID sera modifié.\\ ​
 + 
 +8) Remonter éventuellement le raids s'il doit être utilisé en lecture et lancer dans un autre terminal ​ le suivi des opérations de réorganisation du nombre de disques.
 +<code bash> ​       watch -n 60 cat /​proc/​mdstat</​code> ​
 +9) Eventuellement,​ indiquer que le RAIDS peut être utilisé en écriture.
 +<code bash> ​       sudo mdadm --readwrite /​dev/​md55</​code>​
 +10) Indiquer que le nombre de disques pour gérer le RAID va être diminué de un  en précisant la nouvelle valeur.
 +<code bash> ​       sudo mdadm --grow /dev/md55 --    raid-devices=5 --backup-file /​home/​md55  ​
 +        mdadm: Need to backup 10240K of critical section..</​code>​
 +Il ne reste plus qu'à surveiller et patienter.
 +<code bash> ​       [>​....................] ​ reshape =  3.7% (195980/​5237760) finish=54.6min speed=1536K/​s</​code>​
 +11) Indiquer que le disque désiré doit être supprimé. ​
 +<code bash> ​       sudo mdadm /dev/md55 --fail /dev/sdd7
 +        mdadm: set /dev/sdd7 faulty in /​dev/​md55</​code>​
 +Il ne reste plus qu'à surveiller et patienter.
 +<code bash> ​       [===>​.................] ​ recovery = 18.2% (956360/​5237760) finish=10.0min speed=7107K/​sec</​code>​
 +Si, par chance, le disque à retirer ​ était un disque de sécurité, l'​opération est immédiate et n'​était pas nécessaire. \\
 +   
 +12) Enlever le disque désiré du raids.
 +<code bash> ​       sudo mdadm /dev/md55 --remove /dev/sdd7
 +        mdadm: hot removed /dev/sdd7 from /​dev/​md55</​code>​
 +13) Itérer sur les actions décrites aux points ​ 10 11 et 12.\\
 +Si la commande de suppression du  disque donne ce retour
 +<code bash> ​       sudo mdadm --grow /dev/md55 --raid-devices=4 --backup-file /home/md55
 +        mdadm: this change will reduce the size of the array.
 +        use --grow --array-size first to truncate array.
 +        e.g. mdadm --grow /dev/md55 --array-size 15713280</​code>​
 +La tentation est grande de faire un copier/​coller de la commande proposée.\\
 +Elle fonctionne très bien! La taille du RAID devient alors  nettement plus petite que le système de fichier qu'il héberge.\\
 +Le système de fichier ne sera plus montable ni réparable.\\
 +Le logiciel aurait du proposer la commande suivante:
 +<code bash> ​       resize2fs ​ /​dev/​md55 ​ 15713280K</​code>​
 +Mais il ne connaît absolument pas le système de fichier qu'il héberge et ne peut donc pas le faire!!!\\
 +Il est nécessaire de faire la commande de resize. Si celle-ci ne fonctionne pas il n'y a pas de solution mais c'​était très probablement une erreur de calcul dans le nombre de disques pouvant être enlevés ou une implantation de fichiers laissant des "​trous"​!
 +
 + 
 + 
  
 ==== Comment migrer les données vers une nouvelle machine ? ==== ==== Comment migrer les données vers une nouvelle machine ? ====
Ligne 269: Ligne 429:
  
 La commande précédente demande l'​assemblage en mettant à jour les informations d'​identification. Le paramètre -m0 s'​assure que nous utiliserons que les disques/​partitions qui avaient un identifiant 0. La commande précédente demande l'​assemblage en mettant à jour les informations d'​identification. Le paramètre -m0 s'​assure que nous utiliserons que les disques/​partitions qui avaient un identifiant 0.
 +
 +<note important>​ <code bash>​sudo mdadm --assemble /​dev/​md2 ​  ​--update=super-minor ​ /​dev/​sdc11 ​ /​dev/​sdc12 ​ /​dev/​sdc13 ​ /​dev/​sdc14</​code>​
 +mdadm: --update=super-minor not understood for 1.x metadata
 +</​note>​
 +
 +<​note><​code>​sudo mdadm --assemble /​dev/​md2 ​ --run /​dev/​sdc11 ​  /​dev/​sdc12 ​ /​dev/​sdc13 ​ /​dev/​sdc14</​code>​
 +mdadm: /dev/md2 has been started with 3 drives (out of 4) and 1 rebuilding.
 +</​note>​
 +
  
 Pour s'​assurer que tout s'est bien passé vous pouvez afficher les informations mdadm : Pour s'​assurer que tout s'est bien passé vous pouvez afficher les informations mdadm :
Ligne 293: Ligne 462:
  
 ===== Problèmes & solutions courantes ===== ===== Problèmes & solutions courantes =====
 +==== Que faire si je n'​arrive plus à accéder à mon raid ====
 +Ne pas agir à la hâte !
 +
 +
 +<note warning>​En particulier **ne jamais utiliser**
 +<​code>​mdadm --create ...</​code>​ pour réassembler une grappe existante, à moins d'​être guidé par un expert. ​
 +Car c'est certainement un des meilleurs moyen de rendre votre grappe raid irrécupérable. (Même si dans certains cas, et en particulier après avoir trop bidouillé, ça peut être le seul moyen de réassembler votre raid)</​note>​
 +
 +
 +Essayez d'​abord des choses simples : 
 +
 +Si une grappe raid s'​avère inutilisable,​ commencez par l'​arrêter avec <​code>​mdadm --stop ...</​code>​ (Souvent l'​activation d'un grappe raid qui échoue crée un périphérique inutilisable et verrouille tous les composant de la grappe)
 +
 +\\
 +Ensuite tentez de relancer l'​assemblage avec <​code>​mdadm --assemble ...</​code>​ Rien de mal ne peut être fait par cette commande sauf avec certaines options supplémentaires. ​
 +
 +<note warning>​**n'​utilisez surtout pas** les options - -force ou - -update sans demander l'avis d'un expert. Car si pour une raison ou une autre les composants ne sont pas à leurs place (risque surtout d'​arriver si vous avez d'​abord tenté de réassembler avec mdadm - -create ...) cela risque de provoquer une resynchronisation qui va remplacer des données valides par des données incorrecte)
 +</​note>​
 +\\
 +Vous pouvez éventuellement forcer l'​activation d'une grappe incomplète (s'il manque un seul disque sur un raid 1 ou 5) en ajoutant les options - -run - -read-only <​code>​mdadm --assemble --run --read-only ...</​code>​ Si l'​utilisation de l'​option - -run à permis l'​assemblage,​ examinez ensuite le contenu de vos systèmes de fichier, et profitez en pour faire une sauvegarde de vos données, avant de tenter de réintroduire un disque manquant.
 +
 +<note warning>​N'​utilisez pas <​code>​mdadm --add, --re-add, --fail, --remove, ou --replace</​code>​ pour résoudre un problème d'​activation et d'​accès à la grappe raid. Ca n'a aucun sens, et ne peut que compliquer la remise en état de votre raid.
 +</​note>​
 +<note important>​Et si vous n'​arrivez pas à assembler votre raid avec les recommandations ci-dessus. Copiez tout les disques de la grappe raid individuellement avant de tenter autre chose (et ceci même si vous vous faites aider par un expert !)
 +
 +Et si vous êtes amené à utiliser mdadm - -create pour réassembler votre grappe, l'​utilisation de l'​option - -assume-clean **est impérative** ​
 +</​note>​
  
 ==== Problème de taille de block & superblock ==== ==== Problème de taille de block & superblock ====
Ligne 298: Ligne 494:
 <​code>​La taille du système de fichiers (selon le superbloc) est de 7727257 blocs <​code>​La taille du système de fichiers (selon le superbloc) est de 7727257 blocs
 La taille physique du périphérique est de 7727232 blocs La taille physique du périphérique est de 7727232 blocs
-Le superbloc ou la table des partitions est peut-être ​corrompue !+Le superbloc ou la table des partitions est peut-être ​corrompue ​!
 </​code>​ </​code>​
 ou ceci  (au boot par exemple): ou ceci  (au boot par exemple):
Ligne 327: Ligne 523:
  
 ==== md127 ==== ==== md127 ====
 +<note tip>Rien ne prouve que le changement de nom soit grave. Il est même possible que les nouveaux O.S. numérotent à partir de 127 en décroissant. Faites très attention lors de vos corrections. Commencer par vérifier que vos données sont sauvées avant de vouloir rectifier.</​note>​
 <note tips> <note tips>
 En changeant de système un RAID1 mdadm, la grappe peut-être reconnu comme /dev/md127 En changeant de système un RAID1 mdadm, la grappe peut-être reconnu comme /dev/md127
Ligne 339: Ligne 536:
 La méthode donnée sur ce lien a bien fonctionné avec une [[:​xenial|Ubuntu 16.04]] La méthode donnée sur ce lien a bien fonctionné avec une [[:​xenial|Ubuntu 16.04]]
  
-[[https://​www.leforuminfo.com/​index.php/​articles-53/​34-linux/​64-renomme-un-raid-md127|renommer-un-raid-md127]]+<del>[[https://​www.leforuminfo.com/​index.php/​articles-53/​34-linux/​64-renomme-un-raid-md127|renommer-un-raid-md127]]</​del>​
 <code bash> <code bash>
 #tout oublier et rescanner #tout oublier et rescanner
Ligne 404: Ligne 601:
  
 https://​forum.ubuntu-fr.org/​viewtopic.php?​id=1997683 https://​forum.ubuntu-fr.org/​viewtopic.php?​id=1997683
 +
 +https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22383805#​p22383805
  
 ==== Droits d'​écriture ==== ==== Droits d'​écriture ====
Ligne 423: Ligne 622:
  
 Vous aurez maintenant, en tant que membre du groupe '​disk',​ le droit d'​écrire. Vous aurez maintenant, en tant que membre du groupe '​disk',​ le droit d'​écrire.
 +
 +Si cela ne résout pas le problème, une solution peut consister à déplacer le point de montage de /media/raid vers /​media/​user/​raid. En effet, comme indiqué [[montage|ici]] (2.3), « Depuis quelques versions (16.04 ?), il existe un point de montage dédié à ces montages ponctuels dans le répertoire /media, et il porte votre nom. Ainsi, si vous avez choisis comme nom utilisateur fred, il existe un répertoire /​media/​fred. Il est intéressant d'​utiliser ce répertoire (ou un répertoire dans votre compte utilisateur normal), car les montages qui ne sont pas faits dans votre compte /home/user ou dans /media/user ne sont pas visibles dans votre gestionnaire de fichiers (mais ils fonctionnent). »
  
 ===== Des idées pour aller plus loin ===== ===== Des idées pour aller plus loin =====
Ligne 432: Ligne 633:
  
 [[:lvm]] [[:lvm]]
 +
 +Il existe aussi la possibilité de mettre du  [[https://​raid.wiki.kernel.org/​index.php/​Initial_Array_Creation|RAID]] ​ à l'​intérieur d'un LVM.
 +
  
  
Ligne 505: Ligne 709:
 Si vous n'avez pas de spare, remettez le disque en service : Si vous n'avez pas de spare, remettez le disque en service :
 <​code>​ <​code>​
-mdadm --manage /dev/md0 --add /dev/sdb2+mdadm --manage /dev/md0 --add /dev/sdb
 </​code>​ </​code>​
  
Ligne 524: Ligne 728:
   *  [[file:///​etc/​default/​mdadm]] ​   *  [[file:///​etc/​default/​mdadm]] ​
   *  [[file:///​etc/​mdadm/​mdadm.conf]]   *  [[file:///​etc/​mdadm/​mdadm.conf]]
 +
 +<note warning>​Si vous découvez que ces fichiers de configuration ne sont plus à jour, il est possible de les regénérer en ligne de commande <code bash>​sudo bash /​usr/​share/​mdadm/​mkconf | sudo tee /​etc/​mdadm/​mdadm.conf && sudo update-initramfs -u 
 +</​code>​ </​note>​
  
  
Ligne 647: Ligne 854:
  DATA : 12/131376 fichiers (0.0% non contigus), 156488/​525012 blocs  DATA : 12/131376 fichiers (0.0% non contigus), 156488/​525012 blocs
 </​code>​ </​code>​
-On resize ​le disque au cas où mais cela ne devrait pas être utile. S'il indique qu'il fait une modification c'est que le calcul de TAILLE_F ​étati insufisant.+On redimensionne ​le disque au cas oùmais cela ne devrait pas être utile. S'il indique qu'il fait une modificationc'est que le calcul de TAILLE_F ​était insuffisant.
 <​code>​ <​code>​
 resize2fs /dev/md0 resize2fs /dev/md0
Ligne 697: Ligne 904:
 ===== Un peu de référence ===== ===== Un peu de référence =====
   * Comme toujours, une fois le paquet installé, de la doc est disponible [[file:///​usr/​share/​doc/​mdadm/​rootraiddoc.97.html|localement]]   * Comme toujours, une fois le paquet installé, de la doc est disponible [[file:///​usr/​share/​doc/​mdadm/​rootraiddoc.97.html|localement]]
-<​del> ​ ​* ​[[http://​svn.debian.org/​wsvn/​pkg-mdadm/​mdadm/​trunk/​debian/​FAQ?​op=file&​rev=0&​sc=0|FAQ de Debian sur mdadm]]</​del>​+  * <​del>​[[http://​svn.debian.org/​wsvn/​pkg-mdadm/​mdadm/​trunk/​debian/​FAQ?​op=file&​rev=0&​sc=0|FAQ de Debian sur mdadm]]</​del>​
   * [[https://​raid.wiki.kernel.org/​index.php/​Linux_Raid|Wiki de référence du raid logiciel Linux (à partir du kernel 2.6)]]   * [[https://​raid.wiki.kernel.org/​index.php/​Linux_Raid|Wiki de référence du raid logiciel Linux (à partir du kernel 2.6)]]
   * [[http://​tldp.org/​HOWTO/​Software-RAID-HOWTO.html|How-TO complet sur la question du raid (kernel antérieur à 2.6)]]   * [[http://​tldp.org/​HOWTO/​Software-RAID-HOWTO.html|How-TO complet sur la question du raid (kernel antérieur à 2.6)]]
   * [[http://​www.noisette.ch/​wiki/​index.php/​Mdadm]]   * [[http://​www.noisette.ch/​wiki/​index.php/​Mdadm]]
-<​del> ​ ​* ​[[http://​kev.coolcavemen.com/​tag/​mdadm/​]]</​del>​+  * [[https://​hoper.dnsalias.net/​atdc/​index.php/​2010/​06/​18/​20100618quand-il-n-y-a-plus-aucun-espoir/​|Deux disques RAID5 détruits au même moment]] 
 +  * <del> [[http://​kev.coolcavemen.com/​tag/​mdadm/​]]</​del>​ 
 +  * [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2044377|Récupérer un vieux RAID géré par un NAS qui lâche]] 
 +  * [[https://​raid.wiki.kernel.org/​index.php/​RAID_superblock_formats|Les formats des métadata]]
 ---- ----
  
-//​Contributeurs : [[:​utilisateurs:​goldkey|goldkey]],​ [[:​utilisateurs:​Deejc|Deejc]],​ [[:​utilisateurs:​Grummfy]],​ gene69, David Schwindenhammer.//+//​Contributeurs : [[:​utilisateurs:​goldkey|goldkey]],​ [[:​utilisateurs:​Deejc|Deejc]],​ [[:​utilisateurs:​Grummfy]],​ gene69.//
  • raid_logiciel.1525726087.txt.gz
  • Dernière modification: Le 07/05/2018, 22:48
  • par Epy