Création d’un RAID-1 sur OpenSuse

Cela fait longtemps que je souhaite tester en vraie grandeur la technologie RAID pour le stockage de fichiers sur mon propre réseau local. Cette technologie a l’avantage d’être considérablement plus sûre que le stockage habituel sur disque dur. En s’appuyant sur plusieurs disques au lieu d’un, le RAID permet d’acquérir une sécurité supplémentaire. Pour faire court, si un disque dur tombe en panne (ça arrive !), la matrice RAID (RAID Array, en anglais) continuera à fonctionner sans perte de données [plus de détails sur l’encyclopédie Wikipedia].

Néanmoins, jusqu’ici cette technologie n’était pas à mettre entre toutes les mains. Vous deviez être un spécialiste des ordinateurs pour en avoir entendu parler et un passionné pour vous en servir. Cela a changé avec deux choses nouvelles :

  • Le marché a vu apparaître des équipements RAID prêts à l’emploi. Vous achetez, ça marche.
  • GNU/Linux inclut maintenant les outils nécessaires pour construire votre propre matrice RAID si vous être prêt à relier vos disques durs à votre boite GNU/Linux.

Je voulais tester cette dernière solution. J’ai donc décidé de donner ici un résumé de mes aventures lors de mes expériences avec les technologies RAID. J’ai simplement connecté deux disques durs (deux drives en mode redondant RAID-1) sur une installation OpenSUSE 10 que j’avais récemment installée sur une machine.

Mon intention -pour être plus précis- est de tester le comportement de la matrice RAID dans les conditions suivantes :

  • Que se passe-t-il si nous n’avez pas deux disques identiques pour commencer (c’est assez courant si vous ne les achetez pas ensemble ou s’ils proviennent d’une récupération) ?
  • Que se passe-t-il quand un disque défaille (la solution est sensée me protéger contre cette situation, mais je préfère vérifier plutôt que de faire confiance à la publicité) ?
  • Que se passe-t-il quand on branche un nouveau lecteur pour remplacer celui qui a cassé ? Et, là encore, je dois faire la supposition que le lecteur de remplacement n’a à peu près rien à voir avec celui qui est tombé en panne (après quelques années de bons et loyaux services, il n’y a aucune chance de retrouver exactement le même disque pour remplacer le disque décédé).

De plus, je voulais aussi comprendre si tout cela était bien abordable par un utilisateur lambda. Pas un hacker de type gourou informatique mais simplement quelqu’un qui sait comment ajouter un périphérique dans un ordinateur je savais déjà que certains outils sont disponibles avec une interface à ligne de commande ; cela n’allait pas me faire peur, mais cela reste trop éloigné du commun des mortels pour être vraiment acceptable par tous).

Brancher les disques

Première étape : installer physiquement les disques durs dans la machine. Aucune difficulté ici. Attacher les disques aux câbles ATA-IDE, brancher les alimentations et rebooter.

A l’heure du formattage

Bien sûr, après avoir banché, vient l’habituel moment du partitionnement et du formattage des disques. Comme nous construisons tout de même une configuration inhabituelle je craignais le pire. Mais rien de tout cela.

Mon premier mouvement fut le bon. Je me rends sur YAST l’outil de configuration d’OpenSUSE (facile à trouver dans le menu système). Au lancement de YAST, il faut entrer le mot de passe de l’utilisateur root, mais c’est normal pour toute manipulation de type système sur votre machine. Si vous vous lancez dans une telle manip, vous êtes vraiment l’adminstrateur de la machine, n’est-ce pas ? A l’option Système, j’ai choisi l’outil de partitionnement.

YAST - partitionnement

La liste montrait déjà les disques durs normaux de ma configuration (/dev/hda dans le cas présent) et présentait deux disques non formattés (/dev/hdb et /dev/hdd en bas de la liste).

Alors, j’ai pu demander la création de deux partitions primaires pour les deux disques durs que je venais d’ajouter. Cela, en utilisant le bouton Créer… en bas de l’écran. La seule chose à laquelle il fallait être attentif est d’éviter absolument les options par défaut et de bien choisir une partition non-formattée de type OxFD Linux RAID (le nom est une bonne indication, mais il faut regarder plutôt que de se laisser aller à cliquer OK tout de suite). Un détail ici, comme je voulais vérifier le comportement avec des disques de taille différente et que je ne disposais que de deux disques identiques, j’ai choisi de ne partitionner qu’une partie du disque /dev/hdb disc (2048 cylindres seulement pour environ 20Go).

YAST - création de la première partition

J’ai ensuite répété l’opération pour le second disque avec une taille de partition légèrement supérieure (3092 cylindres pour envrion 30Go), nous conduisant à la configuration suivante :

YAST - après la création des partitions RAID

Création de la matrice RAID

La création de la matrice RAID (RAID array) à partir des deux partitions des deux disques est on ne peut plus facile. Après avoir appuyé sur le bouton RAID/Créer RAID…, j’ai vu l’écran suivant :

YAST - choix du type de RAID

Le choix d’un type de RAID peut être un peu difficile à priori, je vous conseille donc de lire préalablement l’article de l’encyclopédie Wikipedia sur le RAID. Mais dans le cas le plus simple -le mien- il s’agit uniquement de prendre l’option RAID-1 (deux disques fonctionnant en parallèle pour fournir une sécurité maximale pour un stockage total de la taille du plus petit des deux disques).

