poivron.org - passé/futur

Aller au contenu | Aller au menu | Aller à la recherche

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...

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 :: #

Récit très instructif.

Le Mercredi 19 Mai 2004 à 07:46, par y04nn :: #

Ca m'a rappellé bien des (galères) choses.... mais récit sympa à lire !

Le Mardi 27 Décembre 2005 à 14:22, par TslH :: email :: #

Très très émouvant.
Et la suite? :)
(poivron est hébergé derrière quelle ligne ADSL?)

Le Mercredi 28 Décembre 2005 à 10:18, par Lunar :: email :: #

poivron n'a jamais été hébergé derrière une ligne ADSL

Ajouter un commentaire

Le code HTML dans le commentaire sera affiché comme du texte, les adresses internet seront converties automatiquement.