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 23/02/2021, 14:45]
geole [Que faire pour diminuer l'array ? - Supprimer un disque?]
raid_logiciel [Le 01/02/2024, 17:08] (Version actuelle)
krodelabestiole suppression étiquette sauvegarde
Ligne 1: Ligne 1:
-{{tag>​bionic focal sauvegarde ​sécurité système raid}}+{{tag>​bionic focal sécurité système raid}}
  
 ---- ----
Ligne 7: Ligne 7:
 ===== Introduction - Qu'​est-il possible de faire ? ===== ===== Introduction - Qu'​est-il possible de faire ? =====
  
-Vous venez de terminer une installation d'​Ubuntu et voulez protéger vos données ou améliorer les performances en utilisant un système RAID (1, 5 et 6 pour la sécurité des donnés + perfs; 0 pour les perfs brutes au prix d'un risque accru de perte de donnés). \\ 
-Le RAID utilise une logique très simple. Pour sauvegarder efficacement les données, il suffit de les copier à plusieurs endroits. \\ 
-Le RAID permet donc d'​utiliser les performances de plusieurs disques de manière optimale tout en diminuant les risques de perte de données au prix d'une légère perte d'​espace disque (pour les RAID 5 et 6) 
  
 +Le RAID permet d'​améliorer la tolérance aux pannes ou la performance en répartissant les données sur plusieurs disques durs.\\
  
-==== Ce que RAID n'est pas ====+Les données sont réparties sur les disques de plusieurs manières, appelées niveaux ​RAID, en fonction du niveau de redondance et de performances requis. Les différents schémas, sont désigné par le mot « RAID » suivi d'un numéro, par exemple RAID 0 ou RAID 1. Chaque schéma, ou niveau RAID, offre un équilibre différent entre les objectifs clés : fiabilité, disponibilité,​ performances et capacité. Les niveaux RAID supérieurs à RAID 0 offrent une protection contre les erreurs de lecture de secteur irrécupérables,​ ainsi que contre les pannes de disques physiques entiers.
  
-Le RAID n'est pas une solution de sauvegarde, il s'agit d'une solution qui permet un rétablissement rapide de la situation lors d'un cas de figure favorable. 
-Les deux (ou plus) disques utilisés étant souvent de la même époque, de la même marque, et même de la même série, il se peut que vous n'ayez pas de chance et que plus d'un disque grille à la fois, dans ce cas, il est possible que vous ne puissiez pas récupérer la moindre bribe de données ... 
-Lors d'un événement qui conduirait à des dégâts électriques tous les composants de votre PC peuvent griller en même temps ... Ce genre de dégâts est fréquent si votre alimentation est dite "​NONAME"​ c'​est-à-dire une alimentation souvent vendue avec les ordinateurs pré-assemblés. La remplacer par une Alim de marque reconnue permet de baisser ce risque énormément à tel point qu'il en devient négligeable. Malgré tout une sauvegarde externe reste très vivement conseillée. 
  
-Dans le cas d'un RAID 0, il ne s'​agit ​aucunement ​d'une solution de sauvegardebien au contraire, le fait d'étaler ​les données sur plusieurs disques augmente ​certes ​les performances,​ mais il en résulte une plus grande chance ​de panne. En effet si un seul des disques d'un groupe RAID 0 grille, l'​intégralité des données devient illisible ! +==== Ce que RAID n'est pas ==== 
-Ce type de RAID est donc utile seulement dans les cas où les données sont non cruciales mais dont les besoins de performances de lecture/​écriture sont importants. ​(Partition système ou partition dite "​Scratch area" c'​est-à-dire endroit où est fait le travail courant avant d'​être stocké plus en sécurité)+** 
 +Le RAID n'est pas une solution de sauvegarde**, il s'agit d'une solution ​qui permet un rétablissement relativement rapide ​de la situation .\\ 
 +Avec un RAID de niveau 1 ou plusles données sont copiées sur plusieurs disques. Lorsqu'​un disque tombe en panne, le système continue de fonctionner avec ceux restant. C'est une solution de haute disponibilité pour des systèmes dont les services ou l'​accès aux données ne doivent pas être interrompus.\\ 
 +Ceci laisse le temps de remplacer le disque défectueux. Après remplacement du disque physique l'​administrateur système devra relancer la construction du RAID. C'est une opération qui va fortement solliciter la machine et le, ou les disques restants. Il arrive qu'un second disque tombe en panne lors de cette opération rendant alors l'​ensemble du système ou des données inaccessibles.\\ 
 + 
 +Dans le cas d'un RAID 0, les données ​sont réparties ​sur plusieurs disques ​comme s'il s'​agissait d'un seul, ce qui augmente les performances,​ mais aussi le risque ​de panne. En effet si un seul des disques d'un groupe RAID 0 grille, l'​intégralité des données devient illisible ! 
 +Ce type de RAID est donc utile seulement dans les cas où les données sont non cruciales mais dont les besoins de performances de lecture/​écriture sont importants.
  
 ==== Les types de RAID ==== ==== Les types de RAID ====
