Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
ACCUEIL BSD FORUM BSD TUTORIELS BSD LIVRES BSD SYSTEMES BSD BSD TV UNIX

Montage de partitions agrégées sur des systèmes BSD

Date de publication : 06/07/2006 , Date de mise à jour : 03/02/2008

Par Nicolas Vallée (Home Page)
 

Avoir un système de partitions complexes pour simplifier l'administration système...

I. Introduction
I-1. Présentation
I-1.1. RaidFrame
I-1.2. Raid
II. Mise en place
II-1. Préparation d'un disque
II-2. Configuration de RaidFrame
II-3. Lancement automatique de RaidFrame
II-4. Montage automatisé
III. Divers
III-1. Compléments
III-1.1. Tester sa configuration
III-1.2. Changer un disque défectueux
III-2. Liens utiles


I. Introduction


I-1. Présentation


I-1.1. RaidFrame

info RaidFrame est un gestionnaire de volume, un pilote de disques virtuels. Il est normalement disponible dans tous les noyaux BSD. A l'heure actuelle, il est inclus dans le noyau GENERIC de NetBSD. Pour les autres systèmes BSD, il faut recompiler le noyau avec les options suivantes :
pseudo-device   raid 8
options         RAID_AUTOCONFIG
Pour vérifier si RaidFrame est déjà inclus dans votre noyau, faîtes dmesg | grep -i raid, et vérifier si cette ligne apparait.
Kernelized RAIDframe activated

I-1.2. Raid

Pour une description du système RAID, il faut se tourner vers ce tutorial.


II. Mise en place


II-1. Préparation d'un disque

On part d'un disque sans aucune partition. Considérons que son point de montage est /dev/wd0.
Préparation d'un disque

#! /bin/sh
dd if=/dev/zero of=/dev/wd0 count=2
fdisk -0a /dev/wd0
# répondre à quelques questions...
fdisk -u /dev/wd0
disklabel -r -e -I /dev/wd0
# remplacer le type de système de fichier de 4.2BSD à RAID
			

II-2. Configuration de RaidFrame

On dispose de 3 slices BSD montées respectivement en /dev/wd0a, /dev/wd1a, /dev/wd2a
On va écrire un raid.conf (on se moque du nom, il ne va servir qu'une seule fois)
le dernier nombre en dessous de START layout est le type de raid utilisé... ici on montre un exemple avec du raid-5.
Configuration RaidFrame

START array
1 3 2

START disks
/dev/wd0a
/dev/wd1a
/dev/wd2a

START layout
32 1 1 5

START queue
fifo 100
			
On va ensuite créer le volume virtuel, en lui accordant le point de montage /dev/raid
Attention, ça peut être vraiment très long... une journée, voire plus :'(
Initialisation du système

#! /bin/sh
raidctl -v -C raid.conf raid
raidctl -I raid-data raid
raidctl -v -i raid
raidctl -v -A yes raid
			
Ensuite, on doit créer une partition sur cet espace... ici, on va montrer comment faire une seule partition contenant tout l'espace.

#! /bin/sh
disklabel -I -i raid
# répondre à quelques questions
newfs /dev/raida
			
Ensuite, on peut monter la partition...
mount -t ufs /dev/raida /mnt/raid

II-3. Lancement automatique de RaidFrame

C'est fait automatiquement... pas besoin de faire quoique ce soit ;)


II-4. Montage automatisé

A ce stade, on ne peut pas encore monter la partition de notre "super-partition".
Il faut modifier le fichier /etc/fstab
/dev/raida /mnt/raid ufs rw 1 2

III. Divers


III-1. Compléments


III-1.1. Tester sa configuration

Vous pouvez visualiser l'état courant d'un volume.

root@data:~# raidctl -s raid
Components:
           /dev/wd0a: optimal
           /dev/wd1a: optimal
           /dev/wd2a: optimal
No spares.
Component label for /dev/wd0a:
   Row: 0, Column: 0, Num Rows: 1, Num Columns: 3
   Version: 2, Serial Number: 0, Mod Counter: 76
   Clean: No, Status: 0
   sectPerSU: 32, SUsPerPU: 1, SUsPerRU: 1
   Queue size: 100, blocksize: 512, numBlocks: 586114624
   RAID Level: 5
   Autoconfig: Yes
   Root partition: No
   Last configured as: raid5
Component label for /dev/wd1a:
   Row: 0, Column: 1, Num Rows: 1, Num Columns: 3
   Version: 2, Serial Number: 0, Mod Counter: 76
   Clean: No, Status: 0
   sectPerSU: 32, SUsPerPU: 1, SUsPerRU: 1
   Queue size: 100, blocksize: 512, numBlocks: 586114624
   RAID Level: 5
   Autoconfig: Yes
   Root partition: No
   Last configured as: raid5
Component label for /dev/wd2a:
   Row: 0, Column: 2, Num Rows: 1, Num Columns: 3
   Version: 2, Serial Number: 0, Mod Counter: 76
   Clean: No, Status: 0
   sectPerSU: 32, SUsPerPU: 1, SUsPerRU: 1
   Queue size: 100, blocksize: 512, numBlocks: 586114624
   RAID Level: 5
   Autoconfig: Yes
   Root partition: No
   Last configured as: raid5
Parity status: clean
Reconstruction is 100% complete.
Parity Re-write is 100% complete.
Copyback is 100% complete.
				

III-1.2. Changer un disque défectueux

Si jamais il faut changer matériellement le disque, il va falloir éteindre la machine avant... RaidFrame se chargeant au démarrage, je ne sais pas ce qu'il ferait même avec des disques hot-plug. (surtout, je n'avais de quoi tester) Ensuite, si vous avez changé le disque vous devez l'initialiser. Enfin, il faut reconstruire les bits de parité.
#! /bin/sh
raidctl -v -R /dev/wd2a raid
				

III-2. Liens utiles



Valid XHTML 1.1!Valid CSS!

Copyright (c) 2006 Nicolas Vallée. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. Read the full license here : http://www.gnu.org/licenses/fdl.txt
Responsables bénévoles de la rubrique BSD : julp et Olivier Régnier - Contacter par EMail :
Vos questions techniques : forum d'entraide BSD - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.