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
    • 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
sysadmin/tips/ipmi.txt · Dernière modification: 2017/10/23 19:07 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0