Ligne 39: Ligne 40:
 L'​avantage est que vous ne vous ruinez pas dans l'​achat d'une carte fille supportant le RAID  5 et en quelques lignes de commandes vous avez l'​équivalent pour uniquement le prix des disques ! \\ L'​avantage est que vous ne vous ruinez pas dans l'​achat d'une carte fille supportant le RAID  5 et en quelques lignes de commandes vous avez l'​équivalent pour uniquement le prix des disques ! \\
 Mdadm remplace aussi avantageusement l'​utilisation d'un [[:​tutoriel/​comment_utiliser_le_raid_onboard|fake-raid]] qui n'​offre généralement pas d'​aussi bonnes performances.\\ Mdadm remplace aussi avantageusement l'​utilisation d'un [[:​tutoriel/​comment_utiliser_le_raid_onboard|fake-raid]] qui n'​offre généralement pas d'​aussi bonnes performances.\\
-L'​utilisation de disques durs SATA, est plus que recommandée,​ car ils permettent une extraction à chaud (Hot Plug) pour un prix abordable. ​+L'​utilisation de disques durs SATA, est plus que recommandée,​ car ils permettent une extraction à chaud (Hot Plug) pour un prix abordable.
  
 Le logiciel qui va nous permettre de remplir notre objectif s'​appelle **mdadm**. Le logiciel qui va nous permettre de remplir notre objectif s'​appelle **mdadm**.
  
- 
-<note tips> 
-Si vous avez besoin de la prise en charge du RAID logiciel dès l'​installation de votre système, vous pouvez vous tourner vers 
-une iso [[:/​installation_alternate#​obtenir_une_iso_alternate|alternate]] ou une iso serveur. 
-</​note>​ 
  
 ===== Pré-requis ===== ===== Pré-requis =====
Ligne 58: Ligne 54:
   - ... branchés sur des contrôleurs IDE Sata/​P-ata/​SCSI reconnus par Ubuntu (C'est à dire la quasi totalité)   - ... branchés sur des contrôleurs IDE Sata/​P-ata/​SCSI reconnus par Ubuntu (C'est à dire la quasi totalité)
   - Il est recommandé que les disques soient de même taille, mais ce n'est pas indispensable,​ vous pouvez partitionner vos disques de telle manière que chaque disque ait une partition de la taille du disque le plus petit, le restant des disques pourra être utilisé en mode conventionnel "​NON-RAID"​   - Il est recommandé que les disques soient de même taille, mais ce n'est pas indispensable,​ vous pouvez partitionner vos disques de telle manière que chaque disque ait une partition de la taille du disque le plus petit, le restant des disques pourra être utilisé en mode conventionnel "​NON-RAID"​
 +
 + 
  
 ===== Installation ===== ===== Installation =====
Ligne 65: Ligne 63:
 Il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​mdadm|mdadm]]**. Il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​mdadm|mdadm]]**.
  
-Un boot est nécessaire pour permettre la découverte des structures RAIDS pré-existantes dans le cas d'une nouvelle installation de l'OS en plus (ou à la place) d'une installation existante utilisant des RAIIDS. ​+Un boot est nécessaire pour permettre la découverte des structures RAIDS pré-existantes dans le cas d'une nouvelle installation de l'OS en plus (ou à la place) d'une installation existante utilisant des RAIIDS.
  
  
Ligne 83: Ligne 81:
  
  
-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 90: Ligne 88:
  
  
-Vous obtiendrez (grâce à l'​option `m`) les lignes suivantes : +Vous obtiendrez (grâce à l'​option `m`) les lignes suivantes :
  
 {{:​securite:​menu_fdisk.gif}} {{:​securite:​menu_fdisk.gif}}
