«

»

Déc 21 2013

[Tuto] MDADM: Superviser un RAID logiciel

Bonjour à tous,

Dans ce nouveau tutoriel consacré à MDADM nous allons voir comment superviser un RAID céer avec MDADM.

Nous allons voir les choses suivantes:

  • Comment configurer notre serveur pour envoyer des E-mails.
  • Comment configurer MDADM pour envoyer des E-mails en cas de défaillance d’un disque
  • Comment simuler une panne de disque
  • Comment remetre un disque en panne dans le RAID

Si vous avez bien suivis mon tuto précédent, vous devriez avoir un Debian 7 installé sur un RAID 1 logiciel.

Pour rappel, vous pouvez voir l’état de fonctionnement de votre RAID avec la commande suivante:

cat /proc/mdstat

Ou d’une partition spécifique avec la commande:

mdadm -D /dev/mdX

Ou x est le numéro de partition.

Donc cela est bien beau d’avoir un RAID mais si un des deux disque devient défaillant? comment le savoir?

Pour cela MDADM inclus un système de monitoring en temps réel du RAID, mais pour que celui-ci fonctionne il faut un minimun de configuration.

Configurer notre serveur pour envoyer des E-mails

En cas de défaillance d’un des deux disques de votre RAID vous pouvez recevoir un E-mail pour vous notifier que le RAID n’est plus optimal.

Pour ce faire il faut d’abord que votre machine est la capacité d’envoyer des E-mails. Si vous n’avez pas de serveur SMTP de disponible ou que vous ne savez pas comment configurer votre serveur pour envoyer des emails, voici un tutoriel très simple pour utiliser le SMTP de Gmail pour envoyer des E-mails depuis votre serveur.

INFO : Vous devez disposer d’un compte Gmail.

Nous allons commencer par installer Postfix et les dépendances nécessaires:

apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules

Pendant l’installation de Postfix choisissiez « Internet Site » et comme FQDN mettez ce que vous voulez.

Pour ma part j’ai mis « mail.tutoraid.tuto »

Une fois l’installation terminée nous allons configurer Postfix

Editez le fichier « /etc/postfix/main.cf »

Et rajoutez ces lignes à la fin:

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

Maintenant nous allons configurer Postfix pour envoyer des E-mails à partir de notre compte Gmail.

Créer le fichier « /etc/postfix/sasl_passwd » et ajoutez cette ligne:

[smtp.gmail.com]:587    votreadresse@gmail.com:mot_de_passe

Ou:
– votreadresse@gmail.com = votre addresse Gmail
– mot_de_passe = votre mot de passe Gmail

Enregistez le fichier et donnez les bonnes permissions à ce fichier:

chmod 400 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | tee -a /etc/postfix/cacert.pem

Enfin on redémarre Postix

/etc/init.d/postfix reload

On peut maintenant vérifier si les E-mails fonctionnent avec la commande suivante:

echo "Test E-mail depuis postfix" | mail -s "Test Postfix" votre_adresse@email

Vérifier votre boite mails et vous devriez avoir reçu un mail avec comme Objet « Test Postfix »

Si tout est OK nous pouvons maintenant configurer MDADM pour envoyer des E-mails :)

Configurer MDADM pour envoyer des E-mails en cas de défaillance d’un disque

Tout d’abord, il faut vérifier si le démon de supervison de mdadm est bien lancé au démarrage.

Ouvrez le fichier « /etc/default/mdadm » et vérifiez que ces lignes sont bien présentes:

# START_DAEMON:
#   should mdadm start the MD monitoring daemon during boot?
START_DAEMON=true

Si tout est OK editez le fichier « /etc/mdadm/mdadm.conf » et ajoutez votre email devant la ligne MAILADDR:

# instruct the monitoring daemon where to send mail alerts
MAILADDR votre_adresse@email

Enregistrez le fichier et relancez mdadm avec la commande suivante:

 /etc/init.d/mdadm restart

Et voila l’envoi des mails en cas de défaillance d’un disque est opérationnel :)

Comment le tester?

C’est simple, nous allons simuler la défaillance d’un des deux disques du RAID.

Simuler une panne de disque

Commencez par faire un « cat /proc/mdstat » pour voir les noms des partitions disponibles.

Voila ce que j’ai en sortie:

