Auteur :
• 23 septembre 2010
closeCet article a été publié il y a 6 ans 2 mois 19 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Comme je le disais dans un billet précédant, j’ai récemment mis en production mon nouveau serveur. En inspectant l’ancienne machine, je réalise que j’avais un deuxième disque dur identique à celui-ci quelque part. Deux disques identiques, et pourquoi ne pas expérimenter un RAID logiciel?

RAID vous dite?

Pour mieux se situer, voici un extrait de Wikipédia.

En informatique, le mot RAID (Redundant Array of Independent Disks) désigne les techniques permettant de répartir des données sur plusieurs disques durs afin d’améliorer soit la tolérance aux pannes, soit la sécurité, soit les performances de l’ensemble, ou une répartition de tout cela.

Dans le cas du RAID matériel, une carte ou un composant est dédié à la gestion des opérations

En RAID logiciel, le contrôle du RAID est intégralement assuré par une couche logicielle du système d’exploitation. Cette couche s’intercale entre la couche d’abstraction matérielle (pilote) et la couche du système de fichiers.

Avec deux disques, deux solutions s’offrent à moi. Le RAID 0 et le RAID 1.

Le RAID 0, est un entrelacement de disques, tout l’espace disque disponible est utile. N’apportant pas de redondance, le défaut de cette solution est que la perte d’un seul disque entraîne la perte de toutes les données.

Le RAID 1 consiste en l’utilisation de disques en redondances. Chaque disque contient à tout moment exactement les mêmes données, d’où l’utilisation du terme « Disques en miroir ». La capacité totale est égale à celle du plus petit élément.

J’ai donc tenté l’expérience du RAID 1 logiciel avec l’édition serveur d’Ubuntu 10.04.1 (avec mes deux disques de 10 Go).

Moi qui croyais m’embarquer pour une nuit complète de configuration, je suis encore stupéfait de la faciliter avec laquelle j’y suis arrivé. J’en profite donc pour partager mon expérience. Je ne me prétends expert en la chose, il y a encore 24 h, j’ignorais ce qu’était un RAID logiciel, mais si j’ai coupé les cheveux en quatre, faut pas hésiter à donner de bonnes pistes de solutions afin d’affiner la chose.

L’installation.

Il suffit de lancer un cd d’installation (dans mon cas l’édition serveur d’Ubuntu 10.04.1) et de choir la partition manuelle.
Sur mon premier disque, j’y configure 3 partitions :

  1. 399.5 MB en swap
  2. 99.6 MB ext2 bootable point de montage /boot
  3. Le reste du disque 10.2 GB en ext4

Sur mon second disque, j’y configure 2 partitions :

  1. 499.1 MB qui ne sera pas utilisé (équivalent aux deux premières partitions du premier disque):
  2. Le reste du disque 10.2 GB en ext4

On choisit ensuite: Configurer le RAID avec gestion logiciel.

Avant d’appliquer les périphériques RAID, on doit appliquer les changements aux disques.

Comme action de configuration ont choisi : Créer un périphérique multidisque.

Ensuite on doit choisir le type de périphérique RAID Logiciel, dans notre cas c’est le RAID 1

Avec deux disques, on doit choisir 2 périphériques actifs et 0 périphérique de réserve.

Il est maintenant temps de choisir les deux partitions qui seront actives pour le RAID. La troisième du premier disque et la seconde du second disque.

On applique les changements et c’est terminer pour la configuration du RAID.

On revient ensuite à la page de partitionnement, on remarque qu’un nouveau périphérique RAID s’est ajouté en haut de la liste (de dimensions égales aux deux partitions des deux disques).

On sélectionne ce périphérique et on la partitionne comme un disque standard, j’y suis allé au plus simple, / comme point de montage en ext4.

Et voilà, on termine le partitionnement et on applique les changements. La suite de l’installation se déroulera normalement.

Prochaine étape, simuler la panne de l’un des disques, là je sens que je vais avoir du boulot…..

Mise à jour du 25 septembre 2010

La simulation de la panne est les modifications aux partitions se retrouvent ici: RAID logiciel dans une Ubuntu 10.04.1 server (2).

Be Sociable, Share!
Vous pouvez suivre toutes les réponses à à ce billet via le flux RSS 2.0. Les commentaires et la notification par ping sont désactivés.