Ligne 99: Ligne 97:
 Nous n'​allons créer qu'une seule partition par disque, nous choisirons donc le type primaine : '​p'​ Nous n'​allons créer qu'une seule partition par disque, nous choisirons donc le type primaine : '​p'​
  
-Vous entrez ensuite dans le processus de création de partition étendue : +Vous entrez ensuite dans le processus de création de partition étendue :
  
 {{:​securite:​creation.1.gif|}} {{:​securite:​creation.1.gif|}}
Ligne 117: Ligne 115:
 Tapez '​fd'​ (Valeur hexadécimale correspondant à "Linux Raid Autodetect"​) puis `Entrée` afin de valider. Tapez '​fd'​ (Valeur hexadécimale correspondant à "Linux Raid Autodetect"​) puis `Entrée` afin de valider.
  
-Enfin, validez les modifications en tapant `w` : +Enfin, validez les modifications en tapant `w` :
  
 {{:​securite:​validation.gif|}} {{:​securite:​validation.gif|}}
Ligne 128: Ligne 126:
 ==== Construction du volume RAID ===== ==== Construction du volume RAID =====
  
-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 ​ --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
Ligne 135: Ligne 133:
 **sudo** permet de dire que le programme que nous allons exécuter aura les droits administrateur **sudo** permet de dire que le programme que nous allons exécuter aura les droits administrateur
 **mdadm** est le nom du programme à utiliser (oui j'​explique même pour ceux qui ne sont pas adeptes de la ligne de commande) **mdadm** est le nom du programme à utiliser (oui j'​explique même pour ceux qui ne sont pas adeptes de la ligne de commande)
-**--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 \\ 
-**--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. <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>​ https://​raid.wiki.kernel.org/​index.php/​Initial_Array_Creation</​note>​
 +
 +<note tip>Bien qu'il soit possible d'​indiquer le disque entier et pas la partition, ne le faite pas. Au redémarrage de l'​ordinateur,​ le raid ne se montera pas automatiquement. ​ Le montage en mode ligne de commande risque aussi d'​être compliqué.<​code bash>​sudo mdadm --assemble --verbose --metadata=1.2 --force --run /dev/md125 /dev/sdd
 +mdadm: looking for devices for /dev/md125
 +mdadm: No super block found on /dev/sdd (Expected magic a92b4efc, got 00000000)
 +mdadm: no RAID superblock on /dev/sdd
 +mdadm: /dev/sdd has no superblock - assembly aborted</​code>​ Ne panacher pas car  il y aura contradiction</​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 158: Ligne 162:
 </​note>​ </​note>​
  
-On termine cette construction par la daemonisation du volume RAID, c'​est-à-dire que nous allons faire en sorte que le système charge le volume à chaque démarrage : +On termine cette construction par la daemonisation du volume RAID, c'​est-à-dire que nous allons faire en sorte que le système charge le volume à chaque démarrage :
 <​code>​ <​code>​
 sudo mdadm --daemonise /dev/md0 sudo mdadm --daemonise /dev/md0
Ligne 182: Ligne 186:
 ==== Finalisation ===== ==== Finalisation =====
  
-Il reste quelques modifications à effectuer : +Il reste quelques modifications à effectuer :
  
   - Il faut formater le volume RAID nouvellement créé ​ :    - Il faut formater le volume RAID nouvellement créé ​ : 
Ligne 230: Ligne 234:
 </​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>​ </​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. ​+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 ​ <code bash> cat /​proc/​mdstat ​
 Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] ​ Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] ​