root@Tutoraid:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[2] sda2[0]
      2670528 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sdb1[2] sda1[0]
      7806912 blocks super 1.2 [2/2] [UU]

unused devices:
root@Tutoraid:~#

J’ai donc deux partitions raid md0(sda1 et sdb1) et md1(sda2 et sdb2). Nous allons donc simuler la defaillance du disque sdb en mettant en « fail » les partitions sdb1 et sdb2 avec les commandes suivantes:

mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md1 --fail /dev/sdb2

Faites la commande « cat /proc/mdstat » et vous devriez avoir la sortie suivante:

root@Tutoraid:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[2](F) sda2[0]
      2670528 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sdb1[2](F) sda1[0]
      7806912 blocks super 1.2 [2/1] [U_]

unused devices:
root@Tutoraid:~#

Cela nous montres bien que les partitions sdb1 et sdb2 sont montrés comme « F » (Faulty)

Si vous voulez plus de details vous pouvez taper la commande  » mdadm -D /dev/md0″.

root@Tutoraid:~# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Dec 21 08:52:30 2013
     Raid Level : raid1
     Array Size : 7806912 (7.45 GiB 7.99 GB)
  Used Dev Size : 7806912 (7.45 GiB 7.99 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Sat Dec 21 10:18:12 2013
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

           Name : Tutoraid:0  (local to host Tutoraid)
           UUID : 6bccecf3:0957e59f:b5b7d8cd:123deedb
         Events : 147

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       0        0        1      removed

       2       8       17        -      faulty spare   /dev/sdb1

Maintenant vérifiez vos emails, vous avez du recevoir au moins deux emails de ce type:

E-Mail

E-Mail

Votre RAID étant toujours dégradé, nous allons voir comment le remettre bien pour ne plus recevoir de mails.

Remetre un disque en panne dans le RAID

Pour ce faire il faut maintenant retirer complêtement sdb1 et sdb2 du RAID et les rajouter.

On retire les disques Fail du RAID.

mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2

Si vous faites un « mdadm -D /dev/md0 », vous voyez que le RAID est toujours degradé mais actif sur un seul disque.

Maintenant nous allons rajouter les deux partitions de sdb dans le RAID avec les commandes suivantes:

mdadm --manage /dev/md0 --add /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdb2

SI vous faites encore un « cat /proc/mdstat » vous voyez que le RAID est en train de se reconstruire:

root@Tutoraid:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[2] sda2[0]
      2670528 blocks super 1.2 [2/1] [U_]
        resync=DELAYED

md0 : active raid1 sdb1[2] sda1[0]
      7806912 blocks super 1.2 [2/1] [U_]
      [=>...................]  recovery =  7.3% (572224/7806912) finish=2.1min speed=57222K/sec

unused devices:

Vous pouvez faire un « watch cat /proc/mdstat » pour voir en temps reel la reconstruction du RAID.

Et voila ce qui met fin au tutoriel « Comment superviser un RAID MDADM »

J’ espère que vous aurez trouvé celui-ci intéressant.

A bientôt pour le prochain tuto !

(6 commentaires)

Passer au formulaire de commentaire

  1. Totof

    Salut,

    Les mails postfix partent bien sur google, mais une petite erreur dans mdadm

    mdadm: excess address on MAIL line: nom.prenom@gmail.com – ignored

    Est-ce que cela te dit quelque chose ?

  2. dany

    bonjour,

    Quel extension doit avoir le fichier sasl_passwd créé??? .cf? .txt? .conf?

    Cordialement

    1. dany

      ça y est!! j’ai trouvé.

      aucune extension au fait!!!
      je recevais le message d’erreur suivant:

      Au passage, je tiens à dire que se tutoriel est et bien expliqué, parfait et très utilise pour les débutant!!
      Comme dit « Merci pour ce partage de connaissance!  » et continué sur cette voix!!

  3. killlin

    Merci pour ce partage de connaissance! très bien expliqué d’ailleurs

  4. Laurent

    Super tuto !!
    marche nickel…

  5. sab

    Super tuto !!
    merci beaucoup !!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire les articles précédents :
DisquesDurs-300x258
[Tuto] MDADM: Installer Debian sur un RAID logiciel

Bonjour à tous ! Dans ce nouveau tutoriel nous allons voir comment installer Debian 7 sur un RAID logiciel avec...

Fermer