RAID 1 Software

Introduction

Ce tutorial vous permettra de monter un raid 1 software d'une partition qui n'est pas le / (La procédure pour mettre un / en raid est quelque peu différente). J'ai effectué ce raid avec 2 disques durs de capacité à peu près équivalente ( ~20 Go ). Même si ces modèles sont différent cela marche très bien il suffit juste de mettre le même disklabel pour les 2 disques. Vous devez bien evidement adapter ce tutorial a votre configuration .EN CAS DE MAUVAISE MANIPULATION DE VOTRE PART OU D'ERREUR DANS CE TUTORIAL JE NE SUIS EN AUCUN CAS RESPONSABLE DES DEGATS QUE CES MANEUVRES PEUVENT ENGENDRER ! Il est conseillé de marquer les disques durs savoir quel est le premier composant du raid et quel est le second avec une étiquette adhésive pour savoir lequel remplacer en cas de panne. Et si jamais vous me croisez dans la rue, je vous autorise à me payer un grec pour me remercier de ma doc de qualité :).

Recompilation du kernel & préparation des disques durs

Commencez par recompiler votre kernel avec les options :

  ''pseudo-device raid 4 # RAIDFRAME disk driver''
  ''option RAID_AUTOCONFIG''

Redemarrez puis crée votre disklabel qui devra prendre toute la place de votre disque dur:

  ''xzibit# bash-3.00# disklabel -E wd1
    # Inside MBR partition 3: type A6 start 63 size 39102273
    Treating sectors 63-39102336 as the OpenBSD portion of the disk.
    You can use the 'b' command to change this.
    Initial label editor (enter '?' for help at any prompt) 
    > a a
    offset: [63] (enter)
    size: [39102273] (enter)
    FS type: [4.2BSD] (enter)
    > q
    Write new label?: [y] (enter)''

Copiez le disklabel sur le second disque dur :

xzibit# disklabel wd1 > disklabel.wd2 xzibit# disklabel -R -r wd2 disklabel.wd2

Formattez les 2 disques durs :

  ''xzibit# newfs /dev/wd1a && newfs /dev/wd2a''

Creation du raid logiciel

Maintenant que votre ordinateur est pret à recevoir le raid 1 logiciel nous allons nous attaquer à sa configuration et son installation proprement dites.

Créez un fichier /etc/raid0.conf qui contiendra ceci :

  ''START array
    1 2 0 # raid d'une ligne, de deux colonnes et zéro disque de remplacement (spare) 
    START disks
    /dev/wd2a # premier composant du raid bizarrement il ne voulait pas /dev/wd1a en premier
    /dev/wd1a # second composant du raid
    START layout
    128 1 1 1 # le deuxième nombre est le nombre de parité par volume et le quatrième le type du raid 
    START queue
    fifo 100 # On autorise un buffer de 100 entrée/sortie par disques durs''

Assurez vous de ne pas avoir monter les disques durs qui serviront au raid. Nous allons maintenant l'initialiser (ne vous préoccupez pas des erreur que vous pourrez avoir):

 ''xzibit# raidctl -C /etc/raid0.conf raid0
   xzibit# raidctl -I 100 raid0
   xzibit# raidctl -iv raid0''

Attention cela peut prendre plusieurs heures ne vous inquiettez pas si cela prend du temps.

Maintenant notre raid crée nous pouvons crée le disklabel ( ne touchez pas au partitions que vous pourrez trouvez ) :

  ''xzibit# disklabel -E raid0
  disklabel: Can't get bios geometry: Device not configured
  Initial label editor (enter '?' for help at any prompt)
  > a a 
  > a a
  offset: [0] ( enter )
  size: [39102208] ( enter )
  FS type: [4.2BSD] ( enter )
  > q
  Write new label?: [y] ( enter )

La partition crée, nous pouvons maintenant formater le fs :

xzibit# newfs /dev/raid0a Une fois cela effectuée on modifie notre /etc/fstab : xzibit# echo “/dev/raid0a /home ffs rw,nodev,nosuid 1 2” » /etc/fstab Voila, votre raid est en état de fonctionner vous pouvez rebooter votre pc ! ==== Conclusion ==== Le raid software est une bonne alternative au raid matériel ( très couteux et pas toujours supporté ). De plus les performances sont plus que correcte. Vous pouvez vérifier l'état de votre matériel à tout moment : xzibit# raidctl -s raid0

    raid0 Components:
    /dev/wd2a: optimal
    /dev/wd1a: optimal
    No spares.
    Parity status: clean
    Reconstruction is 100% complete.
    Parity Re-write is 100% complete.
    Copyback is 100% complete.''

Si jamais votre raid tombe en panne voici la démarche à suivre ( je prend exemple ici en cas de panne de wd2 ):

  ''xzibit# disklabel wd1 > disklabel.wd2
    xzibit# disklabel -R -r wd2 disklabel.wd2
    xzibit# newfs /dev/wd2a
    xzibit# mount /dev/wd2a /mnt
    xzibit# cd /mnt
    xzibit# dump -0f - / | restore -rf -
    xzibit# cd /
    xzibit# umount /mnt
    xzibit# raidctl -R /dev/wd2a raid0''

Vous avez maintenant le minimum pour administrer votre raid si jamais vous avez besoin d'informations complémentaire jettez un coup d'oeil aux références.

Références

Commentaires

Je me permet d'ajouter ce lien fort intéressant1) : Software RAID on OpenBSD

Bruno Carnazzi 2006/05/06 20:23

1) globalement la méthode évoquée permet d'avoir “quasiment” une partition racine en RAID
openbsd/raid_1.txt · Last modified: 2010/01/12 13:29 (external edit)