Installation d'un poivron. Épique, technique et organique.
Récit à chaud de l'installation du poivron.
Paris, 1er mai 2004.
Poivron est arrivé. Nouveau venu dans le potager, petit dernier des envies d'alternatives électroniques de deux anargeeks, projet concrêt de serveur affinitaire et autogéré.
Poivron est un joli bébé. Un processeur P-IV nouvelle génération, 2,8 ghz et supportant l'hyper-threading. Un giga de RAM cadencée à 400 mhz, deux disques durs SATA de 80 gigas, deux interfaces Ethernet 1 gigabit et une floppée de ventilateurs, le tout emballé dans un boitier 1U fin et élancé.
Mais ce poivron a hâte d'être installé. Aussi Lunar et moi nous faufilons, tard ce soir du premier mai, dans les bureaux où ce dernier se commet parfois avec le travail salarié. Les lieux sont spatieux, vides, chauffés, disposent d'une appréciable connexion internet et d'une machine à café.
Place à l'initialisation. Le choix de la distribution s'impose à nous sans tergiversation, sans même qu'à aucun moment nous le formulions. Il s'agira de Debian GNU/Linux. N'ayant pas doté poivron de lecteur de disquette ni de CD-ROM, nous saisissons l'occasion d'explorer un support d'amorçage plus original: la clef USB.
Le Debian Installer, nouvelle mouture du programme d'installation de Debian, actuellement en cours de développement, propose évidemment ce type d'installation exotique. Notre objectif étant d'installer les disques durs en RAID 1 logiciel grâce au noyau Linux, nous passons quelques temps à sonder la documentation naissante du Debian Installer et à errer dans ses menus, à la recherche d'une option correspondante. Quelques recherches et interrogations plus tard, il apparaît que le support du RAID n'est pas encore intégré à l'installateur, mais qu'une ISO de test est disponible sur le site d'un furieux développeur.
Autant dire que nous nous empressons de la télécharger. Mais voilà que cette ISO nous fait faux bond. Le support de nos cartes réseaux e1000 est bien censé être présent, mais le paquet de pilotes nic-extra-modules refuse alors obstinément de se charger.
Deux mots sur cet échec et son pourquoi. Démarrer depuis une clef USB implique d'y placer un noyau, permettant de monter l'ISO plus « classique » du système d'installation. Concrètement, qui veut réaliser telle manipulation n'a qu'à se rendre sur le site du Debian Installer, télécharger boot.img.gz et dd ce fichier vers la clef, la monter, puis placer l'ISO proprement dite (netinst.iso) sur le système de fichier ainsi créé (en FAT16... !). Pour notre malheur, cette ISO RAID-1 s'est avérée contenir un noyau 2.4.24, tandis que l'image USB (celle du Debian Installer beta 3) démarrait un noyau 2.4.25, nous empêchant d'accéder aux modules précompilés.
Mais revenons à nos poivrons. Nos rêves de RAID-1 à l'installation partis en fumée, nous tentons de nous recentrer. Retour au site web de l'installateur, dans l'idée d'en éplucher les possibilités. Et voilà pas que sous les yeux rougis par l'émotion de Lunar, un rechargement de page fait apparaître la beta 4 de l'installateur! Il aura suffit d'un click et d'un alignement particulier des planètes pour nous sortir du marasme ;)
Nous repartons en direction de l'installation, avec la beta 4, cette fois. wget, dd, mount, cp, etc. La clef bootée, la carte réseau reconnue, se pose la cruelle question des partitions! Petits débats et grandes idées, un consensus est vite trouvé, et partman passe à l'action (partman étant ce truc hybride remplaçant fdisk, mac-fdisk, cfdisk et tutti-quanti). Le système de base est installé, grub trouve à se loger dans le MBR du disque premier, et c'est bien vite que nous redémarrons sur un noyau SMP nous ayant gentilment été proposé par la procédure d'installation.
Excités, base-config est rapidemment expédié, et nous nous attaquons à
la confection d'un noyau frais (Linux 2.6.5). Préparation des
ingrédients (make menuconfig), cuisson (fakeroot make-kpkg
binary-arch), dégustation (dpkg -i ../kernel-image-2.6.5*.deb).
Exécutée en un temps records grâce à un paramétrage quelque peu excessif
(CONCURRENCY_LEVEL=8), la compilation nous décoiffe, devant un top
affichant une montée en charge de 8.20, pour une durée de... 5 minutes ?!
Nouveau noyau, et nouvelle désillusion. Le pilote SATA ne semble pas directement responsable de notre accès aux disques, le contrôleur fonctionnant en mode « émulation PATA » des plus vulgaires. Épluchage des logs, grattage de têtes, valse de paramètres et nouvelles recompilations. Il faut en fait désactiver le pilote IDE PIIX, pour ne laisser que le support SATA-ICH, réfugié dans la jungle des pilotes SCSI (autant dire que nous avons du bien le chercher!). Comme souvent en informatique, la panne suivante nous indique notre succès: le disque dur a adopté la nomenclature SCSI. Plus de hd*, mais des sd* !
S'ensuit une série de dialogues amicaux avec grub, pour qu'enfin, se pose la question du RAID ! Linux nous donnant la possibilité d'assurer la redondance de nos données, autant ne pas nous priver ! Pour ce faire, quelques paramètres noyau sont nécessaires, ainsi que l'outil 'mdadm' de Debian. Néanmoins, la mise en place d'un RAID-1 après l'installation relève du funambulisme. Fort heureusement, nous trouvons grâce à google le récit d'un individu ayant balisé ce chemin incertain. .
L'opération consiste à :
- partitionner le second disque de manière rigourousement identique au premier, à ceci près que le type de chaque partition doit être « Linux Raid Autodetect » (0xFD),
- créer des volumes RAID (/dev/md*) en déclarant le disque actif absent (la bonne blague!), et les doter d'un système de fichier,
- monter ces diverses partitions dans un shéma analogue à celui du
système (par exemple, dans /mnt/), et y copier le contenu du système
actif (grâce à une commande tar magique
tar -C / -clspf - . | tar -xlspvf -), - modifier /mnt/etc/fstab, pour remplacer les occurences de /dev/sda* par les périphériques RAID (/dev/md*),
- redémarrer le système, et demander à grub d'utiliser le second disque (hd,1,0 et /dev/md0),
- si le système démarre et fonctionne ainsi, changer le type des partitions du premier disque en « Linux Raid Autodetect »,
- ajouter ces différentes partitions aux volumes raid, grâce à mdadm, et
assister, ébahi-e, à la réplication automatique des données (ce grâce
à un simple
watch -n 1 cat /proc/mdstat), - changer définitivement la configuration de grub, et rebooter.
Ouf. Exercice un brin périlleux mais concluant!
La configuration bas-niveau étant alors achevée, il ne nous reste plus qu'à planter cette graîne de poivron dans le terreau fertile de l'Internet alternatif. Et nous plonger dans la configuration de nos services, nous délecter des premières données végétales échangées.
Les premiers rayons de soleil heurtent nos yeux fatigués. Il est 6h, et les métros circulent de nouveau. Nous laissons donc poivron, mais c'est promis, nous reviendrons l'arroser tout bientôt.
À suivre...
Par darkveggy:: Jeudi 13 Mai 2004 à 15:12:: Général :: #2 :: rss
Trackbacks
Aucun trackback.
Pour faire un tracback sur ce billet : http://poivron.org/blog/tb.php?id=2
Commentaires
Le Samedi 15 Mai 2004 à 11:33, par davux :: email :: site :: #
Le Mercredi 19 Mai 2004 à 07:46, par y04nn :: #
Le Mardi 27 Décembre 2005 à 14:22, par TslH :: email :: #
Le Mercredi 28 Décembre 2005 à 10:18, par Lunar :: email :: #
Ajouter un commentaire