Supervision du Raid
La supervision des volumes Raid est gérée par mdadm et nécessite la présence du fichier de configuration /etc/mdadm.conf. Si ce fichier est absent, il est possible de le générer après la création des volumes Raid de la façon suivante:
mdadm --verbose --detail --scan > /etc/mdadm.conf
le fichier devrait ressembler à ceci:
ARRAY /dev/md/localhost.localdomain:0 level=raid5 num-devices=3 metadata=1.2 name=localhost.localdomain:0 UUID=d74aa481:760d8a60:0ada2cc8:51a1f439 devices=/dev/sda1,/dev/sdb1,/dev/sdc1
Afin de configurer les alertes mails, ajouter les informations suivantes à la fin du fichier:
MAILFROM raid@coradi.fr MAILADDR leseb@coradi.fr
Démarrer ensuite le service de supervision du Raid:
systemctl start mdmonitor.service
Pour activer le service au démarrage du serveur, lancer la commande:
systemctl enable mdmonitor.service
Pour vérifier que le service est bien démarré, lancer la commande suivante et observer le retour de la commande:
systemctl status mdmonitor.service -l
Gestion de l’erreur mismatch_cnt is not 0 on /dev/md0
Si vous recevez les messages cron, ou que vous relevez la boite root, vous avez pouvez avoir des messages du type:
/etc/cron.weekly/99-raid-check:
WARNING: mismatch_cnt is not 0 on /dev/md0
Ce message indique une désynchronisation des données sur les disques du volume Raid md0 (le chiffre peut varier en fonction de la configuration et/ou du nombre de volumes Raid). Cela peut être dû à une erreur logiciel (facilement réparable) ou matériel (là, c’est la merde!).
Commencez par vérifier l’état du Raid en exécutant:
cat /proc/mdstat
Vérifier que le compteur de désynchronisation des données est toujours différent de 0:
cat /sys/block/md0/md/mismatch_cnt
Voici comment remettre les compteurs à 0.
Pour réparer le volume, lancer:
echo repair >/sys/block/md0/md/sync_action
Vous pouvez suivre l’évolution de l’action avec la commande:
watch cat /proc/mdstat
Une fois la réparation terminée, lancer une vérification du volume:
echo check >/sys/block/md0/md/sync_action
Une fois la réparation terminée, le compteur doit être de nouveau à 0:
cat /sys/block/md0/md/mismatch_cnt