{{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