Ligne 243: Ligne 247:
 [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22075419#​p22075419|Voir un exemple concret.]] [[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>pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gparted /dev/sda # ou gparted sans pkexec -> éviter de faire sudo gparted /dev/sda
-<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. Unit boot.mount does not exist, proceeding anyway.
 GParted 1.0.0 GParted 1.0.0
Ligne 270: Ligne 272:
 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.\\ 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.\\ 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. ​ +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 <code bash>​sudo mdadm --manage /dev/md0 --add /dev/sdb1
 watch -n 60 cat /​proc/​mdstat</​code>​ watch -n 60 cat /​proc/​mdstat</​code>​
Ligne 276: Ligne 278:
 <code bash>​sudo mdadm --detail /dev/md0 | grep spare <code bash>​sudo mdadm --detail /dev/md0 | grep spare
 sudo mdadm --manage /dev/md0 --remove /​dev/​sdx1 ​ /dev/sdy1 /​dev/​sdz1</​code>​ 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. ​  ​+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 <code bash>​sudo mdadm --grow /dev/md0 --size=max
 sudo mdadm --detail /dev/md0 | grep Size      sudo mdadm --detail /dev/md0 | grep Size     
Ligne 286: Ligne 288:
 Ne paniquez pas ! Vous n'avez pas perdu de données. Ne paniquez pas ! Vous n'avez pas perdu de données.
 L'​objectif maintenant est d'​identifier le disque dur défaillant,​ même si le disque ne tombe pas en panne physiquement,​ il peut défaillir. (Un bon outil de diagnostic est le visualiseur de données SMART de [[Gnome-disk-utility]] ou smartctl dans [[SMARTMonTools]]) L'​objectif maintenant est d'​identifier le disque dur défaillant,​ même si le disque ne tombe pas en panne physiquement,​ il peut défaillir. (Un bon outil de diagnostic est le visualiseur de données SMART de [[Gnome-disk-utility]] ou smartctl dans [[SMARTMonTools]])
-Maintenant que vous avez identifié le disque dur défectueux,​ il faut le déclarer comme tel. +Maintenant que vous avez identifié le disque dur défectueux,​ il faut le déclarer comme tel.
  
 1. Pour cela, on utilise mdadm : 1. Pour cela, on utilise mdadm :
Ligne 299: Ligne 301:
 On utilise l'​option `%%--set-faulty%%` pour déclarer le disque dur `/dev/sdb1` du volume RAID `/dev/md0` comme défaillant. On utilise l'​option `%%--set-faulty%%` pour déclarer le disque dur `/dev/sdb1` du volume RAID `/dev/md0` comme défaillant.
  
-2. Une fois déclaré défaillant,​ le disque dur est écarté du volume RAID. Il faut maintenant le désactiver pour pouvoir le retirer : +2. Une fois déclaré défaillant,​ le disque dur est écarté du volume RAID. Il faut maintenant le désactiver pour pouvoir le retirer :
  
 <​code>​ <​code>​
Ligne 323: Ligne 325:
 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 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.\\ 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.\\  ​+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.\\ Il faudra démonter le RAID pendant ​ une opération.\\
  
Ligne 337: Ligne 339:
 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. \\ 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.\\ 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é."​**\\  +**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 ​\\  ​+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. 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 354: Ligne 356:
         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 (3 dans le contexte).\\  +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. ​      ​+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)
Ligne 374: Ligne 376:
 Cette commande est sans réponse. L'​application gparted permet de visualiser la nouvelle taille. \\ 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. \\ 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é.\\ +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. 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.
Ligne 385: Ligne 387:
 Il ne reste plus qu'à surveiller et patienter. Il ne reste plus qu'à surveiller et patienter.
 <code bash> ​       [>​....................] ​ reshape =  3.7% (195980/​5237760) finish=54.6min speed=1536K/​s</​code>​ <code bash> ​       [>​....................] ​ reshape =  3.7% (195980/​5237760) finish=54.6min speed=1536K/​s</​code>​
-11) Indiquer que le disque désiré doit être supprimé. ​+11) Indiquer que le disque désiré doit être supprimé.
 <code bash> ​       sudo mdadm /dev/md55 --fail /dev/sdd7 <code bash> ​       sudo mdadm /dev/md55 --fail /dev/sdd7
         mdadm: set /dev/sdd7 faulty in /​dev/​md55</​code>​         mdadm: set /dev/sdd7 faulty in /​dev/​md55</​code>​
