Connexion via ipmi sur un serveur
Je suis plutôt habitué au console Solaris mais il se trouve que récemment, j'ai eu l'occasion de bosser sur une console ipmi. Le principe est le même, à savoir une console texte accessible via le réseau.
Comment est-ce qu'on arrive à s'intéresser à ce genre de problème allez vous me demander ? Et bien simplement, j'ai eu besoin de modifier les paramètres du BIOS sur une machine d'un client qui se trouve chez un hébergeur. Et il est vrai que sans accès physique à la machine, on se trouve bien bête :).
Assez parlé, commençons l'activation de l'ipmi sur notre serveur. Il nous faut tout d'abord installer ipmitool :
Comment est-ce qu'on arrive à s'intéresser à ce genre de problème allez vous me demander ? Et bien simplement, j'ai eu besoin de modifier les paramètres du BIOS sur une machine d'un client qui se trouve chez un hébergeur. Et il est vrai que sans accès physique à la machine, on se trouve bien bête :).
Assez parlé, commençons l'activation de l'ipmi sur notre serveur. Il nous faut tout d'abord installer ipmitool :
# apt-get install ipmitoolNous allons maintenant charger le module kernel ipmi :
# modprobe ipmi_siTout semble bon. Ajoutons maintenant le module au redémarrage :
# modprobe ipmi_devintf
# lsmod | grep ipmi
ipmi_devintf 13200 0
ipmi_si 43628 0
ipmi_msghandler 38520 2 ipmi_devintf,ipmi_si
# echo "ipmi_devintf" >> /etc/modulesNous allons maintenant définir un utilisateur qui puisse se connecter à la console (nous utilisons ici l'id 8 pour l'utilisateur operator du fait que la société qui nous héberge utilise déjà les 7 premiers identifiants pour ses propres besoins) :
# echo "ipmi_si" >> /etc/modules
# ipmitool -U root user set name 8 operatorNous allons maintenant essayer de nous connecter à la console :
# ipmitool -U root user set password 8 operatorpass
# ipmitool -U root user enable 8
ipmitool -I lanplus -U operator -P operatorpass -H 10.10.10.10 sol activateMalheureusement, nous allons nous retrouver bloquer puisque personne n'écoute. Néanmoins, si nous rebootons notre serveur, il nous permettra d'accéder au bios (le but de ce billet !). Un rapide coup de F2 au redémarrage et nous voyons apparaître l'écran suivant :
Activons ensuite le support Intel de virtualisation :
Pour la gestion de la console dans grub, il faut rajouter les lignes suivantes dans le fichier /boot/grub/menu.lst :
Il faudra ensuite arrêter électriquement la machine et la redémarrer à l'aide de l'interface Web de l'hébergeur.
Notre mission est terminée mais pourquoi s'arrêter en si bon chemin ? Nous allons ajouter la gestion de grub ainsi que celle de la console de Linux.
Pour la gestion de la console dans grub, il faut rajouter les lignes suivantes dans le fichier /boot/grub/menu.lst :
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1Et ensuite mettre à jour grub :
terminal --timeout=15 serial console
grub-install /dev/sdaEnfin, ajoutons le support du port série sur le kernel linux. Il faut pour cela ajouter console=tty0 console=ttyS0,9600n8 dans la ligne de démarrage du kernel. Exemple :
kernel /vmlinuz-2.6.26-2-amd64 root=/dev/md1 ro quiet console=tty0 console=ttyS0,9600n8