Table des matières
IPMI et principales commandes
l'IPMI peut être utilisé selon les différents noms des constructeurs (iLO, iDRAC, BMC, …) pour voir des infos et/ou effectuer des actions a distance sur les serveurs
Mise en oeuvre
Acces local depuis le serveur (en SSH par exemple)
# apt-get install ipmitool
# modprobe ipmi_devintf && modprobe ipmi_si && modprobe ipmi_msghandler
Ensuite la commande ipmitool va pouvoir être utilisée, comme par exemple :
# ipmitool chassis status System Power : on Power Overload : false Power Interlock : inactive Main Power Fault : false Power Control Fault : false Power Restore Policy : always-off Last Power Event : Chassis Intrusion : inactive Front-Panel Lockout : inactive Drive Fault : false Cooling/Fan Fault : false Sleep Button Disable : allowed Diag Button Disable : allowed Reset Button Disable : allowed Power Button Disable : allowed Sleep Button Disabled: false Diag Button Disabled : true Reset Button Disabled: false Power Button Disabled: false
Acces distant via réseau
On peut le configurer soit au démarrage du serveur, soit en utilisant ipmitool sur la machine.
Voir selon équipement/constructeur mais pour du Dell, si on souhaite affecter une IP au controleur IPMI en dhcp sur un VLAN taggé :
# ipmitool lan set 1 ipsrc dhcp # ipmitool lan set 1 access on # ipmitool lan set 1 vlan id VLAN-ID
Sur les Dell le login utilisé par défaut est root, et le mot de passe associé est calvin . On peut bien sur ajouter d'autres utilisateurs et/ou changer le mot de passe, je vous laisse trouver comment ;)
On peut ensuite utiliser la commande ipmitool depuis une machine distante, comme par exemple :
# ipmitool -I lanplus -H devfpga8-ipmi -U root chassis status
Password:
System Power : off
Power Overload : false
Power Interlock : inactive
Main Power Fault : false
Power Control Fault : false
Power Restore Policy : always-off
Last Power Event :
Chassis Intrusion : inactive
Front-Panel Lockout : inactive
Drive Fault : false
Cooling/Fan Fault : false
Sleep Button Disable : not allowed
Diag Button Disable : allowed
Reset Button Disable : not allowed
Power Button Disable : allowed
Sleep Button Disabled: false
Diag Button Disabled : true
Reset Button Disabled: false
Power Button Disabled: false
Principales commandes
Ces commandes peuvent être lancées en acces local ou en accès a distance :
- commande locale : ipmitool MA_COMMANDE
- commande distante : ipmitool -I lanplus -H hostname -U user MA_COMMANDE
- Connaitre les principales commandes :
# ipmitool
puis par exemple pour connaitre les commandes du MC (management controller) :
# ipmitool mc
- Démarrer le serveur :
$ ipmitool -I lanplus -H hostname -U user chassis power on
- Eteindre le serveur gentiment (équivalent a une impulsion courte sur le bouton power : il faut acpid sur la machine pour que ca marche) :
$ ipmitool -I lanplus -H hostname -U user chassis power soft
- Eteindre le serveur sauvagement (équivalent à débrancher l'alimentation):
$ ipmitool -I lanplus -H hostname -U user chassis power off
- Redémarrer le serveur sauvagement (équivalent à débrancher/rebrancher l'alimentation):
$ ipmitool -I lanplus -H hostname -U user chassis power cycle
- Envoyer un reset au serveur (équivalent a un appui sur le bouton reset):
$ ipmitool -I lanplus -H hostname -U user chassis power reset
- Redémarrer le controleur BMC entièrement :
$ ipmitool -I lanplus -H hostname -U user mc reset cold
- Redémarrer le controleur BMC a chaud :
$ ipmitool -I lanplus -H hostname -U user mc reset warm
- Obtenir le journal d'évènement systeme : Erreurs RAM, problemes d'alim, disques, … :
$ ipmitool -I lanplus -H hostname -U user sel list
- Se connecter à la console série (si configurée) :
$ ipmitool -I lanplus -H hostname -U user sol activate
- Faire clignoter en bleu LED d'identication du serveur :
$ ipmitool -I lanplus -H hostname -U user chassis identify
- Récupérer la valeur des capteurs :
$ ipmitool -I lanplus -H hostname -U user sensor list
- Connaitre la consommation du serveur (serveurs récents uniquement :p)
$ ipmitool -I lanplus -H hostname -U userdelloem powermonitor
- Obtenir les adresses MAC des cartes intégrées (et du BMC) :
$ ipmitool -I lanplus -H hostname -U root delloem mac
Configuration IPMI complète avec accès physique sur serveur DELL
- redémarrer le serveur
- Au boot appuyer sur Ctrl+e lors du message du BMC
- activer IPMI
- dans LAN Configuration, choisir DHCP et activer VLAN tagging
- Quand le serveur redémarre , appuyer sur F2 pour rentrer dans la configuration BIOS
- Pour activer la communication série (permet une installation distante sans écran/clavier):
- Choisir Serial Communication
- Sélectionner console redirection On via COM2
- terminal est VT100
- bitrate est 57600
- redémarrer
Activation de la console série
Il faut rediriger la console vers le port COM2 (ttyS1) :
- Dans grub/menu.lst ajouter “console=tty0 console=ttyS1,57600” à la ligne “# kopt=…” (sans décommenter :p)
- Lancer update-grub pour mettre à jour la configuration de grub
- Pour démarrer les process de console série (getty), ajouter un fichier nommé ttyS1 dans /etc/init :
cat << EOF > /etc/init/ttyS1 # ttyS1 - getty # # This service maintains a getty on ttyS1 from the point the system is # started until it is shut down again. start on stopped rc2 start on stopped rc2 start on stopped rc3 start on stopped rc4 start on stopped rc5 stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn exec /sbin/getty 57600 ttyS1 EOF
- Au cas ou vous avez effectué une activation distante, il faut aussi rediriger la console de grub : dans menu.lst remplacer “timeout 3” par :
timeout 5 serial --unit=1 --speed=57600 --word=8 --parity=no --stop=1 terminal --timeout=10 serial console
- Dernier redémarrage