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 swapNous 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.
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
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
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/md1Montez 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
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.
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.
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.