Dans le cadre d’expériences acquises sur le terrain, je vais vous part d’un outil utile à la supervision des Engineered Systems Oracle.
Il s’agit du protocole IPMI qui est implémenté sur les modules ILOM des composants hardware Oracle utilisés pour construire les Exas machines.
Intelligent Platform Management Interface (IPMI) est une interface ouverte standard, conçue pour la gestion des systèmes de serveurs via le réseau.
Il vous permet de surveiller et de contrôler votre plate-forme serveur, ainsi que de récupérer des informations la concernant.
Il prend en charge les rapports d’inventaire, la surveillance du système, la journalisation des événements système, la réception de commandes ou la réception d’alertes suite à des événements.
ILOM est aussi une interface de management, mais elle est propre aux composants Oracle comme DRAC pour Dell, ILO pour HP, …
Chacune de ces interfaces de management possède une interface graphique détaillée, développée par le constructeur, et propose en plus le support du protocole IPMI.
L’avantage d’IPMI est sa caractéristique d’interface standard utilisable quel que soit le fournisseur de matériel hardware.
IPMI est avant tout un protocole, mais des interfaces graphiques ont été développées, comme le rpm freeipmi.x86_64 disponible sous Linux.
Il est ainsi possible de développer des composants logiciels, scripts shell, scripts nrpe pour Nagios. Il existe des plugins Nagios dédiés.
Comme snmp, il peut fonctionner par interrogation ou par réception d’événements :
- Pour l’interrogation, IPMI est plus facile à utiliser dans des scripts.
- Pour la réception d’événements, snmp possède plus d’implémentation de serveurs. Un serveur IPMI existe sur Linux pour recevoir des traps ; il s’agit du rpm ipmievd.
IPMI permet d’envoyer des commandes au serveur très facilement : reboot, arrêt, démarrage, …
IPMI est plus orienté serveur. Snmp possède par contre une dimension plus universelle par la diversité des composants qui l’intègrent.
Oracle VM utilise aussi le protocole IPMI pour pouvoir arrêter et redémarrer les serveurs physiques depuis l’interface graphique.
Nous allons parcourir quelques exemples de commandes par interrogation qui vous permettrons de réaliser des outils de supervision hardware des Engineered Systems.
Loin d’être exhaustives, les commandes suivantes donnent un aperçu des possibilités.
Il est possible de mettre le password dans un fichier avec l’option -f.
1) Paramétrage du protocole IPMI
Pour commencer, il faut que le protocole IPMI soit activé sur votre device. Pour cela, se connecter à l’ILOM du composant et entrer :
set /SP/services/ipmi servicestate=enabled Set 'servicestate' to 'enabled'
2) Supervision des capteurs et des composants internes au système
Tout d’abord, récupération des capteurs supervisés, car IPMI fonctionne avec des éléments qui sont des capteurs. Pour obtenir la liste des sensors, entrer la commande suivante depuis un client Linux :
# ipmitool -I lanplus -U root -P toto -H 10.20.30.40 -v sdr list
Je prends un sensor de type ventilateur, et je recherche les informations concernant son fonctionnement :
# ipmitool -I lanplus -U root -P toto -H 10.20.30.40 sensor get 'FM0/F2/TACH' Locating sensor record... Sensor ID : FM0/F2/TACH (0x8e) Entity ID : 29.12 Sensor Type (Analog) : Fan Sensor Reading : 11800 (+/- 50) RPM Status : ok Lower Non-Recoverable : 1000.000 Lower Critical : 1200.000 Lower Non-Critical : 1400.000 Upper Non-Critical : na Upper Critical : na Upper Non-Recoverable : na Assertions Enabled : lnc- lcr- lnr- Deassertions Enabled : lnc+ lcr+ lnr+
On peut interroger les sensors par catégorie. Pour cela, on récupère la liste des catégories :
# ipmitool -I lanplus -U root -P toto -H 10.20.30.40 -v sdr type list Sensor Types: Temperature Voltage Current Fan Physical Security Platform Security Processor Power Supply Power Unit Cooling Device Other Memory Drive Slot / Bay POST Memory Resize System Firmwares Event Logging Disabled Watchdog System Event Critical Interrupt Button Module / Board Microcontroller Add-in Card Chassis Chip Set Other FRU Cable / Interconnect Terminator System Boot Initiated Boot Error OS Boot OS Critical Stop Slot / Connector System ACPI Power State Watchdog Platform Alert Entity Presence Monitor ASIC LAN Management Subsystem Health Battery Session Audit Version Change FRU State
et on lance une commande IPMI sur une catégorie de sensors en particulier :
# ipmitool -I lanplus -U root -P toto -H 10.20.30.40 -v sdr type Temperature
Plus globalement, il est possible d’obtenir une vision complète du composant :
# ipmitool -I lanplus -U root -P toto -H 10.20.30.40 -v 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
3) Envoi de commandes à l’ILOM du composant
IPMI permet d’envoyer des commandes d’administration du composant à moindre frais.
Demande de démarrage :
# ipmitool -H 10.20.30.40 -v -I lanplus -U root -P toto chassis power on
Demande d’arrêt :
# ipmitool -H 10.20.30.40 -v -I lanplus -U root -P toto chassis power off
4) Lister le log de l’ILOM du composant
# ipmitool -I lanplus -U root -P toto -H 10.20.30.40 -v sel list SEL Record ID : 0001 Record Type : 02 Timestamp : 04/10/2015 17:22:22 Generator ID : 0020 EvM Revision : 04 Sensor Type : Power Supply Sensor Number : d2 Event Type : Sensor-specific Discrete Event Direction : Assertion Event Event Data : 03ffff Description : Power Supply AC lost
5) Lister les informations logicielles et matérielles du composant
# ipmitool -I lanplus -U root -P toto -H 10.20.30.40 -v fru print FRU Device Description : Builtin FRU Device (ID 0) Chassis Type : Rack Mount Chassis Chassis Part Number : PILOT3 Product Manufacturer : Oracle Corporation Product Name : ILOM Product Version : 3.2.7.26.a FRU Device Description : SYS (ID 3) Chassis Type : Rack Mount Chassis Product Manufacturer : Oracle Corporation Product Name : ORACLE SERVER X5-2 Product Part Number : 79998760 Product Serial : 1813AZ019V
6) Déclenchement d’un événement sur un sensor à des fins de test
Voici, pour finir, un exemple de commande permettant de simuler une panne sur un ventialteur pour valider votre script de supervision :
# ipmitool -I lanplus -U root -P toto -H 10.20.30.40 event 'FM0/F2/TACH' ucr assert