HOWTO Installation de Gentoo avec RAID
Un article de Gentoo Linux Wiki.
| Méthodes d'installation • CD Live • Noyau et matériel • Portables et Notebooks • Portage • Système • Réseaux et Services • Serveur X • Logiciels fréquemment utilisés • Autres |
[modifier] À propos de l'installation
Avant que vous ne commenciez à lire ce HOWTO, il peut être bon de se familiariser avec les instructions d'installation sur une architecture de type x86 en lisant la documentation d'installation par exemple. De même, de nombreuses manipulations sont communes aux deux méthodes (installation normale et installation sur un dispositif de type RAID), donc il vous faudra utiliser les deux documentations en parallèle.
Ce HOWTO supposera que vous voulez faire votre installation sur deux disques IDE, et que chacun est le maître sur son canal IDE (ils seront donc a priori notés /dev/hda et /dev/hdc). Le lecteur CD-Rom depuis lequel vous faites votre installation sera au choix /dev/hdb ou /dev/hdd, cela n'a pas d'importance.
Nous allons partitionner nos disques durs de manière similaire au partitionnement des documentations d'installation.
device mount size /dev/hda1 /boot 100Mo /dev/hda2 swap >=2*RAM /dev/hda3 / (gros) /dev/hda4 /home (gros - optionnel)
/boot et / seront en RAID1 (mirroir) et /home sera en RAID0. La partition d'échange sera à la fois sur hda et hdc, mais ne sera pas en architecture RAID, nous verrons plus tard pourquoi.
Ici, il convient de faire le point sur les niveau RAID habituels, leurs avantages et inconvénients, pour pouvoir justifier ses choix.
RAID 0 : deux ou plus disques durs sont combinés en un seul gros volume. La taille de ce volume final est la somme de tous les disques durs. Quand une donnée est écrite sur le disque RAID, elle est écrite sur tous les disques en RAID0. Cela signifie que l'ecriture est rapide, mais que si l'un des disques a un problème, l'ensemble de vos fichiers sera perdu.
RAID 1 : deux disques durs sont combinés pour donner un volume de la taille du plus petit des deux disques durs. Les deux disques durs sur le RAID sont en fait des mirroirs l'un de l'autre. Si l'un des deux disques a un problème, les données restent sauvegardées sur le second et le système peut continuer de fonctionner correctement.
RAID 5 : trois ou plus disques durs sont combinés en un gros volume. La taille de celui-ci est (nombre de disques - 1) * (taille des disques). Vous perdez la taille d'un disque dur, car une partie de chaque disque dur sera utilisée comme une sauvegarde de données d'autres disques durs. Si l'un des disques a un problème, vous gardez vos données. Si deux ont un problème, toutes vos données sont perdues.
Quelques considérations d'ordre général sur le RAID. L'idéal est d'avoir une taille identique pour tous les disques d'un même RAID (NdT&mnsp;: voir même avoir des disques rigoureusement identiques -même marque, même modèle, même lot-). Toute différence entre les disques rendra difficile la gestion du RAID par votre ordinateur. De plus, un disque dur IDE sur un RAID doit être sur son propre canal IDE.
[modifier] Démarrer
Suivre les instructions habituelles d'installation pour cette section.
[modifier] Charger les modules du noyau
Notre machine de test utilise un chipset pour le réseau compatible avec le sis900, nous utiliserons donc celui-ci. Bien sûr, à vous d'adapter à vos besoins.
modprobe sis900
Nous devons également charger le module qui permet le support du RAID :
modprobe md
[modifier] Charger les modules PCMCIA
Suivre les instructions pas habituelles d'installation pour cette section.
[modifier] Configuration du réseau
Suivre les instructions habituelles d'installation pour cette section.
[modifier] Partitionner
Vous allez devoir utiliser fdisk pour partitionner vos disques durs. Il n'y a rien de différent à l'utilisation habituel de fdisk sauf que vous devrez travailler sur les deux disques, et construirez tout, sauf la partition d'échange (swap). Pour faire vos partitions, faites fd pour que le noyau détecte automatiquement le RAID. Si vous vous trompez dans l'une de ces étapes, votre RAID ne fonctionnera pas. La partition d'échange doit être créée de type linux swap.
Il est peut-être temps maintenant de jouer avec hdparm. Cet outil vous permettra de changer les paramètres d'accès à votre disque dur, ce qui pourrait vous permettre d'accélérer l'accès disque.
Vous pourrez trouver sur le forum de Gentoo des articles intéressants sur hdparm notamment dans le forum anglais. Vous êtes donc invités à aller le consulter.
Avant de créer vos systèmes de fichiers sur les disques, nous allons tout d'abord créer et démarrer les services RAID. Nous avons besoin pour ça de configurer le fichier /etc/raidtab. Ce fichier va définir la correspondance entre les partitions physiques et l'organisation de vos disques RAID. Si vous avez des disques durs de taille différente en RAID 1 (ce qui n'est pas recommandé), le plus petit disque des deux devrait être le disque raid numéro 0 dans ce fichier. Notre fichier raidtab devrait avoir cet aspect :
| Fichier : /etc/raidtab |
#Gentoo Linux$ /boot (RAID 1) raiddev /dev/md0 raid-level 1 nr-raid-disks 2 chunk-size 32 persistent-superblock 1 device /dev/hda1 raid-disk 0 device /dev/hdc1 raid-disk 1 #Gentoo Linux$ / (RAID 1) raiddev /dev/md2 raid-level 1 nr-raid-disks 2 chunk-size 32 persistent-superblock 1 device /dev/hda3 raid-disk 0 device /dev/hdc3 raid-disk 1 #Gentoo Linux$ /home (RAID 0) raiddev /dev/md3 raid-level 0 nr-raid-disks 2 chunk-size 32 persistent-superblock 1 device /dev/hda4 raid-disk 0 device /dev/hdc4 raid-disk 1 |
Ajouter des pièces de rechange à chaud est souvent une bonne idée, même si dans notre test, il n'y avait pas assez de disques durs pour le faire. En effet, si vous avez un disque dur qui meur sur votre architecture en RAID 1, vous pourrez toujours avoir un disque de rechange pour remplacer le disque défectueux. raidtab, avec un système d'échange à chaud ressemblerait à ceci :
| Fichier : /etc/raidtab |
#Gentoo Linux$ / (RAID 1 with hot-spare) raiddev /dev/md2 raid-level 1 nr-raid-disks 2 nr-spare-disks 1 chunk-size 32 persistent-superblock 1 device /dev/hda3 raid-disk 0 device /dev/hdc3 raid-disk 1 device /dev/hdd1 spare-disk 0 |
et un RAID 5 (avec cette option toujours) donnerait ceci :
| Fichier : /etc/raidtab |
raiddev /dev/md4 raid-level 5 nr-raid-disks 3 nr-spare-disks 1 persistent-superblock 1 chunk-size 32 parity-algorithm left-symmetric device /dev/hda4 raid-disk 0 device /dev/hdb4 raid-disk 1 device /dev/hdc4 raid-disk 2 device /dev/hdd4 spare-disk 0 |
Maintenant nous avons besoin de créer nos disques RAID :
mkraid /dev/md*
Vous devez faire cette manipulation pour tous les disques RAID, en remplaçant * par le dispositif spécifié dans votre fichier /etc/raidtab.
Nous utiliseront un système de fichiers de type ext2 pour le disque RAID de /boot :
mke2fs /dev/md0
Souvenez-vous, nous avons dit que nous ne ferions pas de partition d'échange en RAID, pour que l'on puisse en avoir sur plus d'un seul disque. Mais sans être en RAID?. Donc quand on réserve de l'espace pour les partitions d'échange, on en réserve sur les deux disques. Puis on crèe les partitions d'échange :
mkswap /dev/hda2 Gentoo Linux$ mkswap /dev/hdc2
Enfin, comme dans notre test nous souhaitons utiliser XFS comme système de fichiers pour / et /home :
mkfs.xfs -d agcount=3 -l size=32m /dev/md2 mkfs.xfs -d agcount=3 -l size=32m /dev/md3
Les paramètres donnés à mkfs.xfs proviennent des suggestions proposées dans le guide d'installation pour x86. / et /home font environ 9Go, et XFS aime travailler par groupes d'allocation de 4Go. Donc on lui assigne un agcount de 3.
Si vous voulez un système de fichier de type ext3, vous devez faire ceci :
mke2fs -j /dev/md2 Gentoo Linux$ mke2fs -j /dev/md3
Ou pour du ReiserFS :
mkreiserfs /dev/md2 Gentoo Linux$ mkreiserfs /dev/md3
[modifier] Monter les partitions
Activez vos partitions d'échange :
swapon /dev/hda2 swapon /dev/hdc2
Montez la racine et la partition de démarrage :
mkdir /mnt/gentoo mount /dev/md2 /mnt/gentoo mkdir /mnt/gentoo/boot mount /dev/md0 /mnt/gentoo/boot
[modifier] Monter le CD-Rom
Suivre les instructions habituelles d'installation pour cette section.
[modifier] Désarchivez le stage que vous souhaitez utiliser
Suivre les instructions habituelles d'installation pour cette section, sauf que vous devrez recopier votre fichier /etc/raidtab par dessus votre nouvelle Gentoo. Après avoir recopié votre /etc/resolv.conf, faites la copie :
cp /etc/raidtab /mnt/gentoo/etc/raidtab
[modifier] Synchronisation de l'arbre de Portage
Suivre les instructions habituelles d'installation pour cette section.
[modifier] Passer de stage1 à stage2 puis stage3
Suivre les instructions habituelles d'installation pour cette section.
[modifier] Configuration de la zone horaire
Suivre les instructions habituelles d'installation pour cette section.
[modifier] Compilation du noyau et système de log
Lors de la configuration de votre noyau pensez bien à compiler le support des dispositifs RAID et tous les niveaux RAID que vous souhaitez utiliser. Enfin, compilez-les dans le noyau et non comme modules. Si vous les compilez comme des modules, vous devrez charger les modules avant de monter les dispositifs en RAID, mais si vous voulez que / et /boot soient en RAID vous devrez construire un initrd spécifique qui se chargera de charger les modules avant de monter les disques. Mais cela sort de notre HOWTO, et c'est bien plus simple de compiler tous les supports RAID dans le noyau.
De plus, comme nous utilisons un système de fichiers XFS nous avons installé le xfs-sources. Sinon, suivez les instructions habituelles.
[modifier] Dernières étapes : installer des paquets supplémentaires
Comme nous utilisons un système de fichiers XFS nous installerons xfsprogs, pensez à installer le paquet correspondant à votre système de fichiers. Pour le reste, suivez les instructions habituelles.
Pensez également à installer les outils nécessaires à la gestion du RAID, en faisant un emerge raidtools.
[modifier] Dernières étapes : /etc/fstab
Là encore nous allons devoir spécifier au système que nous avons deux partitions d'échange. C'est dans ce fichier que vous spécifiez quelles sont vos partitions d'échange, et les priorités que vous leur donnez.
Faites également attention à bien spécifier les disques RAID et non les disques physiques dans /etc/fstab pour tous les disques qui sont en RAID. Notre fichier ressemblera à celui-ci :
| Fichier : /etc/fstab |
/dev/md0 /boot ext2 noauto,noatime 1 2 /dev/md2 / xfs noatime 0 1 /dev/hda2 swap swap defaults,pri=1 0 0 /dev/hdc2 swap swap defaults,pri=1 0 0 /dev/md3 /home xfs noatime 0 1 /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0 proc /proc proc defaults 0 0 |
Ensuite, suivez les instructions normales, jusqu'à arriver à l'installation de grub.
Vous devez donc taper :
Gentoo Linux$ grub
Les commandes sont les mêmes que dans une installation standard si vous avez la même configuration des partitions. Sinon, tapez :
grub> find /boot/grub/stage1
Sachant que /boot est une partition sur un disque RAID, grub ne peut pas le lire pour obtenir le gestionnaire de démarrage. Il peut uniquement accéder à des disques à accès physique. Du coup, vous devez toujours utiliser (hd0,0) pour cette étape.
Le fichier menu.lst diffère de celui de l'installation normale. La différence réside dans la spécification du disque root, qui est maintenant un disque RAID et non un disque physique. Notre fichier ressemble à ceci :
| Fichier : menu.lst |
default 0 timeout 30 splashimage=(hd0,0)/boot/grub/splash.xpm.gz title=My example Gentoo Linux root (hd0,0) kernel /boot/bzImage root=/dev/md2 |
[modifier] Fin de l'installation
Suivez les instructions habituelles du manuel d'installation pour cette section.
[modifier] Petits trucs pour le RAID
Pour vérifier que votre RAID fonctionne correctement après le redémarrage :
cat /proc/mdstat
Il devrait y avoir une entrée par disque RAID. Les disques en RAID1 devraient avoir un [UU] comme paramètre, qui vous indiquera que les deux disques durs sont up,up c'est à dire en fonctionnement tous les deux. Si l'un d'eux plante, vous aurez un [U_]. Si cela vous arrive, vous devriez remplacer ce disque dur au plus vite, même si votre système continuera à fonctionner normalement.
Pour reconstruire un RAID 1 :
- Arrêtez la machine
- Remplacer le disque mort
- Redémarrez votre machine
- Remettez votre nouveau disque dans le RAID avec raidhotadd /dev/mdX /dev/hdX
- Regardez ce qui se passe
NdT : si votre système le supporte, vous pouvez faire le remplacement à chaud en utilisant hdparm pour arrêter le disque en panne et le débrancher, puis pour remettre le nouveau en place. À tester.
[modifier] Auteur et traduction
Auteur : Chris Atwood Voir l'article original sur le forum Gentoo. Traduit depuis l'article sur la page anglaise du wiki.
