J'ai une matrice logicielle RAID5 (Linux md) sur 4 disques.
Je voudrais remplacer l'un des disques par un nouveau, sans mettre la baie dans un état dégradé et, si possible, en ligne. Comment serait-ce possible?
C'est important parce que je ne veux pas:
- prendre le risque de stresser les autres disques afin que l'on puisse planter lors de la reconstruction,
- prendre le risque d'être dans un "état sans parité" donc je n'ai pas de filet de sécurité depuis un certain temps.
Je suppose que le faire en ligne est trop demander et je devrais simplement copier ( dd
) les données de l'ancien disque sur le nouveau hors ligne et les remplacer, mais je pense que c'est théoriquement possible ...
Un peu de contexte : ces disques tournent tous de façon presque continue depuis plus de 5,5 ans. Ils fonctionnent toujours parfaitement pour le moment et ils réussissent tous le (long) autotest SMART. Cependant, j'ai des raisons de penser que l'un de ces 4 disques ne durera pas beaucoup plus longtemps (supposé échec prédictif).
la source
mdadm --add
est encore nécessaire avant de--replace
fonctionner. (mdadm
3.3, Ubuntu 15.10). Si vous procédez--add
après--replace
, la copie commencera dès qu'une pièce de rechange sera ajoutée. (L'appareil reste marqué comme "en attente de remplacement").Cela peut être possible en répondant aux exigences
Mais même si ce qui suit peut fonctionner, vous ne trouverez probablement aucune recommandation de ce genre "dans les livres" ...
Idée:
mdadm --manage /dev/raid5 --fail /dev/OLD
mdadm --build /dev/md42 --level=mirror --raid-devices=2 /dev/OLD /dev/NEW
mdadm --manage /dev/raid5 --re-add /dev/md42
Que devrait :-) se produire:
Regardez la progression de la synchronisation (
cat /proc/mdstat
oumdadm --monitor
). Si la synchronisation est terminée, retirez le RAID-1 du RAID-5, arrêtez le RAID-1, ajoutez à nouveau / dev / NEW au RAID-5. Si tout va bien, écrasez les superblocs mdraid sur / dev / OLD afin d'éviter les problèmes:mdadm --zero-superblock
Avertissement: la synchronisation rapide RAID-5 peut fonctionner uniquement si vous utilisez un bitmap. Si vous n'en avez pas, faites d'abord un test avec un RAID-5 factice (sans bitmap). Ou ajoutez-en un. Au moins un ajout externe devrait être possible. Sinon, il peut être nécessaire d'arrêter le RAID-5 avant de changer les périphériques. Si vous démarrez à partir du RAID-5, cela deviendrait un peu compliqué, cependant.
la source
Si cela ne vous dérange pas d'exécuter RAID-6 (2 disques de parité plutôt que 1), et si vous exécutez mdadmin 3.1.x ou supérieur, vous pouvez convertir votre matrice RAID-5 en RAID-6 pour ajouter un disque de parité supplémentaire . Cependant, cela mettra le tableau sous tension pendant la reconstruction. Et cela a des implications en termes de performances car il y a plus de disques de parité à mettre à jour pendant les écritures.
Mais si cela se termine avec succès, vous pouvez garder votre disque défaillant en place et quand il échoue finalement, vous avez toujours une protection de parité pour la baie. Je pense que vous pouvez reconvertir la matrice de RAID6 en RAID5 si vous n'attendez pas pour la conserver en RAID6.
Je ne connais pas de moyen en ligne de conserver la matrice en RAID-5 et de remplacer le disque sans mettre la matrice en mode dégradé, car je pense que vous devez le marquer comme n'ayant pas réussi à le remplacer. Votre idée de copie DD pourrait être le moyen de le faire.
la source