Changer le noyau d’une Debian OVH

Malgré le fait de demander une Debian nue à l’installation de mon serveur dédié, OVH m’a mis une distrib qui semble un peu modifiée par eux, notamment au niveau du noyau. Le noyau que j’ai au départ a un nom tout bizarre genre bzImage-2.6.27.10-xxxx-grs-ipv4-64.

En fait c’est un noyau préparé par OVH qui contient les derniers patchs de sécurité et qui permet de se passer de modules externes car ils sont embarqués. Problème: quand j’ai voulu upgrader ma distrib de Etch à Lenny, j’ai eu énormément d’ennuis et j’ai dû faire appel à un ami spécialiste pour me dépatouiller.

Le premier problème a été Lilo: il a commencé à me mettre des warnings pendant la mise à jour. Comme je n’étais pas sûr des conséquences que cela aurait au reboot et vu que Lilo commence sérieusement à dater, on a décidé de mettre Grub, et là tout est parti en vrille, ce qui n’aurait pas été le cas si j’avais eu un noyau standard… En effet d’une part Grub se base sur le nom d’un noyau standard pour s’installer, ce qui n’était pas le cas. La config de grub ne n’est donc pas faite correctement. On s’est donc dit que dans ce cas, on allait donner à Grub ce qu’il voulait, c’est à dire un noyau standard. Sauf que la il va aussi falloir gérer les modules à la main. En plus de cela le serveur était en raid1 logiciel, ce qui nécessite une maipulation supplémentaire avec Grub.

On va donc essayer à travers cet article de remettre la distribution droite dès le départ étant donné que le serveur dédié sur lequel je refais cette expérience est neuf.

La première chose à faire est de récupérer toutes les informations nécessaires sur notre hardware, notre architecture, le raid logiciel, etc…

Déjà, grâce au nom du noyau on sait que l’on est sur une architecture 64 bits.

Pour le hardware, on a besoin de savoir quel est le processeur que nous avons, ainsi que la ou les cartes réseaux.  Pour le processeur, on va faire un :

> vi /var/log/dmesg

puis on va faire une recherche sur « Intel ». Déjà je peux noter les infos suivantes:

CPU0: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz stepping 0a

Bon, première info… Le truc à savoir avec l’architecture 64 bits, c’est que quel que soit votre processeur (AMD ou Intel), vous devrez installer un noyau AMD64. On peut le voir à cette adresse: http://www.debian.org/ports/amd64/

Le portage se compose d’un noyau pour tous les processeurs AMD 64 bits avec l’extension AMD64 et pour les processeurs Intel avec l’extension EM64T et d’un espace utilisateur 64 bits commun.

Bref, si je fais un

> apt-cache seach 'linux-image'

je tombre sur ce noyau :  » linux-image-2.6.26-2-amd64 – Linux 2.6.26 image on AMD64″

C’est celui-là qu’il nous faut.

En ce qui concerne la carte réseau, dans un premier temps on a besoin de savoir combien on en a. Pour cela un petit

> ifconfig

M’indique qu’il n’y a que et0 et lo (qui est l’interface locale). Donc je n’ai qu’une carte. Pour m’assurer des modules nécessaires à ma carte réseau, j’ai trouvé en parcourant les forums un truc plutôt pas mal. Tapez la commande:

> lspci -n

Et copiez le contenu du résultat dans le textarea de ce site: http://kmuto.jp/debian/hcl/

Il vous donnera le nom des modules à charger. Dans mon cas c’est donc le module r8169 dont j’ai besoin

Enfin on finit par vérifier si on est en raid ou pas. En tapant :

> cat /proc/mdstat

j’obtiens:

md1 : active raid1 sdb1[1] sda1[0]
5245120 blocks [2/2] [UU]

md2 : active raid1 sdb2[1] sda2[0]
970992576 blocks [2/2] [UU]

Donc je sais que je suis en raid1 sur deux disques serial ATA (sda et sdb).

On a tout ce qu’il faut pour se lancer. C’est parti:

On installe grub en premier (en effet notre noyau standard a besoin de grub pour s’installer sinon on a une erreur).

> apt-get install grub

On crée le répertoire de grub dans le répertoire de boot :

> mkdir /boot/grub

On fait une première install de grub. Je suis pas sûr que cette étape soit nécessaire, je vérifierai cela lors de ma prochaine installation de dédié 😉

> grub-install /dev/md1

On installe notre noyau :

> apt-get install linux-image-2.6.26-2-amd64

On installe grub :

> grub-install /dev/md1

On demande une mise à jour de grub

> update-grub

Le problème maintenant c’est qu’on est sur du raid logiciel. Notre disque /dev/md1 n’est donc pas physique mais virtuel. Et le souci c’est que notre grub-install ne va pas s’inscrire sur le secteur de boot de sda et sdb. Il faut donc faire cette manipulation manuellement :

> grub
grub> root (hd0,0)
grub> setup (hd0)
grub> setup (hd1)
grub> quit

Il ne faut pas oublier de le faire sur les deux disques dur, ainsi si un des disques crash, le deuxième sera bootable.

Avant de rebooter, ne pas oublier les modules de la carte réseau ! Dans /etc/modules rajouter:

loop
r8169

et sauvegardez..

En demandant conseil à mon pote pour réaliser toutes ces manipulations en sécurité, il m’a dit qu’on avait eu un problème au niveau du package « mdadm » qui est le package gérant le raid. En effet, lors de notre expérience malheureuse, il s’est rendu compte que ce paquet n’était pas installé, le noyau d’OVH embarquant ce dont il a besoin pour le faire fonctionner. En ce qui me concerne sur ce nouveau serveur, le package est bien présent mais n’hésitez pas à vérifier et à l’installer le cas échéant sinon vous aurez une surprise au reboot !

Vous pouvez y aller maintenant.

> reboot

et croisez les doigts… 😉

N’hésitez pas à me faire part de vos expériences sur le sujet, mes connaissances sur le sujet étant modestes, il se peut qu’il y ait des erreurs ou des choses à améliorer.

Mots-clefs : , , ,



Laisser une réponse

Vous devez être connecté pour publier un commentaire.