Sylvain Delafoy

Aller au contenu | Aller au menu | Aller à la recherche

mardi, février 8 2011

Installation d'un système RAID1 sur un seul disque. II : Reconstruction

Comme tout les II, il est décevant et prévisible.

Lire la suite...

lundi, août 16 2010

Installation d'un système RAID1 sur un seul disque.

Introduction

Alors pour ceux qui pointent dès maintenant à quoi l'absence d'intérêt une fois ce post fini et se demandent à quoi ça sert la réponse est simple:

Si on s'arrête là, à rien. Si on achète plus tard un disque, à planifier son espace disque de demain dès aujourd'hui! (copyright Ross&Witchcraft [1] )

Maintenant pour ceux qui n'y connaissent pas grand chose:

"RAID" est un ensemble de technologies qui permettent d'utiliser plusieurs disques pour en retirer un ou plusieurs bénéfices, par exemple:

  • Création d'un volume de taille élevée à partir de disques de petite taille.
  • Création d'un volume résistant à l'échec d'un (ou plusieurs) disques
  • Amélioration des performances de lecture (ou) écriture

Il en existe plusieurs versions:

  • le RAID0 qui permet la création d'un volume dont la taille devient la somme des volumes qui le composent et dont l'organisation permet des performances d'accès plus efficaces qu'avec un disque réel. (lire à deux endroits à la fois, c'est lire 2 fois plus)
  • le RAID1 qui maintient n disques en miroir et évite donc de perdre des données si n-1 disques sont endommagés. Mais au final, on ne dispose que de l'espace d'un disque.
  • le RAID5 qui permet d'augmenter l'espace disque total tout en ayant la tolérance à une panne. l'espace total disponible pour n disques est la somme de l'espace de n-1 disques.
  • le RAID6 qui permet de résister à 2 pannes en sacrifiant 2 disques. Dans ce cas, pour n disques, l'espace disponible est celui de n-2 disques mis "bout à bout".

Plan pour le futur

Aujourd'hui, je dispose d'un disque. En créant dès aujourd'hui un volume RAID1. je pourrais, lorsque j'en aurais deux, disposer d'un stockage "sur".

Lorsque j'en aurais 3, je pourrais créer un volume RAID5 en conservant un disque du premier montage ayant des données et en les copiant sur un volume RAID5 auquel il manquerait un disque. Ensuite, il suffit de rajouter le disque manquant et *pouf*

Lorsque j'en aurais 4, je pourrais utiliser 2 disques pour créer un RAID6 et utiliser le RAID5 existant en mode dégradés. Avec la même méthode.

Et ensuite, et bien, il suffit d'ajouter des disques. (ensuite, on peut tricher et créer des agrégats (RAID0) ou des partitions pour faire en sorte que les espaces mis en RAID soient tous de même taille)

Ce qu'il faut faire aujourd'hui:

Le but est d'utiliser un disque externe (appelons le sdb) et de le formater.

Pour commencer, créer une partition sur le disque.

ATTENTION ! il s'agit de formater le disque totalement

fdisk /dev/sdb

  1. o pour créer une table de partitions à zéro (oui, c'est brutal)
  2. n pour créer une nouvelle partition
  3. p pour dire qu'il s'agit d'une partition primaire
  4. 1 pour créer sdb1, c'est plus logique
  5. [Entrée] pour commencer au début du disque
  6. [Entrée] pour que la partition prenne tout le disque. La nouvelle partition est crée.
  7. t pour changer le type de la partition déclaré.
  8. fd qui correspond au système "Linux Raid Autodetect" et voila
  9. w pour enregistrer la nouvelle table des partitions et c'est fini

Ensuite, on crée le disque RAID:

sudo mdadm -C /dev/md_d0 -l1 -n2 /dev/sdb1 missing

On utilise missing comme second disque ce qui permet de créer un RAID1 "dégradé" et donc mettre en place la "coquille" avant d'avoir tous les disques qui vont aller dedans. (contrairement aux noix pour lesquelles une fois que la coquille est fermée, il n'est pas possible d'ajouter le fruit)

Maintenant, on crée une partition sur le disque RAID en utilisant à nouveau fdisk:

sudo fdisk /dev/md_d0

  1. o # A nouveau on crée une table de partitions
  2. n # A nouveau on crée une partition
  3. p # Il s'agit encore d'une partition primaire
  4. 1 # on l'appelle encore 1
  5. [Entrée] # On utilise la valeur par défaut pour le début de la partition
  6. [Entrée] # idem pour la fin
  7. w # et on enregistre le tout

Enfin, on formate la partition que l'on viens de créer.

sudo mkfs.ext3 -j /dev/md_d0p1

Et voila, il ne reste plus qu'à monter le tout comme ceci:

sudo mkdir /mnt/raid; sudo mount /dev/md_d0 /mnt/raid -t ext3

Évidement, fstab peut aussi le faire.

Et voila, un raid1 en mode dégradé prèt à être utilisé.

À noter

Une fois cette manipulation effectuée, j'ai démonté mon disque de mon laptop, je l'ai branché sur mon "pseudo-serveur" installé mdadm et redémarré. [2]

Le nom donné automatiquement au disques virtuels RAID semblent différents entre ubuntu server et ubuntu tout cours.

Faites attention à ça lorsque vous redémarrez en cours de procédure ou que vous rédigez un fstab.

Ce qui peut permettre de remettre son système en état.

Sous les versions récentes d'ubuntu, supprimer les volumes qui hébergent le RAID (débrancher ou formater) et redémarrer... entraine la disparition du volume:

Pour ce faire, couper le raid:

mdadm --manage /dev/md[qqch] --fail /dev/sdX[qqch]
mdadm --manage /dev/mdv --remove /dev/sdX[qqch]
mdadm --manage --stop /dev/md[qqch]

Utiliser fdisk sur /dev/sdX pour changer le type de partition, formater avec gparted, débrancher la clef USB,...

Et enfin, redémarrer.

Sources

Notes

[1] ou pas

[2] Oui, je suis un warrior