Qu’importe votre expérience antérieure avec les matrices RAID, et que vous ayez suivi tous les tutoriels de cette série RAID ou non, la gestion des RAID logiciels sous Linux n’est pas une tâche très compliquée une fois que vous vous êtes familiarisé avec la commande mdadm --manage
.
Dans ce tutoriel, nous allons passer en revue les fonctionnalités fournies par cet outil afin que vous puissiez l’avoir à portée de main lorsque vous en avez besoin.
- Scénario de test RAID
- Comprendre les options et l’utilisation de mdadm
- Gestion des périphériques RAID avec l’outil mdadm
- Exemple 1 : Ajouter un périphérique au tableau RAID
- Exemple 2 : Marquer un périphérique RAID comme défectueux et le retirer de la matrice
- Exemple 3 : Réaddition d’un périphérique faisant partie du tableau qui avait été retiré précédemment
- Exemple 4 : Remplacer un périphérique Raid par un disque spécifique
- Exemple 5 : Marquer un tableau Raid comme ro ou rw
- Sommaire
Scénario de test RAID
Comme dans le dernier article de cette série, nous utiliserons pour la simplicité une matrice RAID 1 (miroir) qui se compose de deux disques de 8 Go (/dev/sdb et /dev/sdc) et d’un périphérique de rechange initial (/dev/sdd) pour illustrer, mais les commandes et les concepts énumérés ici s’appliquent également à d’autres types de configurations. Cela dit, n’hésitez pas à aller de l’avant et à ajouter cette page aux signets de votre navigateur, et commençons.
Comprendre les options et l’utilisation de mdadm
Heureusement, mdadm fournit un drapeau built-in --help
qui fournit des explications et une documentation pour chacune des principales options.
Donc, commençons par taper :
# mdadm --manage --help
pour voir quelles sont les tâches que mdadm --manage
nous permettra d’effectuer et comment :
Comme nous pouvons le voir dans l’image ci-dessus, la gestion d’une matrice RAID implique l’exécution des tâches suivantes à un moment ou à un autre :
- (Re)Ajout d’un périphérique à la matrice.
- Marquer un périphérique comme défectueux.
- Supprimer un périphérique défectueux du tableau.
- Remplacer le périphérique défectueux par un périphérique de rechange.
- Démarrer un tableau partiellement construit.
- Arrêter un tableau.
- Marquer un tableau comme ro (lecture seule) ou rw (lecture-écriture).
Gestion des périphériques RAID avec l’outil mdadm
Notez que si vous omettez l’option --manage
, mdadm prend de toute façon le mode gestion. Gardez ce fait à l’esprit pour éviter de rencontrer des problèmes plus tard.
Le texte surligné dans l’image précédente montre la syntaxe de base pour gérer les RAIDs :
# mdadm --manage RAID options devices
Illustrons avec quelques exemples.
Exemple 1 : Ajouter un périphérique au tableau RAID
Vous ajouterez généralement un nouveau périphérique lors du remplacement d’un périphérique défectueux, ou lorsque vous avez une pièce de rechange que vous voulez avoir à portée de main en cas de panne:
# mdadm --manage /dev/md0 --add /dev/sdd1
Exemple 2 : Marquer un périphérique RAID comme défectueux et le retirer de la matrice
C’est une étape obligatoire avant de retirer logiquement le périphérique de la matrice, et plus tard de le retirer physiquement de la machine – dans cet ordre (si vous manquez une de ces étapes, vous pouvez finir par causer des dommages réels au périphérique):
# mdadm --manage /dev/md0 --fail /dev/sdb1
Notez comment le périphérique de rechange ajouté dans l’exemple précédent est utilisé pour remplacer automatiquement le disque défaillant. Non seulement cela, mais la récupération et la reconstruction des données raid commencent également immédiatement:
Une fois que le périphérique a été indiqué comme défaillant manuellement, il peut être retiré en toute sécurité de la matrice:
# mdadm --manage /dev/md0 --remove /dev/sdb1
Exemple 3 : Réaddition d’un périphérique faisant partie du tableau qui avait été retiré précédemment
Jusqu’à ce point, nous avons un tableau RAID 1 fonctionnel qui se compose de 2 périphériques actifs : /dev/sdc1 et /dev/sdd1. Si nous essayons de ré-additionner /dev/sdb1 à /dev/md0 maintenant:
# mdadm --manage /dev/md0 --re-add /dev/sdb1
nous rencontrerons une erreur:
mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible
parce que le tableau est déjà constitué du nombre maximum possible de disques. Nous avons donc 2 choix : a) ajouter /dev/sdb1 comme spare, comme indiqué dans l’exemple #1, ou b) supprimer /dev/sdd1 du tableau et ensuite ré-additionner /dev/sdb1.
Nous choisissons l’option b), et nous commencerons par arrêter le tableau pour le réassembler plus tard :
# mdadm --stop /dev/md0# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1
Si la commande ci-dessus ne réussit pas à ajouter à nouveau /dev/sdb1 au tableau, utilisez la commande de l’exemple #1 pour le faire.
Bien que mdadm détecte initialement le périphérique nouvellement ajouté comme étant de rechange, il commencera à reconstruire les données et lorsqu’il aura terminé, il devrait reconnaître le périphérique comme étant une partie active du RAID:
Exemple 4 : Remplacer un périphérique Raid par un disque spécifique
Remplacer un disque dans la matrice par un disque de rechange est aussi simple que :
# mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1
Il en résulte que le périphérique suivant le commutateur --with
est ajouté au RAID tandis que le disque indiqué par --replace
est marqué comme défectueux :
Exemple 5 : Marquer un tableau Raid comme ro ou rw
Après avoir créé le tableau, vous avez dû créer un système de fichiers au-dessus et le monter sur un répertoire afin de l’utiliser. Ce que vous ne saviez probablement pas alors, c’est que vous pouvez marquer le RAID comme ro, autorisant ainsi uniquement les opérations de lecture sur celui-ci, ou rw, afin d’écrire également sur le périphérique.
Pour marquer le périphérique comme ro, il doit d’abord être démonté:
# umount /mnt/raid1# mdadm --manage /dev/md0 --readonly# mount /mnt/raid1# touch /mnt/raid1/test1
Pour configurer le tableau afin d’autoriser également les opérations d’écriture, utilisez l’option --readwrite
. Notez que vous devrez démonter le périphérique et l’arrêter avant de définir le drapeau rw :
# umount /mnt/raid1# mdadm --manage /dev/md0 --stop# mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1# mdadm --manage /dev/md0 --readwrite# touch /mnt/raid1/test2
Sommaire
Tout au long de cette série, nous avons expliqué comment configurer une variété de tableaux RAID logiciels qui sont utilisés dans les environnements d’entreprise. Si vous avez suivi les articles et les exemples fournis dans ces articles, vous êtes prêt à tirer parti de la puissance des RAID logiciels dans Linux.
S’il vous arrive d’avoir des questions ou des suggestions, n’hésitez pas à nous contacter en utilisant le formulaire ci-dessous.