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 19/03/2023, 17:27]
geole [Que faire si je n'arrive plus à accéder à mon raid] assume-clean
raid_logiciel [Le 23/07/2024, 14:07] (Version actuelle)
193.54.246.134 Utilise le terme français ‘matrice’ au lieu de l'anglicisme ‘array’.
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 (1et 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éesil suffit de les copier à plusieurs endroits\\ +Le RAID permet ​d'​améliorer ​la tolérance aux pannes ou la performance en répartissant ​les données sur plusieurs disques durs. 
-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)+ 
 +Les disques physiques individuels sont regroupés et organisés ​en 
 +ensembles appelés **matrices**((**Array** en anglais)). Les données 
 +sont réparties sur les disques de plusieurs manières possiblesappelées 
 +niveaux RAID, en fonction du niveau de redondance ​et de performances 
 +requis. Ces différents schémas, sont désigné par le mot « RAID » 
 +suivi d'​un ​numéro, par exemple RAID 0 ou RAID 1Chaque 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. Une fois qu'​une ​matrice est formée, 
 +il n'est pas possible de la réorganiser dans un niveau de RAID 
 +différent. Il faut donc choisir avec soin, le niveau dont on a 
 +besoin. On peut agrandir une matrice en lui ajoutant de nouveaux 
 +disques si le besoin ​d'​espace ​augmente, mais on ne pourra pas changer 
 +la niveau de RAID.
  
  
 ==== Ce que RAID n'est pas ==== ==== Ce que RAID n'est pas ====
  
-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+**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 .\\ 
-Les deux (ou plusdisques ​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 ..+Avec un RAID de niveau 1 ou plus, les données sont copiées sur plusieurs ​disques. Lorsqu'​un disque tombe en pannele 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.\\ 
-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ésLa 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.+Ceci laisse le temps de remplacer le disque défectueuxAprès remplacement du disque physique l'​administrateur système devra relancer la construction du RAIDC'est une opération qui va fortement solliciter la machine et le, ou les disques restantsIl 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, 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 ! +Dans le cas d'un RAID 0, les données sont réparties sur plusieurs 
-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é)+disques comme s'il s'agissait ​d'un seulce 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 53: Ligne 74:
   - ... 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 119: Ligne 142:
  
  
-<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>​+<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 137: Ligne 160:
 <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 200: Ligne 229:
 ===== Utilisation/​Configuration ===== ===== Utilisation/​Configuration =====
  
-==== Que faire pour agrandir ​l'​array ​? - Ajouter un disque ====+==== Que faire pour agrandir ​la matrice ​? - Ajouter un disque ====
  
 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 :
Ligne 207: Ligne 236:
 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 ​la matrice ​sur ces nouvelles partitions :
 <​code>​ <​code>​
 sudo mdadm --grow /dev/md0 --raid-devices=5 sudo mdadm --grow /dev/md0 --raid-devices=5
Ligne 254: Ligne 283:
 </​note>​ </​note>​
  
-==== Que faire pour agrandir ​l'​array ​? - Remplacer les disques ====+==== Que faire pour agrandir ​la matrice ​? - 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:\\ 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.\\ 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.\\
Ligne 275: Ligne 304:
  
  
-==== Que faire lorsqu'​un des composants de l'​Array ​vient à défaillir ? ====+==== Que faire lorsqu'​un des composants de la matrice ​vient à défaillir ? ====
  
 Ne paniquez pas ! Vous n'avez pas perdu de données. Ne paniquez pas ! Vous n'avez pas perdu de données.
Ligne 308: Ligne 337:
 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? ====+==== Que faire pour diminuer ​la matrice ​? - Supprimer un disque? ====
 Le besoin de supprimer définitivement un disque d'un RAID est certainement rare. 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.\\ 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.\\
Ligne 405: Ligne 434:
    
  
 +==== 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 474: Ligne 513:
 </​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 - -readonly <​code>​mdadm --assemble --run --readonly ...</​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 552: Ligne 591:
 #tout oublier et rescanner #tout oublier et rescanner
 sudo mdadm -Ss  sudo mdadm -Ss 
-# Assembler ​l' Array pré-existante (à adapter)+# Assembler ​la matrice ​pré-existante (à adapter)
 sudo mdadm -A /dev/md0 /​dev/​sd[ab]1 sudo mdadm -A /dev/md0 /​dev/​sd[ab]1
 # s'en souvenir ​ # s'en souvenir ​
Ligne 685: Ligne 724:
 </​code>​ </​code>​
  
-Par contre, si vous avez déjà ​un array RAID en service, sur sda2 et sdb2, et que vous voulez ajouter le spare sdc2 (préalablement partitionné à l'​identique avec sfdisk par exemple) :+Par contre, si vous avez déjà ​une matrice ​RAID en service, sur sda2 et sdb2, et que vous voulez ajouter le spare sdc2 (préalablement partitionné à l'​identique avec sfdisk par exemple) :
 <​note>​Afin de créer un disque de spare, il nous faut lui donner le même partitionnement que les autres disques du RAID. Pour cela, la commande sfdisk va nous aider.</​note>​ <​note>​Afin de créer un disque de spare, il nous faut lui donner le même partitionnement que les autres disques du RAID. Pour cela, la commande sfdisk va nous aider.</​note>​
 Une fois votre disque supplémentaire connecté, il vous faut créer les mêmes partitions, pour cela tapez en root dans un terminal (sudo -i, ou sudo bash je vous le rappelle) : Une fois votre disque supplémentaire connecté, il vous faut créer les mêmes partitions, pour cela tapez en root dans un terminal (sudo -i, ou sudo bash je vous le rappelle) :
Ligne 707: Ligne 746:
  
 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 729: Ligne 768:
 </​code>​ </​code>​
  
-Chaque disque retiré puis remis fera une reconstruction complète. Pour un array de 40 Go, comptez 15 min pour atteindre les 100% (60 mo/s environ). Évitez de rebooter la machine pendant la progression.+Chaque disque retiré puis remis fera une reconstruction complète. Pour une matrice ​de 40 Go, comptez 15 min pour atteindre les 100% (60 mo/s environ). Évitez de rebooter la machine pendant la progression.
  
  
Ligne 766: Ligne 805:
 #   ​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 777: Ligne 819:
     * Rebuild20, 40, 60, 80 : reconstruction en cours à 20, 40, 60 ou 80%     * Rebuild20, 40, 60, 80 : reconstruction en cours à 20, 40, 60 ou 80%
     * RebuildFinished : la reconstruction vient de finir     * RebuildFinished : la reconstruction vient de finir
-    * SpareActive : disque spare vient d'​être ajouté à un array+    * SpareActive : disque spare vient d'​être ajouté à une matrice
   * $2 : nom du disque raid md concerné, par exemple /dev/md2   * $2 : nom du disque raid md concerné, par exemple /dev/md2
   * $3 : disque concerné, par exemple /dev/sda5   * $3 : disque concerné, par exemple /dev/sda5
Ligne 802: Ligne 844:
 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 ====
  • raid_logiciel.1679243259.txt.gz
  • Dernière modification: Le 19/03/2023, 17:27
  • par geole