{{tag>sysadmin serveur ipmi ipmitool tips dell 1850 2950 bmc ilo drac "commandes_utiles"}}
====== 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
Attention sur les Dell PE 1850 un bug empêche le fonctionnement sur un VLAN taggé : assigner une IP sur sans VLAN. Pire, si vous mettez un VLAN vous ne pouvez ensuite plus l'enlever ;-)
Cette configuration distante n'est souvent utilisable que sur le premier port ethernet intégré à la carte mère (ex : Dell 2950 :p)
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
Sur certains serveurs, comme le PowerEdge 1850 apres un redémarrage du BMC les ventilateurs vont rester a fond jusqu'au prochain arret, vous aurez été prévenus ;-)
L'acces peut être tres lent sur les 1850, par exemple pour les capteurs
===== 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 =====
Selon le serveur le bitrate peut changer
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)
La ligné précédent envoie tous les messages noyaux vers l'ecran physique. Les messages relatifs au démarrage des services seront uniquement envoyés sur la console série
* 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
Vous ne devez pas ajouter ces lignes si la redirection du BIOS est activée
* Dernier redémarrage