URL: https://linuxfr.org/users/quzqo/journaux/raid-boot-lilo-mini-mini-howto Title: RAID + boot + LILO : mini-mini HOWTO Authors: Quzqo Date: 2004年05月27日T11:01:32+02:00 Tags: debian Score: 0 / en RAID logiciel m'a toujours tenté mais les howto existants restent la plupart du temps antédiluviens (noyaux 2.2, raidtools première génération) ou incomplets. Après avoir récupéré deux disques (IDE, respectivement 2,5 et 10 Go), j'ai enfin pris le temps d'essayer... Sachant que le but est de mettre ce RAID logiciel sur de futurs serveurs, je suis parti sur une base Debian Woody (et merci au LiveCD de knoppix 3.4 du 17/05/2004 au passage pour réparer mes erreurs LILO ;o) Installation de base J'ai partitionner les deux disques de manière identique, hda et hdd (mais il est préférable de faire hda + hdc pour de l'IDE) : hd[ad]1 ... / ... 128 Mo (amorçable) hd[ad]2 ... /boot ... 20 Mo hd[ad]3 ... /usr ... 1024 Mo hd[ad]5 ... /var ... 1024 Mo hd[ad]6 ... /tmp ... 320 Mo ... En vrac : ° Faute de place /home, swap et /usr/local (pour compil') ne sont que sur hda (le plus gros disque) ° Le type des partitions sur hdd est FD (raid autodetect) ° Les tailles de partitions sont limitées pour les besoins de ce test (/ et /tmp sont un peu justes à mon goût) L'installation de base est réalisée sur hda, bootloader LILO dans le MBR de ce disque. Une fois l'installation Woody 3.0r0 terminée, le système est mis à jour en 3.0r2 + stable-proposed-updates (pour le noyau 2.4.24-k7-2 avec un Duron). Création des périphériques RAID _~ installation de du package raidtools2 et dépendances_ le fichier /etc/raidtab a cette allure : raiddev /dev/md[0-4] raid-level 1 nr-raid-disks 2 nr-spare-disks 1 persistent-superblock 1 chunk-size 16 device /dev/hdd[1-6] raid-disk 0 device /dev/hda[1-6] **failed-disk** 1 Et il suffit de créer les devices avec : # mkraid /dev/md[0-4] de créer le système de fichiers : # mkfs -t ext3 /dev/md[0-4] et de les monter : # mount /dev/md0 /mnt # mount /dev/md1 /mnt/boot # mount /dev/md2 /mnt/usr # mount /dev/md3 /mnt/var # mount /dev/md4 /mnt/tmp Configuration de mkinitrd _~installation de initrd-tools et dépendances_ Le noyau étant standard Debian (sans recompilation), j'ai recréé une image initrd pour inclure le support du RAID logiciel en complétant /etc/mkinitrd - Ajout dans _./modules_ de ext3, raid1 et md. - la variable ROOT=probe par défaut dans _./mkinitrd.conf_ puis en exécutant : # mkinitrd -o /boot/initrd.raid.2.4.24.img -r /dev/md0 La commande inclut automatiquement le nécessaire pour monter / sur du RAID avec _-r /dev/md0_ Il suffit de vérifier ensuite l'image en la montant : # mkdir /mnt/loop # mount -t cramfs -o loop /boot/initrd.raid.2.4.24.img /mnt/loop puis en s'assurant que le démarrage du RAID est effectif dans /mnt/loop/script. Remarque: il doit y avoir une possibilité de compléter le linuxrc avec ses propres procédures pour les inclure dans l'image mais je n'ai pas retrouvé comment... Création du système sur /dev/md* Il suffit de recopier le système existant : # for mnt in '/' '/boot' '/usr' '/var' '/tmp' # do # ... cd $mnt # ... find . -xdev | cpio -pm /mnt${mnt}/ # done et un df -k pour vérifier que l'occupation des partitions homologues (hda1 et md0, hda2 et md1, ...) est cohérente. Reconfiguration du bootloader (LILO) A partir de là, on bosse sur hdd (alias "md") pour pouvoir rebooter sur hda au besoin avec un minimum de modifications. Il faut éditer _/mnt/md0/etc/lilo.conf_ et y mettre à jour : ° root = /dev/md0 ° default = linuxRAID ° une nouvelle cible : _image = /vmlinuz # qui pointe sur /boot/vmlinuz.2.4.24-k7-2 label = linuxRAID initrd = /initrd.raid.img vga = 792_ ainsi que créer le lien-ki-va-bien et relancer LILO : # ln -s /boot/initrd.raid.2.4.24.img /mnt/md0/initrd.raid.img # lilo -v -r /mnt/md0 LILO dit quelques insanités (map file, not the same disk, bla-bla) mais ça ne porte pas à conséquences. Complément d'installation On s'assure de disposer d'un LiveCD, on reboot et on croise les doigts... Le système devrait démarrer en chargeant la cible _linuxRAID_, en montant l'image initrd en mémoire puis / en read-only à partir de /dev/md0... pour arriver à une belle console S'assurer que tout fonctionne comme prévu avec : # mount _ou_ df Si c'est le cas, on ajoute les partitions hda* au RAID logiciel : # raidhotadd /dev/md[0-4] /dev/hda[1-3,5] et il reste à modifier /etc/raidtab en remplaçant les entrées : ° failed-disk 1 par : ° raid-disk 1 Dernier point, j'ai modifié le type des partitions de hda en FD (cfdisk /dev/hda -> Type -> FD et Write) Pour finir Par sécurité, j'ai relancé lilo avec boot=hdda et boot=hdd... J'ai aussi eu de curieux comportements au cours de divers essais car je ne savais plus trop quel était le disque qui bootait... Commentaires bienvenus. Je tenterai bien la même chose avec GRUB...

AltStyle によって変換されたページ (->オリジナル) /