16 réponses

  1. 1
    gboule 
    Firefox 3.6.10.NETCLR3.5.30729 Windows 7

    pour la panne rien de plus simple il suffit de débrancher la nappe ide ou sata de l’un des disques….

  2. 2
    Pierre 
    Firefox 3.6.10.NETCLR3.5.30729ZarafaCheck Windows XP

    En effet, la mise en place est plutôt simple, mais je me pose tout de même la question de savoir comment tu peux redémarrer ton serveur si le premier disque crash et si sur le deuxième disque il n’y a pas de boot ?
    Côté test, la proposition de gboule est juste, mais cela suppose que tu n’as pas à redémarrer le PC (ou alors je me trompe), or, il me semble que si tu mets un nouveau disque, tu dois redémarrer à moins que tu aies une machine qui accepte les « hot plug », non ?
    Que se passe-t-il aussi quand tu mets un nouveau disque ? Est-ce que le raid va automatiquement tout reconfigurer ? Faut-il que les partitions existent déjà ? Faut-il vraiment que les disques soient identiques ou simplement les partitions ?
    Je ne suis pas un spécialiste de la chose, mais les résultats m’intéresse bien sûr et je suis impatient de lire ton prochain billet.

  3. Hello, article très intéressant, MERCI !

    Comment fait – on pour savoir si l’un des disques ne fonctionne pas correctement ?

    Connais-tu des outils pour surveiller simple avec envoie d’email par exemple?

    D’avance merci,

  4. Salut,

    Quelques remarques :

    – Lors du partitionnement des disques, tu dis d’utiliser l’ext4 pour formater les partitions qui forment le raid, même si ça n’est pas très grave car l’installateur change lui même le type de partition lors de la création de celui-ci, ce n’est pas logique. Les partitions qui forment le raid n’utilisent pas un système de fichier mais une « structure » spéciale adaptée au raid soft linux.

    – Une bonne pratique avec les raid 1 est de partitionner les deux disques exactement de la même manière. Dans ton cas, la partition /boot n’existe que sur un disque, si c’est celui-ci que tu perds, tu as perdu. Concernant la swap, il est avantageux de la dispatcher sur tous les disques pour gagner en performances.

    – Avec les versions récentes de grub, il est possible de booter directement sur une partition d’un raid, inutil donc de créer une partition /boot partout… Il faut quand même penser à installer grub sur tous les disques.

    Antoine.

  5. 5
    gégé 
    Firefox 3.6.10 Ubuntu 10.04

    précédant > précédent

  6. #technos ProfNoel : RAID logiciel dans une Ubuntu 10.04.1 server. http://ow.ly/198EsA

  7. 7
    Luc 
    Firefox 3.6.10 Windows XP

    Bonjour,

    Je répète plus ou moins les commentaires précédents, tu n’as pas une solution complète.

    En quelques mots, tu ne protèges que ce que tu copies à deux endroits différents, sur deux disques différents.

    Tu n’as copié « que » tes données, et non pas l’intégralité de ce qui est nécessaire pour démarrer le système. Donc, si tu perds ton disque principal, ton disque secondaire ne sera certes pas inutile, mais insuffisant. Dans ton cas, il te faut un DVD Linux pour démarrer un noyau en mémoire, à partir duquel tu pourras utiliser un disque neuf (je suis dans l’hypothèse où ton disque principal est en panne matérielle irrécupérable) pour recréer les partitions de démarrage manquantes, puis ton disque secondaire pour avoir de nouveau toutes tes données.

    Un « bon » RAID 1 est d’avoir deux disques rigoureusement similaires, au bit près du tout premier au tout dernier. Cela se fait sans réfléchir quand tu as un contrôleur RAID matériel, cela est un peu plus difficile avec un RAID logiciel, notamment au niveau du secteur d’amorçage (Master Boot Record).

    Enfin, pour finir, de même que tu es supposé vérifier régulièrement que la roue de secours de ta voiture est en état au cas où tu en aurais besoin (ce que personne en fait, surtout pas moi), de même, tu es supposé tester régulièrement ta solution en débranchant ton disque principal et en essayant de relancer ton serveur sur celui de secours.

    Merci en tout cas de partager ton expérience,

    Luc

  8. 8
    Luc 
    Firefox 3.6.10 Windows XP

    Bonjour Antoine,

    Pour la question du swap, je mettrais un léger bémol. Dans le cas présent (présentement puisque notre hôte est de la belle province), il s’agit d’un ordinateur personnel, je suis d’accord, partager le swap pour gagner de la performance est une bonne idée. Ou alors avoir suffisamment de mémoire vive pour ne pas avoir besoin du swap.

    Dans un cadre professionnel, le but est de n’avoir aucun arrêt de production, même pas les quelques secondes nécessaires à un redémarrage, dans ce cas les deux zones de swap doivent être rigoureusement identiques pour que ni la perte d’un disque, ni son remplacement à chaud, ni la resynchronisation entre le disque survivant et le nouveau disque ne créent d’interruption.

    Mais il s’agit là de couper un peu les cheveux en 4, j’en convient.

    Luc

  9. 9
    Luc 
    Firefox 3.6.10 Windows XP

    oups, conviens, désolé, pas convient

  10. 10
    Costalfy 
    WordPress v1.2.7 XML-RPC

    ProfNoel : RAID logiciel dans une Ubuntu 10.04.1 server. http://ping.fm/Op7Zu

  11. 11
    enoel 
    Firefox 3.6.10 Ubuntu 10.10

    Très intéressant comme discussion.

    Comment faire à ce moment pour éliminer le problème de la partition /boot ?
    On crée deux périphériques multidisques? Un pour le /boot et l’autre pour / ? Ou bien comme @antoine au minimal une seul partition par disque (avec un seul périphérique multidisque) et on laisse grub gérer la chose?

    @Jérome, j’aimerai bien aussi trouver un truc qui souligne par courriel.

    Pour les partitions /ext4 des disques physiques, c’est par défaut quand on crée une partition….

  12. RAID logiciel dans une Ubuntu 10.04 server. http://ping.fm/Mgv02

  13. ♺ @nicolargo: RAID logiciel dans une Ubuntu 10.04 server. http://ping.fm/Mgv02

  14. 14
    Antoine 
    Chromium 6.0.472.59 Linux

    Au minima, une seule partition / sur chacun des disques, tu peux éventuellement repartitionner le device raid ensuite, ou utiliser LVM dessus. Grub est maintenant capable de booter sur des setups vraiment tordus.

    Concernant le monitoring du raid, mdadm permet de surveiller l’état du raid et d’envoyer un email lorsqu’un disque est en échec.

  15. RT @ubuntufr: RAID logiciel dans une Ubuntu 10.04.1 server.: Comme je le disais dans un billet précédant, . http://bit.ly/9gS9qu

  16. 16
    Boutor 
    Firefox 3.6.10 Ubuntu 10.04

    Pour vérifier l’état physique des disques, j’utilise smartmontools. Ca ne vérifie pas à proprement parlé l’état des RAID.
    En y adjoignant smart-monitor (de mémoire), le système peut envoyer des mails d’alerte (jamais essayé).