Statut d'un RAID logiciel par e-mail

dimanche 31 août 2008

La meilleure solution pour assurer la sécurité de ses données numériques reste à ce jour l'utilisation de plusieurs disques en RAID 1 "miroir". Lorsque deux disques durs sont montés en RAID 1, chaque fichier copié sur un disque l'est aussi automatiquement sur l'autre. La copie est transparente pour l'utilisateur, qui ne voit qu'un seul volume logiciel de la taille d'un seul disque. Si l'un des deux disques devient inutilisable, les données peuvent toujours être récupérées depuis le second disque. Un tel montage est efficace contre les pannes matérielles qui affectent habituellement les disques durs. Mais encore faut-il vérifier régulièrement l'état du Raid. En effet, si un disque tombe en panne, l'autre disque prendra immédiatement le relai sans que l'utilisateur s'en aperçoive. Celui-ci pourra encore croire en l'intégrité du Raid, alors qu'un seul disque reste fonctionnel. Il est donc nécessaire d'obtenir des informations sur l'état du Raid, par exemple par e-mail.

La meilleure solution pour assurer la sécurité de ses données numériques reste à ce jour l’utilisation de plusieurs disques en RAID 1 «miroir». Lorsque deux disques durs sont montés en RAID 1, chaque fichier copié sur un disque l’est aussi automatiquement sur l’autre. La copie est transparente pour l’utilisateur, qui ne voit qu’un seul volume logiciel de la taille d’un seul disque. Si l’un des deux disques devient inutilisable, les données peuvent toujours être récupérées depuis le second disque. Un tel montage est efficace contre les pannes matérielles qui affectent habituellement les disques durs. Mais encore faut-il vérifier régulièrement l’état du Raid. En effet, si un disque tombe en panne, l’autre disque prendra immédiatement le relai sans que l’utilisateur s’en aperçoive. Celui-ci pourra encore croire en l’intégrité du Raid, alors qu’un seul disque reste fonctionnel. Il est donc nécessaire d’obtenir des informations sur l’état du Raid, par exemple par e-mail.

La première chose à faire est de créer un RAID logiciel. Il faut bien entendu deux disques durs de taille identique (internes ou externes ; mieux vaut internes).

L’utilitaire de disques de Mac OS X, se trouvant dans Applications/Utilitaires/ permet de créer des Raid 1 logiciels. Une fois les deux disques reconnus par l’utilitaire de disque, il suffit de créer un Ensemble RAID en miroir. Attention, les disques seront alors formatés…

Raid1

Une fois le raid monté, il est bien sûr possible de revenir dans l’utilitaire de disques pour en vérifier l’intégrité. Mais il est aussi facile d’oublier de le faire…

Nous utiliserons donc une commande du terminal, qui informe sur l’état du raid, et nous enverrons le résultat de cette commande par e-mail grâce à un script automator lancé de manière récurrente par iCal.

La commande de terminal en question est diskutil checkraid.

raid2

La seule chose vraiment importance dans tout ce texte, c’est la colonne «Status» qui, pour les deux disques, indique «Online». Voilà ce qu’il faut vérifier périodiquement : que tous les disques sont «online», c’est-à-dire en bon état de marche.

L’idée est donc ici d’obtenir le résultat de la dommande diskutil checkraid pour l’insérer dans un e-mail qui sera envoyé de manière récurrente.

Le script que j’utilise fonctionne ainsi :

  1. Créer un fichier texte à un endroit précis du disque (p. ex. ~/Documents/). Cocher la case Remplacer les fichiers présents pour éviter que le script échoue si le fichier existe déjà à cet emplacement. Donner au fichier un nom évocateur, p. ex. CHECKRAID.txt
  2. Exécuter un script Shell : diskutil checkraid
  3. (Optionnel) Afficher les résultats : cette action ne sert qu'à voir, dans Automator, ce que renvoie le script Shell précédent. Elle peut être supprimée sans incidence sur la suite.
  4. Définir le contenu du document TextEdit : le message renvoyé par le script Shell sera inséré dans le fichier texte créé à la première étape. Option : Remplacement pour être sûr que, s'il y a déjà du texte dans le fichier, celui-ci soit effacé et remplacé par le résultat du script Shell (en principe, si la case Remplacer... est cochée à l'étape 1, ceci est superflu).
  5. Nouveau message mail, en indiquant bien entendu le destinataire (votre e-mail), le compte de l'expéditeur (il faut avoir paramétré Apple Mail auparavant) et l'objet. On peut insérer des variables dans l'objet, par exemple la date et l'heure d'exécution de notre script. Le contenu du fichier texte sera inséré dans le corps de l'e-mail.
  6. Envoyer les messages de la boîte d'envoi pour que l'e-mail soit envoyé immédiatement.
  7. (Optionnel) Obtenir les éléments du Finder indiqués, choisir le fichier créé à l'étape 1, puis Placer des éléments du Finder dans la corbeille pour faire le ménage après l'exécution du script.

Voici le résultat dans Automator :

Image 5
raid6

Reste ensuite à enregistrer notre script. Dans Automator, on ira dans le menu Fichier > Enregistrer sous. On fera cela deux fois, en choisissant dans le menu déroulant Processus et Application. Cela donnera deux fichiers :

Image 4

Le premier est l’application, que nous utiliserons par la suite. Le second est le fichier que l’on ouvre dans Automator pour modifier le script.

Reste à lancer iCal et à créer un nouvel événement récurrent :

raid3

On choisira l’action Ouvrir le fichier et on sélectionnera le fichier d’application créé à l’étape précédente. On définira ensuite la périodicité de cet événement.

NB : le lancement de l’application par iCal étant la manifestation d’une alarme, programmée X minutes avant le début de l’événement, il faudra faire débuter l’événement à H+X minutes pour que l’e-mail soit envoyé à l’heure H voulue. Sur l’image précédente, événement à 12h15, rappel 15 minutes avant le début, e-mail envoyé à 12h00.

C’est tout !

Vous pouvez télécharger le script pour Automator (Leopard) et le modifier à votre guise : CheckRaid