Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


 Version : Edgy_Eft.

Rédigé par Deejc

RAID logiciel avec mdadm

Vous venez de terminer une installation d'Ubuntu et voulez protéger vos données en utilisant un système redondant RAID (0, 1, 5 et 6). Le but ici, n'est pas d'exposer les avantages et les inconvénients de tel système, mais de vous permettre d'en monter un dans les plus bref délais.

Pour plus de détails, Wikipédia est bien fournit :

Les différents types de RAID

Tout ce qui suit, a été testé sur la version server d'Ubuntu mais devrait être compatible avec la version desktop (qui peut le plus peut le moins). Je donne ici l'exemple pour monter un RAID 5 logiciel, mais la méthode pour les autres types de RAID logiciel est la même. J'insiste sur le fait que nous allons monter un RAID logiciel et non un RAID matériel. L'avantage est que vous ne vous ruinez pas dans l'achat d'une carte fille supportant le RAID 5 et en quelques lignes de commandes vous avez l'équivalent pour uniquement le prix des disques ! L'utilisation de disques durs SATA, est plus que recommandée, car ils permettent une extraction à chaud (Hot Plug) pour un prix abordable.

Le logiciel qui va nous permettre de remplir notre objectif s'appelle mdadm.

  1. Il faut les droits root
  2. Il faut un noyau supérieur à 2.6
  3. Connexion Internet configurée et activée (utilisé le DHCP, si possible, cela évite de se casser la tête).
  4. Configurez votre fichier /etc/apt/sources.list pour qu'Ubuntu aille tout chercher sur Internet.
  5. Ayez au moins 3 disques durs…
  6. … branchés sur des contrôleurs reconnus par Ubuntu

Configuration de sources.list

Dans un premier temps, assurons-nous de la bonne configuration de votre fichier /etc/apt/sources.list :