Nous voyons ensuite un écran avec la liste des partitions RAID existantes (les deux que je viens de créer sur /dev/hdb et /dev/hdd). Il ne reste qu’à les sélectionner avec le bouton Ajouter en bas de la fenêtre de dialogue. Quand les deux partitions ont été ajoutées à la matrice RAID, l’écran se présente comme suit :

YAST - Le RAID est configuré

Formattage de la matrice RAID

La matrice RAID créée, il reste encore à la formatter comme un disque normal (en appuyant sur le bouton Suivant en bas à droite de l’écran). Vous vous retrouvez sur l’écran habituel de YAST :

YAST - formattage de la matrice RAID array

Ici, j’ai chois d’accepter toutes les options par défaut, y compris le système de fichier Reiser. Mais j’ai choisi un point de montage du nom de /secure (c’est semble-t-il un choix complètement libre, j’ai simplement voulu désigner clairement l’avantage de sécurité attaché à ce stockage nouveau).

Pressez ensuite le bouton Terminer en bas à droite de l’écran. Vous êtes amené sans encombre à l’écran suivant qui résume les actions et montre le résultat de la création du RAID sous la forme de la présence du lecteur RAID /dev/md0 en bas de la liste des disques.

YAST - prêt à appliquer toutes les commandes

Il faut bien comprendre qu’un des avantages de YAST est que cet outil ne fait rien de dangereux ou compliqué avant cet instant. En fait, toutes les commandes ont été préparées, mais aucune n’a encore été appliquée (ni partitionnement, ni formattage). Vous pouvez donc vérifier que le résultat est bien celui que vous attendiez avant de presser le bouton Appliquer en bas à droite de la fenêtre. Ce n’est qu’à ce moment-là que les choses vont se dérouler comme commandé par vous.

Si -ou quand- vous le demandez, vous serez mis en présence d’un écran de confirmation très semblable au suivant :

YAST - appliquer aux disques les modifications

Si vous êtes prêt, c’est le moment d’appuyer sur le bouton Appliquer en bas à droite de l’écran. Cette confirmation va lancer les opérations de création de la matrice RAID (RAID array) en arrière plan.

Cela prendra certainement un certain temps, mais c’est très tranquille puisque vous pouvez immédiatement reprendre la main pour continuer à utiliser votre ordinateur pour les étapes suivantes.

Partage de la matrice RAID

Comme mon intention était de disposer d’un lecteur Networked Attached Storage (NAS) drive, je devais encore le rendre accessible depuis le réseau par le serveur SAMBA/SMB. C’est une étape très courante sur un serveur de fichiers, mais ce n’est nécessaire que si vous souhiatez partager votre matrice RAID avec d’autres ordinateurs. Par exemple, si vous n’avez qu’un ordinateur, cette étape est inutile.

Néanmoins, c’est très facile. Allez dans une autre partie de l’outil de configuration YAST : Services réseau et serveur SMB (Network services and SMB server). La demande d’un nouveau partage (share en anglais) amène à l’écran suivant :

YAST - partage de la matrice RAID sur SMB

Il faut fournir quelques informations de base : le nom de partage (« secure » pour être homogène avec mes choix précédents), un texte libre pour décrire le volume partagé, et le chemin d’accès au répertoire partagé (« /secure »). L’appui sur le bouton OK amène à la nouvelle liste de partages qui montre « secure » nouvellement créé :

YAST - Matrice RAID partagée sur SMB

Il ne vous reste qu’à appuyer sur le bouton Terminer. Votre matrice RAID est maintenant visible.

Autres détails

Selon vos paramètres exacts, vous aurez peut-être besoin de donner des droits d’accès à des utilisateurs. Dans mon cas (je travaille sur un réseau local privé, fermé et dont je suis le seul utilisateur), j’ai choisi de donner accès à tous avec la commande chmod +777 (voir ci-dessous).

leakey:/secure # chmod +777 /secure
leakey:/secure #

Après quoi, il ne reste qu’une chose à faire : attendre la fin de la construction de la matrice RAID (souvenez-vous, je vous ai indiqué que cela pouvait être long même si cela ne vous empêche pas de travailler avec l’ordinateur pendant la construction en arrière-plan). Vous ne devriez essentiellement rien remarquer sauf le clignotement très rapide ou l’allumage continu de la LED rouge d’accès aux disques. Jusqu’à la fin des opérations RAID.

Si vous voulez une information encore plus précise, vous pouvez utiliser la ligne de commande suivante :

leakey:/secure # cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hdd1[1] hdb1[0]
16458496 blocks [2/2] [UU]
[========>............] resync = 43.8% (7218432/16458496) finish=6.7min speed=22799K/sec

unused devices:

Cela vous indique que la matrice est en cours de constrcution (43.8% d’avancement). Après la fin de la construction, la commande donnera plutôt un résultat comme ci-dessous :

leakey:/secure # cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hdd1[1] hdb1[0]
16458496 blocks [2/2] [UU]

unused devices:
leakey:/secure #

Mais si vous ne voulez pas vous casser les pieds avec ces arcanes, contentez-vous de la LED rouge. C’est bien assez, je pense. Dès qu’elle revient à l’état éteint ou seulement rarement clignotante, les opérations de création sont finies et votre matrice RAID est pleinement utilisable.

5 comments

Comments are closed.