Page suivantePage précédenteTable des matières

4. Passage d'un système non RAID à un raid 1/4/5

Le passage à partir d'un système non raid est une opération relativement facile se composant des quelques étapes ci-dessous. La description est destinée aux systèmes avec une partition de boot, une partition racine et une partition d'échange

ancien disque dans le système existant :
/dev/hda1     boot, peut être dos+loadlin ou lilo
/dev/hda2     root
/dev/hda3     swap
Nous allons ajouter un disque supplémentaire et convertir tout le système en raid 1. Vous pouvez aisément ajouter plusieurs disques et faire un raid 5 en utilisant le même protocole.

4.1 Étape 1 - Préparation d'un nouveau noyau

Téléchargez un noyau propre, raidtools-0.90 (ou une version plus récente), et le correctif du noyau 0.90 pour le raid.

Compilez et installez raidtools, et lisez la documentation.

Compilez et installez le noyau de manière à ce qu'il supporte tous les types (0/1/4/5 ?) de raid que vous allez utiliser. Assurez-vous de bien spécifier l'auto-démarrage des périphériques raid lors de la configuration du noyau. Vérifiez si le noyau démarre bien et examinez /proc/mdstat pour voir si les types de raid que vous allez utiliser sont bien pris en charge par le nouveau noyau

4.2 Étape 2 - Mise en place de raidtab pour le nouveau raid

Le nouveau disque va être ajouté sur un contrôleur IDE en périphérique maître, il devient ainsi /dev/hdc

/dev/hdc1     16 Mo -- largement suffisant pour plusieurs images de noyau
/dev/hdc2     presque tout le disque
/dev/hdc3     un peu plus d'espace pour la partition d'échange, si vous en avez
besoin, sinon, ajoutez le à hdc2

changez le type de partition pour /dev/hdc1 et /dev/hdc2 en "fd" pour auto-démarrer le raid.

En utilisant le paramètre failed-disk, créez un raidtab pour la configuration raid désirée. Le disque endommagé doit être la dernière entrée dans la table.

# exemple de raidtab
# md0 est le noeud racine
raiddev                 /dev/md0
raid-level              1
nr-raid-disks           2
chunk-size              32
# disques de secours pour la reconstruction à chaud
nr-spare-disks          0
persistent-superblock   1
device                  /dev/hdc2
raid-disk               0
# ceci est notre vieux disque, marqué comme non opérationnel pour l'instant
device                  /dev/hda2
failed-disk             1
# md1 est le répertoire /boot
raiddev                 /dev/md1
raid-level              1
nr-raid-disks           2
chunk-size              32
# disques de secours pour la reconstruction à chaud
nr-spare-disks          0
persistent-superblock   1
device                  /dev/hdc1
raid-disk               0
# le disque hda1 est marqué comme défaillant
device                  /dev/hda1
failed-disk               1

4.3 Étape 3 - Créer, formater et paramétrer un raid

Créer le noeud md avec les commandes :

mkraid /dev/md0
mkraid /dev/md1

Les périphériques raid doivent être créés et lancés. L'examen de /proc/mdstat montre les particularités du raid dans le noyau et les périphériques raid lancés.

Formatez les partitions d'amorçage et la racine avec :

mke2fs /dev/md0
mke2fs /dev/md1
Montez la nouvelle partition racine à un endroit quelconque, puis créez le répertoire /boot, et montez la partition d'amorçage.

mount /dev/md0 /mnt
mkdir /mnt/boot
mount /dev/md1 /mnt/boot

4.4 Étape 4 - Copie du système d'exploitation courant sur le nouveau périphérique raid

Quelques temps après...

cd /
# préparez un script pour faire ce qui suit
cp -a /bin /mnt
cp -a /dev /mnt
cp -a /etc /mnt
cp -a (tous les répertoires sauf /mnt, /proc, et les montages NFS) /mnt

Cette opération peut s'avérer ardue si vous avez monté ou lié d'autres disques sous votre racine. L'exemple ci-dessous prend en compte un système très simple. Vous serez peut-être amené à modifier la procédure quelque part.

4.5 Étape 5 - Testez votre nouveau RAID

Créez une disquette de démarrage et un rdev sur le noyau.

dd if=kernal.image of=/dev/fd0 bs=2k
rdev /dev/fd0 /dev/md0
rdev -r /dev/fd0 0
rdev -R /dev/fd0 1

Modifiez le fichier fstab sur la partition raid pour affecter les nouveaux points de montage comme suit :

/dev/md0        /       ext2    defaults        1 1
/dev/md1        /boot   ext2    defaults        1 1

Démontez les partitions raid et amorcez à partir du nouveau système de fichiers pour vérifier son fonctionnement

umount /mnt/boot
umount /mnt
raidstop /dev/md0
raidstop /dev/md1
shutdown -r now

Votre système raid devrait maintenant être opérationnel en mode dégradé avec une disquette de démarrage. Vérifiez bien que vous avez tout transféré sur le nouveau raid car, si vous ratez votre coup ici, sans sauvegarde, VOUS ÊTES MORT !

Si quelque chose ne fonctionne pas, redémarrez votre ancien système, revenez en arrière et recommencez jusqu'à ce que cette étape soit réussie, pour voir ce qui coince.

4.6 Étape 6 - Intégration de l'ancien disque dans le raid

L'étape précédente étant réussie, votre raid est maintenant opérationnel, mais, il n'est pas redondant. On doit maintenant re-partitionner le ou les vieux disques pour les ajouter au raid. Rappelez-vous que si les géométries ne sont pas les mêmes, la taille de la partition sur l'ancien disque doit être au moins égale à la taille du raid sinon ils ne peuvent pas être ajoutés.

Re-partitionnez l'ancien disque. Exemple :

/dev/hda1     same or larger than /dev/hdc1
/dev/hda2     same or larger than /dev/hdc2
/dev/hda3     une petite place pour un swap ou je ne sais quoi...

Changez le paramètre failed-disk dans le fichier raidtab en raid-disk et insérez à chaud les nouvelles partitions (vieux disque) au raid.

raidhotadd /dev/md1 /dev/hda1
raidhotadd /dev/md0 /dev/hda2

L'examen de /proc/mdstat devrait nous indiquer un (ou plusieurs) périphériques raid en reconstruisant les données pour les nouvelles partitions. Après une minute ou deux... ou plus, le raid devrait être totalement synchronisé (cela peut prendre pas mal de temps pour une grande partition).

En utilisant la procédure des premières sections de ce document, préparez un raid amorçable sur la nouvelle paire de disques. Conservez le démarrage par disquettes tout pendant la mise au point et le test de cette dernière étape.


Page suivantePage précédenteTable des matières