Ligne 412: Ligne 414:
    
  
 +==== Que faire pour transformer un RAID0 en RAID10 ? ====
 +Exemple de création d'un RAID0
 +<code bash>​sudo mdadm --create /dev/md0 --level=0 ​ --raid-devices=2 /dev/sdb1 /dev/sdc1
 +sudo mkfs.ext4 /dev/md0
 +sudo mount -v /dev/md0 /media/raid
 +sudo cp -rv  /​media/​Commun/​Football/​France* /​media/​raid</​code>​
 +Il  faut disposer de deux nouveaux disques ​ de taille au moins égale et les ajouter en disant que  c'est en raids10. Exemple de commande.
 +<code bash>​sudo mdadm --grow /dev/md0 --level=10 --raid-devices=4 --add /dev/sdc1 --add /dev/sdd1 </​code>​
 +Puis regarder les deux nouveaux ​ disques se mettre en forme par utilisation automatique du mode recovery de mdadm.
 +<code bash>​watch -n10 cat /​proc/​mdstat </​code> ​
 ==== Comment migrer les données vers une nouvelle machine ? ==== ==== Comment migrer les données vers une nouvelle machine ? ====
  
Ligne 471: Ligne 483:
  
  
-Essayez d'​abord des choses simples : +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) 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)
Ligne 481: Ligne 493:
 </​note>​ </​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.+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 - -readonly ​<​code>​mdadm --assemble --run --readonly ​...</​code> ​ Le disque absent ne doit pas être remplacé par le mot "​missing"​. ​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 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.
Ligne 487: Ligne 499:
 <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 !) <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**  +Et si vous êtes amené à utiliser mdadm - -create pour réassembler votre grappe, l'​utilisation de l'​option - -assume-clean **est impérative.** Si les données ne sont pas dégradées,​ elles sont retrouvées. 
-</​note>​+<code bash>​sudo mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /​dev/​sdb1[1-3]  
 +mdadm: /dev/sdb11 appears to contain an ext2fs file system 
 +       ​size=40960000K ​ mtime=Thu Jan  1 01:00:00 1970 
 +mdadm: /dev/sdb11 appears to be part of a raid array: 
 +       ​level=raid5 devices=3 ctime=Sun Mar 19 15:53:46 2023 
 +mdadm: /dev/sdb12 appears to be part of a raid array: 
 +       ​level=raid5 devices=3 ctime=Sun Mar 19 15:53:46 2023 
 +mdadm: /dev/sdb13 appears to be part of a raid array: 
 +       ​level=raid5 devices=3 ctime=Sun Mar 19 15:53:46 2023 
 +Continue creating array? yes 
 +mdadm: Defaulting to version 1.2 metadata 
 +mdadm: array /dev/md0 started. 
 +sudo mount /dev/md0 /​media/​raid 
 +ls -ls /​media/​raid 
 +total 1918004 
 +646528 -rwxr-x--- 1 root root 662036661 mars  19 15:54 '​France - Suisse (8e de finale) -1e_MiTemps.mkv'​ 
 +668332 -rwxr-x--- 1 root root 684365664 mars  19 15:55 '​France - Suisse (8e de finale) -2e_MiTemps.mkv'​ 
 +470280 -rwxr-x--- 1 root root 481560177 mars  19 15:55 '​France - Suisse (8e de finale) -Prolongations.mkv'​ 
 +132848 -rwxr-x--- 1 root root 136028194 mars  19 15:56 '​France - Suisse (8e de finale) -TirsAuBut.mkv'​ 
 +    16 drwx------ 2 root root     16384 mars  19 15:53  lost+found</​code>​</​note>​
  
 ==== Problème de taille de block & superblock ==== ==== Problème de taille de block & superblock ====
Ligne 517: Ligne 548:
 >​Filesystem mounted or opened exclusively by another program? >​Filesystem mounted or opened exclusively by another program?
  
-Alors que /dev/sdX est un membre du raid et n'est pas lui-même présent dans fstab, cette solution peut peut-être vous aider : +Alors que /dev/sdX est un membre du raid et n'est pas lui-même présent dans fstab, cette solution peut peut-être vous aider :
 (on sauvegarde pour le cas où ...) (on sauvegarde pour le cas où ...)
 <​code>​sudo mv /​etc/​blkid.tab /​etc/​blkid.tab.baktimeofday</​code>​ <​code>​sudo mv /​etc/​blkid.tab /​etc/​blkid.tab.baktimeofday</​code>​
