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 20/02/2021, 19:53]
geole [Que faire pour diminuer l'array ?] AJOUT
raid_logiciel [Le 19/08/2021, 11:36] (Version actuelle)
88.122.224.21 [Test]
Ligne 83: 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 260: Ligne 260:
 resize2fs -p '/​dev/​md50' ​ 00:​01:​44 ​   ( SUCCÈS )</​code>​ resize2fs -p '/​dev/​md50' ​ 00:​01:​44 ​   ( SUCCÈS )</​code>​
 </​note>​ </​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>​
  
  
Ligne 315: Ligne 335:
         /​dev/​md55 ​          ​15335408 ​  ​11207536 ​   3325832 ​ 78% /​media/​RAID55</​code>​         /​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.\\ En déduire le nombre de disques nécessaires et la taille du système de fichier.\\
-Nombre de disques =  taille du systeme ​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. \\ +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 RAIDS= Nombre de disques trouvés multiplié par la taille d'une unité physique.\\ +Taille du système de fichier= Nombre de disques trouvés multiplié par la taille d'une unité physique.\\ 
-Ici dans le contexte ​et 15713280 \\  ​+**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 ​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. 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>​ <code bash> ​        sudo umount -v /dev/md55 </​code>​
Ligne 333: Ligne 354:
         resize2fs: La nouvelle taille est plus petite que le minimum (4438811) ​  </​code>​         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.\\ 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 (dans le contexte).\\ ​+A chaque itération, multiplier la nouvelle taille obtenue par le coefficient de taille (dans le contexte).\\ ​
 Si la valeur est enfin inférieure,​ il est inutile de continuer, sinon il faut continuer ​ jusqu'​au message final. ​       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  ​ <code bash> ​       sudo resize2fs -M /​dev/​md55  ​
         resize2fs 1.45.5 (07-Jan-2020)         resize2fs 1.45.5 (07-Jan-2020)
-        Le système de fichiers a déjà 4434586 blocs (4k). Rien à faire ! </​code>​+        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. 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é"​ <code bash> ​       df -B 1024 |egrep "/​dev/​md55|Utilisé"​
Ligne 344: Ligne 365:
 Dans ce contexte, on voit qu'on ne sait pas récupérer tout l'​espace disponible!\\ 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...\\ Il reste  la solution de supprimer un disque en moins pour que cela tienne...\\
-Le contexte va donc devenir: Conserver ​disques avec une taille de 20954040 KiO+Le contexte va donc devenir: Conserver ​**5** disques avec une taille de 20954040 KiO
 <code bash> ​       sudo resize2fs ​ /​dev/​md55 ​ 20951040K <code bash> ​       sudo resize2fs ​ /​dev/​md55 ​ 20951040K
         resize2fs 1.45.5 (07-Jan-2020)         resize2fs 1.45.5 (07-Jan-2020)
Ligne 374: Ligne 395:
 <code bash> ​       sudo mdadm /dev/md55 --remove /dev/sdd7 <code bash> ​       sudo mdadm /dev/md55 --remove /dev/sdd7
         mdadm: hot removed /dev/sdd7 from /​dev/​md55</​code>​         mdadm: hot removed /dev/sdd7 from /​dev/​md55</​code>​
-13) Itérer sur les actions décrites aux points ​ 10 11 et 12 sauf pour le dernier ​ disque à supprimer.\\ +13) Itérer sur les actions décrites aux points ​ 10 11 et 12.\\ 
- +Si la commande de suppression du  disque ​donne ce retour
-14) La commande de suppression du dernier ​disque ​sera un peu différénte car il n'y aura plus de disque de secours!+
 <code bash> ​       sudo mdadm --grow /dev/md55 --raid-devices=4 --backup-file /home/md55 <code bash> ​       sudo mdadm --grow /dev/md55 --raid-devices=4 --backup-file /home/md55
         mdadm: this change will reduce the size of the array.         mdadm: this change will reduce the size of the array.
Ligne 387: Ligne 407:
 <code bash> ​       resize2fs ​ /​dev/​md55 ​ 15713280K</​code>​ <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!!!\\ Mais il ne connaît absolument pas le système de fichier qu'il héberge et ne peut donc pas le faire!!!\\
-Il faut probablement indiquer que le raids va dorénavant fonctionner sans disque ​de secours? +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"​! 
-<code bash> ​       sudo mdadm --grow /dev/md55 --raid-devices=4 --backup-file /home/md55 --spare-devices=0 + 
-        mdadm: :option --spare-devices not valid in grow mode</​code>​ + 
-**Pas de solution ​trouvée.** +
-Il est donc nécessaire ​de pouvoir supprimer deux disques ​afin d'en récupérer un et de laisser l'​autre à disposition du système en cas de panne matérielle. ​+
    
  
Ligne 476: 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 691: 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 710: 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>​
  
  
  • raid_logiciel.1613847230.txt.gz
  • Dernière modification: Le 20/02/2021, 19:53
  • par geole