Le raid logiciel sous NetBSD
Configuration d'un raid 0
Normalement nous devrions créer un fichier de configuration persistant pour nos périphériques de RAID, mais nous allons utiliser l'auto configuration du RAID, ainsi le fichier de configuration ne sera utile qu'à la création du périphérique.
Nous verrons le processus de création d'un RAID 0 en détail, puis nous verrons seulement les différences pour la création d'un RAID de niveau différent.
4.1 Format du fichier de configuration
Le fichier de configuration est divisé en plusieurs sections commençant par le mot clé "START" suivi de l'identifiant de section. Les identifiants principaux sont les suivants :
array : spécifie le nombre de lignes, colonnes et disques de spares dans notre RAID. Attention, même s'il est possible de spécifier un RAID multi-dimensionnel, ce n'est pas supporté par le driver
disks : la liste des disques de base du RAID
spare : cette section est optionnelle et définit les disques de spare pour notre périphérique
layout : permet de préciser des paramètres avancés pour notre périphérique. Ces paramètres sont le nombre de secteurs par unité de stripe, le nombre d'unités de stripe par unité de parité, par unité de reconstruction et enfin le niveau de RAID que nous désirons utiliser.
queue : Gestion de la queue des commandes. Nous ne verrons pas en détail les modifications de ce paramètre.
4.2 Configuration d'aun RAID 0 en détail
Nous allons utiliser le fichier de configuration suivant, sauvez le sous le nom raid0.conf :
START array 1 2 0 START disks /dev/sd0a /dev/sd1a START layout 32 1 1 0 START queue fifo 100
Nous devons maintenant créer notre périphérique de RAID à partir du fichier de configuration, cela se fait à l'aide de la commande raidctl qui sert à gérer nos volumes en RAID logiciel.
Pour créer notre périphérique nous devons utiliser la commande suivante :
root@netbsd # raidctl -v -C raid0.conf raid0
L'option -v permet d'avoir plus de détails, tandis que l'option -C permet de spécifier le fichier de configuration à utiliser. On peut aussi utiliser -c et la différence entre les deux est que -c s'arrête lors de la rencontre d'une erreur dans la création du périphérique de RAID.
Une fois cela fait, nous devons initialiser notre périphérique de RAID et lui donner un identifiant qui permettra d'auto configurer notre périphérique au démarrage. Pour cela nous utilisons l'option -I qui permet d'initialiser notre périphérique et de lui donner un nom. Ici nous lui donnons le nom de "raid0-data" :
root@netbsd # raidctl -I raid0-data raid0
Nous devons ensuite écrire les contrôles de parité sur notre disque :
root@netbsd # raidctl -v -i raid0 Initiating re-write of parity Parity Re-write status:
Rendons maintenant notre périphérique de RAID autoconfigurable, toujours à l'aide de raidctl :
root@netbsd # raidctl -v -A yes raid0
Nous devons maintenant créer nos slices sur notre nouveau disque en RAID avant de pouvoir l'utiliser. Il faut donc utiliser la commande disklabel avec vos options préférées. Par exemple :
root@netbsd # disklabel -i raid0 disklabel: Invalid signature in mbr record 0
Ici l'erreur n'est pas importante et nous indique seulement qu'il n'y a pas de précédente table de partition.
Une fois cela fini, nous pouvons créer notre nouveau système de fichier :
root@netbsd # newfs /dev/raid0a
/dev/raid0a: 2047.9MB (4194176 sectors) block size 16384, fragment size 2048
using 12 cylinder groups of 170.67MB, 10923 blks, 21504 inodes.
super-block backups (for fsck -b #) at:
32, 349568, 699104, 1048640, 1398176, 1747712, 2097248, 2446784,
2796320, 3145856, 3495392, 3844928,Nous pouvons maintenant utiliser notre périphérique RAID logiciel comme un disque normal, en le montant dans un répertoire :
root@netbsd # mount /dev/raid0a /mnt/raid0