Ligne 592: Ligne 623:
 </​note>​ </​note>​
  
-http://​forum.ubuntu-fr.org/​viewtopic.php?​id=372346+https://​forum.ubuntu-fr.org/​viewtopic.php?​id=372346
  
-http://​ubuntuforums.org/​showthread.php?​t=1764861+https://​ubuntuforums.org/​showthread.php?​t=1764861
  
-http://​ubuntuforums.org/​showthread.php?​t=1468064+https://​ubuntuforums.org/​showthread.php?​t=1468064
  
-http://​ubuntuforums.org/​archive/​index.php/​t-1883173.html+https://​ubuntuforums.org/​archive/​index.php/​t-1883173.html
  
 https://​forum.ubuntu-fr.org/​viewtopic.php?​id=1997683 https://​forum.ubuntu-fr.org/​viewtopic.php?​id=1997683
Ligne 630: Ligne 661:
 ==== Découpage du volume avec LVM ==== ==== Découpage du volume avec LVM ====
  
-Lorsque l'on crée un volume RAID, on se retrouve vite avec de capacités très importantes. Or, créer un seul système de ficher de 500 Go, voire beaucoup plus, n'est pas forcement une bonne idée Pour pouvoir découper cet espace de stockage à volonté et pouvoir créer autant de système de fichier que nécessaire (et les redimensionner au besoin) il peut être très intéressant d'​utiliser, ​"au dessus" ​du RAID la fonctionnalité LVM :+Lorsque l'on crée un volume RAID, on se retrouve vite avec des capacités très importantes. Or, créer un seul système de ficher de 500 Go, voire beaucoup plus, n'est pas forcement une bonne idéePour pouvoir découper cet espace de stockage à volonté et pouvoir créer autant de système de fichier que nécessaire (et les redimensionner au besoin) il peut être très intéressant d'​utiliser, ​« au-dessus ​» du RAID la fonctionnalité LVM :
  
 [[:lvm]] [[:lvm]]
Ligne 640: Ligne 671:
 ==== La combinaison des niveaux de RAID ==== ==== La combinaison des niveaux de RAID ====
  
-Vous pouvez très bien combiner les niveaux de RAID.  +Vous pouvez très bien combiner les niveaux de RAID. 
-La manière la moins onéreuse de créer un RAID combiné est d'​effectuer plusieurs RAID matériels puis de les combiner entre eux au niveau logiciel. ​+La manière la moins onéreuse de créer un RAID combiné est d'​effectuer plusieurs RAID matériels puis de les combiner entre eux au niveau logiciel.
  
 On pourra prendre comme exemple le RAID 1,0 qui fonctionne très bien. On pourra prendre comme exemple le RAID 1,0 qui fonctionne très bien.
-Imaginons que nous ayons 6 disques durs de 30Go, plus un disque dur système et trois cartes-filles supportant le RAID 1. Créons donc trois ensembles RAID 1 (mirroring) qui feront tous 30Go.  +Imaginons que nous ayons 6 disques durs de 30Go, plus un disque dur système et trois cartes-filles supportant le RAID 1. Créons donc trois ensembles RAID 1 (mirroring) qui feront tous 30Go. 
-Appliquons ensuite un RAID 0 au niveau logiciel. ​+Appliquons ensuite un RAID 0 au niveau logiciel.
 On possède alors un seul ensemble de 90Go (3 x 30Go) et une tolérance de panne de trois disques durs (1 par unité RAID 1). On possède alors un seul ensemble de 90Go (3 x 30Go) et une tolérance de panne de trois disques durs (1 par unité RAID 1).
  
Ligne 666: Ligne 697:
 ==== Un disque de spare : votre roue de secours en cas de défaillance ==== ==== Un disque de spare : votre roue de secours en cas de défaillance ====
  
