GNU/Linux >> Tutoriels Linux >  >> Linux

Simple mdadm RAID 1 n'active pas la réserve

Faire cela place simplement le lecteur dans le tableau sans rien faire avec, c'est-à-dire qu'il est membre du tableau mais n'y est pas actif. Par défaut, cela le transforme en pièce de rechange :

sudo mdadm /dev/md0 --add /dev/sdb1

Si vous avez une réserve, vous pouvez l'augmenter en forçant le nombre de disques actifs pour la baie à augmenter. Avec 3 disques et 2 prévus actif, vous devrez augmenter le nombre d'actifs à 3.

mdadm --grow /dev/md0 --raid-devices=3

Le pilote de la baie RAID remarquera que vous êtes "en court-circuit" sur un disque, puis cherchera un disque de rechange. En trouvant le disque de rechange, il l'intégrera dans la matrice en tant que lecteur actif. Ouvrez un terminal de rechange et laissez cette ligne de commande plutôt grossière s'y exécuter, pour garder un œil sur la progression de la resynchronisation. Assurez-vous de le saisir sur une seule ligne ou d'utiliser le caractère de saut de ligne (\), et une fois la reconstruction terminée, tapez simplement Ctrl-C dans le terminal.

while true; do sleep 60; clear; sudo mdadm --detail /dev/md0; echo; cat /proc/mdstat; done

Votre matrice aura maintenant deux disques actifs synchronisés, mais comme il n'y a pas 3 disques, elle ne sera pas propre à 100 %. Retirez le disque défaillant, puis redimensionnez la matrice. Notez que le --grow flag est un peu impropre - cela peut signifier soit grandir ou rétrécir :

sudo mdadm /dev/md0 --fail /dev/{failed drive}
sudo mdadm /dev/md0 --remove /dev/{failed drive}
sudo mdadm --grow /dev/md0 --raid-devices=2

En ce qui concerne les erreurs, un problème de liaison avec le lecteur (c'est-à-dire le port PATA/SATA, le câble ou le connecteur du lecteur) n'est pas suffisant pour déclencher un basculement d'un disque de secours, car le noyau bascule généralement vers l'utilisation de l'autre "bon" lecteur pendant qu'il réinitialise le lien vers le "mauvais" lecteur. Je le sais parce que j'exécute une baie de 3 disques, 2 chauds, 1 de rechange, et l'un des disques a récemment décidé de vomir un peu dans les journaux. Lorsque j'ai testé tous les disques de la baie, tous les 3 ont réussi la version "longue" du test SMART, donc ce n'est pas un problème avec les plateaux, les composants mécaniques ou le contrôleur intégré - qui laisse un câble de liaison floconneux ou un mauvais port SATA. C'est peut-être ce que vous voyez. Essayez de basculer le lecteur sur un autre port de la carte mère ou d'utiliser un autre câble, et voyez si cela s'améliore.

Un suivi :j'ai terminé mon extension du miroir à 3 disques, j'ai échoué et j'ai retiré le disque feuilleté de la matrice md, j'ai remplacé à chaud le câble par un nouveau (la carte mère le prend en charge) et j'ai rajouté le disque. Lors du rajout, il a immédiatement lancé une resynchronisation du lecteur. Jusqu'à présent, pas une seule erreur n'est apparue dans le journal malgré le lecteur étant fortement utilisé. Donc, oui, les câbles de lecteur peuvent devenir floconneux.


J'ai eu exactement le même problème et, dans mon cas, j'ai découvert que le disque RAID actif souffrait d'erreurs de lecture lors de la synchronisation. Par conséquent, le nouveau disque a été synchronisé avec succès et a donc été marqué comme disque de secours.

Vous voudrez peut-être vérifier votre /var/log/messages et d'autres journaux système pour les erreurs. De plus, il peut également être judicieux de vérifier l'état SMART de votre disque :
1) Lancez le petit test :

"smartctl -t court /dev/sda"

2) Affichez les résultats du test :

"smartctl -l autotest /dev/sda"

Dans mon cas, cela a renvoyé quelque chose comme ceci :

===DÉBUT DE LA SECTION LIRE LES DONNÉES INTELLIGENTES ===
Numéro de révision de la structure du journal d'autotest SMART 1
Num Test_Description Statut Durée de vie restante (heures) LBA_of_first_error
1 Hors ligne étendue Terminé :échec de lecture 90 % 7564 27134728
2 Court déconnecté Terminé :échec de lecture 90 % 7467 1408449701

J'ai dû démarrer une distribution en direct et copier manuellement les données du disque défectueux vers le nouveau (actuellement "de réserve").


J'ai eu exactement le même problème et j'ai toujours pensé que mon deuxième disque, que je voulais rajouter à la matrice, avait des erreurs. Mais c'était mon disque d'origine avait des erreurs de lecture.

Vous pouvez le vérifier avec smartctl -t short /dev/sdX et voir les résultats quelques minutes plus tard avec smartctl -l selftest /dev/sdX . Pour moi, cela ressemblait à ceci :

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       20%     25151         734566647

J'ai essayé de les réparer avec ce manuel. C'était amusant :-). Je sais que vous avez vérifié les erreurs sur les deux disques, mais je pense que votre problème est que le disque qui est toujours dans le tableau md a des erreurs de lecture, donc l'ajout d'un deuxième disque échoue.

Mettre à jour

Vous devez en plus exécuter un smartctl -a /dev/sdX Si vous voyez Current_Pending_Sector> 0, quelque chose ne va pas

197 Current_Pending_Sector 0x0012 098 098 000 Old_age Toujours - 69

Pour moi, c'était définitivement le problème que j'ai retiré un disque du raid juste pour les tests et la resynchronisation n'a pas pu être effectuée en raison d'échecs de lecture. La synchronisation a été interrompue à mi-chemin. Lorsque j'ai vérifié mon disque qui était toujours dans le tableau RAID, smartctl a signalé des problèmes.

J'ai pu les corriger avec le manuel ci-dessus et j'ai vu le nombre de secteurs en attente réduit. Mais il y en avait trop et c'est une procédure longue et ennuyeuse donc j'ai utilisé ma sauvegarde et restauré les données sur un autre serveur.

Comme vous n'avez pas eu l'occasion d'utiliser SMART, je suppose que votre auto-test n'a pas révélé ces secteurs défectueux.

Pour moi, c'est une leçon apprise :vérifiez vos disques avant d'en supprimer un de votre baie.


Linux
  1. Récupération simple des données du disque dur

  2. Implémentation de Mdadm Raid avec partitionnement Gpt ?

  3. Configurer Mdadm pour la baie de stockage Intel Rapid existante ?

  4. mdadm :commande introuvable

  5. Comment surveiller le raid du système de fichiers BTRFS pour les erreurs ?

RedHat / CentOS :Gérer le RAID logiciel avec mdadm

Remplacement d'un disque miroir défaillant dans une matrice RAID logicielle (mdadm)

Tableau dans Bash introuvable

Comment faire fonctionner à nouveau un périphérique RAID inactif ?

Reconstruire la matrice mdadm RAID5 avec moins de disques

Ajouter un journal d'écriture linux md raid à une baie existante