1. Vous devez commenter (c'est à dire ajouter le caractère `#` devant) les lignes qui commencent par :

  • deb cdrom (ce sont les deux premières lignes du fichier)

2. et décommenter toutes les autres lignes qui commencent par :

  • deb http
  • deb-src http

Installation de mdadm

Une fois les modifications ci-dessus effectuées, nous allons pouvoir télécharger mdadm grâce à la commande suivante :

apt-get install mdadm

Pour ceux qui n'ont jamais installé de packages avec `apt`, acceptez dès que l'on vous pose une question.

Maintenant que toute la partie logicielle est installée, nous allons pouvoir commencer la partie configuration matérielle.

Configuration des disques durs

Comme dit plus haut dans les pré-requis, il faut au moins 3 disques durs pour faire du RAID 5, dans cet exemple j'ai pris 4 disques, mais l'opération est la même si vous en prenez 5, 6, 7, etc…

Il faut partitionner les disques durs que nous allons utiliser grâces à l'utilitaire fdisk. Ici je vous guide pour un disque, à vous de le faire autant de fois que vous voulez utiliser de disques :

fdisk /dev/sdX

Il faut comprendre que le `sdX` représente votre disque dur et que `X` représente sa lettre. Par exemple `sda`, `sdb`, `sdc`, etc… pour des disques durs SATA ou SCSI, ou encore `hda`, `hdb`, `hdc`, etc… pour des disques durs en IDE

Vous obtiendrez (grâce à l'option `m`) les lignes suivantes :

Il faut donc appliquer l'option `n` comme montré ci-dessus pour créer une nouvelle partition.

fdisk vous demande alors :

Ici, il faut créer une partition étendue, donc tapez `e`. Vous entrez ensuite dans le processus de création de partition étendue :

Tapez `1` comme montré ci-dessus

Tapez sur la touche `Entrée`

Tapez encore sur la touche `Entrée`

Enfin, validez les modifications en tapant `w` :

Vous venez de créer une partition étendue sur votre disque /dev/sdX

Création d'un fichier FIFO

Dans Ubuntu, on ne peut pas commencer la déclaration du volume RAID, sans avoir au préalable fabriqué une entité ou fichier FIFO sur lequel nous allons nous appuyer pour construire notre volume.

On créer un fichier FIFO grâce à la commande mknod :

mknod /dev/md0 b 9 0

Construction du volume RAID 5

Nous pouvons maintenant utiliser mdadm pour construire notre volume RAID 5 :

mdadm –-create /dev/md0 –-level=5 --raid-devices=4 /dev/sd[bcde]5

Cela nécessite une petite explication :

  • On utilise le fichier FIFO
/dev/md0
  • On indique le type de RAID logiciel désiré (ici 5) :
–-level=5
  • Enfin, on indique les partitions des disques durs qui vont servir dans le volume RAID, ici `sdb5`, `sdc5`,`sdd5` et `sde5`
--raid-devices=4 /dev/sd[bcde]5

On termine cette construction par la deamonisation du volume RAID. Nous allons faire en sorte que le système charge le volume à chaque démarrage :

mdadm --daemonise /dev/md0

Finalisation

Il reste quelques modifications à effectuer :

  1. Il faut formater le volume RAID nouvellement créé :
mkfs.ext3 -j /dev/md0
  1. Déclaré ce volume dans `fstab` pour que le système le monte au démarrage (le système de fichier, pas le volume en lui même). Pour ce faire éditez le fichier /etc/fstab et ajouter à sa fin la ligne :
/dev/md0 	mnt/raid/	ext3	defaults	0	0

Cela signifie que le système montera au démarrage le contenu du volume RAID dans le dossier /mnt/raid.

  1. Il ne reste plus qu'à créer le dossier /mnt/raid grâce à la commande mkdir :
mkdir /mnt/raid

Le prochain démarrage

Il ne reste plus qu'à redémarrer votre ordinateur. Si celui-ci est lent au démarrage c'est tout à fait normal, il faut attendre que le volume RAID 5 se construise. Plus vos disques sont gros et plus la construction est longue.

Que faire lorsqu'un des composants de l'Array vient à défaillir

Ne paniquez pas ! Vous n'avez pas perdu de données. L'objectif maintenant est d'identifier le disque dur défaillant, même si le disque ne tombe pas en panne physiquement, il peut défaillir. Maintenant que vous avez identifié le disque dur défectueux, il faut le déclarer comme tel.

1. Pour cela, on utilise mdadm :

mdadm --manage --set-faulty /dev/md0 /dev/sdb5

Explication :

On utilise toujours le paramètre `–manage` de mdadm pour gérer le volume RAID. On utilise l'option `–set-faulty` pour déclarer le disque dur `/dev/sdb5` du volume RAID `/dev/md0` comme défaillant.

2. Une fois déclaré défaillant, le disque dur est écarté du volume RAID. Il faut maintenant le désactiver pour pouvoir le retirer :

mdadm --manage --remove /dev/md0 /dev/sdb5

Vous pouvez maintenant retirer le disque défaillant en toute sécurité et le remplacer par un disque sain.

3. Une fois le remplacement effectué, il faut replacer le disque sain dans le volume RAID pour bénéficier à nouveau de la tolérance de panne (cette opération doit être précédée du formatage du nouveau disque, aidez-vous des descriptions faites plus haut) :

mdadm --manage --add /dev/md0 /dev/sdb5

Maintenant vous devez patienter, le temps que le volume Raid se reconstruise. Pendant cette phase de reconstruction les performances peuvent être altérées.

La combinaison des niveaux de RAID

Vous pouvez très bien combinez les niveaux de RAID. La manière la moins onéreuse de créer un RAID combiné est d'effectuer plusieurs RAID matériels puis de les combiner entre eux au niveau logiciel.

On pourra prendre comme exemple le RAID 1,0 qui fonctionne très bien. Imaginons que nous ayons 6 disques durs de 30Go, plus un disque dur système et trois cartes fille supportant le RAID 1. Créons donc trois ensembles RAID 1 (mirroring) qui feront tous 30Go. Appliquons ensuite un RAID 0 au niveau logiciel. On possède alors un seul ensemble de 90Go (3 x 30Go) et une tolérance de panne de trois disques durs (1 par unité RAID 1).

Une autre fonctionnalité de mdadm

Pour ceux qui sont intéressé par la commande mdadm, sachez qu'elle possède d'autres options. L'une de ses options permet notamment d'ajouter un disque de spare, c'est à dire un disque "dormant", qui prend la relève dés qu'un disque tombe en panne. Cela vous permet une plus grande tolérance de panne. Voici la commande permettant l'ajout d'un disque de spare :

--spare-devices=1 /dev/sdX
  • securite/raid_logiciel.1164788660.txt.gz
  • Dernière modification: Le 18/04/2011, 14:46
  • (modification externe)