-Pour ceux qui sont intéressés par la commande mdadm, sachez qu'​elle possède d'​autres options. L'une de ses options permet notamment d'​ajouter un disque de spare, c'​est-à-dire un disque "​dormant",​ qui prend la relève dès qu'un disque tombe en panne. Cela vous permet une plus grande tolérance de panne. ​+Pour ceux qui sont intéressés par la commande mdadm, sachez qu'​elle possède d'​autres options. L'une de ses options permet notamment d'​ajouter un disque de spare, c'​est-à-dire un disque "​dormant",​ qui prend la relève dès qu'un disque tombe en panne. Cela vous permet une plus grande tolérance de panne.
  
-Voici l'​option permettant de prendre en compte un disque de spare : +Voici l'​option permettant de prendre en compte un disque de spare :
 <​code>​ <​code>​
 mdadm --create /dev/md0 --level=1 --raid-devices=2 --spare-devices=1 /dev/sdX mdadm --create /dev/md0 --level=1 --raid-devices=2 --spare-devices=1 /dev/sdX
Ligne 695: Ligne 726:
  
 Et vous verrez votre nouveau disque sdc2 comme spare disk. Et vous verrez votre nouveau disque sdc2 comme spare disk.
 +<note warning>​Un avis: Un disque spare est certainement utile si le raids est composé d'une centaine de disques mais probablement nuisible s'il est constitué de  seulement trois disques. Ce  disque de secours pouvant être devenu en aussi mauvais état au bout de  huit ans que le disque qu'il doit remplacer et la duplication peut ne pas se terminer. Autant attendre l'​alerte et mettre rapidement ​ un disque tout neuf.</​note>​
  
  
Ligne 709: Ligne 740:
 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 726: Ligne 757:
  
 Pour ceux qui fouillent un peu, les fichiers de configurations sont Pour ceux qui fouillent un peu, les fichiers de configurations sont
-  *  [[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 751: Ligne 785:
 #   ​additional options to pass to the daemon. #   ​additional options to pass to the daemon.
 DAEMON_OPTIONS="​--syslog"​ DAEMON_OPTIONS="​--syslog"​
 +#
 +# instruct the monitoring daemon where to send mail alerts
 +MAILADDR ​   root    ######## ​   ou    wwwwwww.Fournisseur.fr
 </​code>​ </​code>​
  
Ligne 787: Ligne 824:
 PROGRAM /​cheminversmonprogramme PROGRAM /​cheminversmonprogramme
 </​code>​ </​code>​
 +
 +Il est aussi possible de se faire prévenir dans sa messagerie personnelle après avoir installé un logiciel client. Par exemple [[:​msmtp|msmtp]]. Puis en activant la fonctionnalité.
 +<code bash>​systemctl stop mdmonitor
 +sudo mdadm --monitor --scan --mail NomUtilisateur@fournisseur.fr ​
 +systemctl restart mdmonitor
 +## Ne pas oublier de tester le fonctionnement de la messagerie.
 +sudo mdadm --monitor --scan --mail NomUtilisateur@fournisseur.fr --test --oneshot</​code>​
 +
 +
  
 ==== Création d'un RAID sans avoir tous les disques ==== ==== Création d'un RAID sans avoir tous les disques ====
Ligne 903: Ligne 949:
   * <​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)]]+  * [[https://​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]]
   * [[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]]   * [[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]]
Ligne 909: Ligne 955:
   * [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2044377|Récupérer un vieux RAID géré par un NAS qui lâche]]   * [[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]]   * [[https://​raid.wiki.kernel.org/​index.php/​RAID_superblock_formats|Les formats des métadata]]
 +  * [[https://​www.digitalocean.com/​community/​tutorials/​how-to-create-raid-arrays-with-mdadm-on-ubuntu-22-04|exemples de création (Anglais) ]]
 +
 ---- ----
  
 //​Contributeurs : [[:​utilisateurs:​goldkey|goldkey]],​ [[:​utilisateurs:​Deejc|Deejc]],​ [[:​utilisateurs:​Grummfy]],​ gene69.// //​Contributeurs : [[:​utilisateurs:​goldkey|goldkey]],​ [[:​utilisateurs:​Deejc|Deejc]],​ [[:​utilisateurs:​Grummfy]],​ gene69.//
  • raid_logiciel.1614087935.txt.gz
  • Dernière modification: Le 23/02/2021, 14:45
  • par geole