IPMI is an extensible standard that defines how to monitor hardware and sensors, control system components, and record critical events as IPMI technology is used in servers, leveraging the many advantages of IPMI as an integral part of server management, especially in cluster management. This paper first introduces some basic concepts of IPMI, and then gives the steps and methods to implement IPMI management in Linux system by using Ipmitool tool.
1. Brief introduction
IPMI (Intelligent Platform Management Interface), the Intelligent Platform management interface, is the next-generation common interface standard that makes hardware management "intelligent". IPMI monitors the physical characteristics of the server, such as temperature, voltage, fan operating status, power supply, and chassis intrusion. The biggest advantage of IPMI is that it is independent of the CPU BIOS and OS, so the user can monitor the server as soon as it is powered on or off. IPMI is a standard, the most important physical part of which is the BMC (baseboard Management Controller 1), an embedded management microcontroller, which corresponds to the entire platform-managed "brain", through which IPMI You can monitor data for individual sensors and log logs of various events.
Figure 1
650) this.width=650; "alt=" Figure 1 "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image001.jpg "width=" 690 "Style=" margin:0px;padding:0px;border:0px;font-size:13px;vertical-align:baseline;font-family:arial, Sans-serif;line-height:15.359999656677246px;white-space:normal;background-color:rgb (255,255,255); "/>
Ipmitool is an IPMI platform management tool that can be used as a command line in a Linux system that supports the IPMI 1.5 specification (the latest specification is IPMI 2.0), which enables the acquisition of sensor information, the display of system log content, and network remote switching machines. There are two ways to use Ipmitool (table 1)
Table 1
650) this.width=650; "alt=" Table 1 "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image002.jpg "width=" 491 "style=" margin:0px;padding:0px;border:0px;font-size:13px;vertical-align:baseline;font-family:arial, Sans-serif;line-height:15.359999656677246px;white-space:normal;background-color:rgb (255,255,255); "/>
2. Prerequisites for using IPMI
To achieve IPMI management of the server, you must meet the following aspects: hardware, OS, management tools, etc.
2.1 The server hardware itself provides support for IPMI
Currently, most vendors such as HP, Dell, and NEC support IPMI 1.5, but not all servers are supported, so you should first determine whether the server supports IPMI through the product manual or in the BIOS, which means that the server has embedded management microcontrollers such as the BMC on the motherboard.
2.2 Operating system provides the appropriate IPMI driver
The system kernel provides support for monitoring the IPMI information of the server itself through the operating system, and the Linux system provides an IPMI-based system interface through kernel-to-OPENIPMI (IPMI driver) support.
2.3 IPMI Management Tools
This article selects the IPMI Platform Administration tool Ipmitool under Linux for command line mode.
3. Implementing IPMI Management for Linux servers
There are two ways to implement IPMI management of a server with Ipmitool: ① monitors the local server through the OS, and ② monitors the remote server over the network. In this paper, we give an example of using IPMI to obtain CPU temperature and remote control power supply for the two kinds of monitoring methods respectively.
3.1 Implementing the management of the local server 3.1.1 system structure (2) Figure 2
650) this.width=650; "alt=" Figure 2 "src=" Http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image003.jpg "width=" 378 "style=" margin:0px;padding:0px;border:0px;font-size:13px;vertical-align:baseline;font-family:arial, Sans-serif;line-height:15.359999656677246px;white-space:normal;background-color:rgb (255,255,255); "/>
Features (e.g. Table 2)
Table 2
650) this.width=650; "alt=" Table 2 "src=" Http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image004.jpg "width=" 491 "style=" margin:0px;padding:0px;border:0px;font-size:13px;vertical-align:baseline;font-family:arial, Sans-serif;line-height:15.359999656677246px;white-space:normal;background-color:rgb (255,255,255); "/>
3.1.2 Configuring the local operating system to support IPMI
The OS Redhat 9.0 used in this article already provides support for IPMI in the kernel, just complete the following steps:
① loading of IPMI-enabled system modules
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image005.jpg "width=" 453 " Style= "margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>
Note: The module must be loaded before the kernel can identify the Ipmidev device in the ②
② Create a character device node so that Ipmitool can access the IPMI system interface through the driver
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image006.jpg "width=" 453 " Style= "Margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>3.1.3 install Ipmitool, get CPU Temperature information
① execute the following command sequentially to install the Ipmitool
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image007.jpg "width=" 453 " Style= "margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>
② getting CPU temperature with ipmitool command
650) this.width=650; "src=" Http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image008.jpg "width=" 476 " Style= "Margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>3.2 implement management of remote servers 3.2.1 System structure (3) Figure 3
650) this.width=650; "alt=" Figure 3 "src=" Http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image009.jpg "width=" 378 "style=" margin:0px;padding:0px;border:0px;font-size:13px;vertical-align:baseline;font-family:arial, Sans-serif;line-height:15.359999656677246px;white-space:normal;background-color:rgb (255,255,255); "/>
Features (e.g. Table 3)
Table 3
650) this.width=650; "alt=" Table 3 "src=" Http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image010.jpg "width=" 491 "style=" margin:0px;padding:0px;border:0px;font-size:13px;vertical-align:baseline;font-family:arial, Sans-serif;line-height:15.359999656677246px;white-space:normal;background-color:rgb (255,255,255); "/>
3.2.2 The IP address to the BMC chip on the monitored server side
The remote monitoring of IPMI is achieved by sending UDP packets to the network interface (1:②) connected to the BMC, where the UDP packet is positioned by writing the IP address to the BMC chip, which needs to be done through the local IPMI system interface. Implement the local IPMI system interface and install the Ipmitool management tool on the server side first through the steps of 3.1.2 and section 3.1.3.
Configure the IPMI network Interface (ipmi-over-lan) of the monitored server with the bmcautoconf.sh script (default installation location/usr/local/bin/) included with ipmitool-1.5.9.tar.gz, and write information such as IP address to BMC, the process is as follows:
① using Ipmitool to determine the server's LAN channel
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image011.jpg "width=" 453 " Style= "margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>
From the results you can see "channel Medium type:802.3 LAN", Channel 7 is LAN channel
Note: The Channel 7 for the Intel SHASTA SPSH4 server is corresponding to the eth0 NIC, so you must select the Eth0 (100M network connection) for IPMI management.
② Modifying the bmcautoconf.sh script based on the identified LAN channel number and network card
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image012.jpg "width=" 453 " Style= "margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>
Note: The above changes are based on the LAN channel identified in ①, the corresponding NIC, and the specific installation location of the Ipmitool.
③ runs bmcautoconf.sh, writes IP and other information to the BMC
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image013.jpg "width=" 453 " Style= "margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>
④ determine the results of bmcautoconf.sh
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image014.jpg "width=" 453 " Style= "margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>
⑤ Setting the network access password
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image015.jpg "width=" 453 " Style= "margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>
Note: After completing the above steps, the IPMI system interface is no longer required on the monitored server, you can uninstall the modules in section 3.1, 2, or even reinstall a new, IPMI-enabled operating system.
3.2.3 Monitors client Installation Ipmitool and remotely operates server power
① execute the following command sequentially to install the Ipmitool
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image016.jpg "width=" 453 " Style= "margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>
② remote control of server power via Ipmitool command
650) this.width=650; "src=" http://www.ibm.com/developerworks/cn/linux/l-ipmi/images/image017.jpg "width=" 453 " Style= "margin:0px;padding:0px;border:0px;font-size:inherit;vertical-align:baseline;"/>
Note: Through the Ipmitool can also monitor the fan, chassis and many other related information, the specific use of the way see Ipmitool manpage
This article is from "learning." "Blog, be sure to keep this provenance http://aixer95.blog.51cto.com/943421/1686736
Using Ipmitool to implement IPMI management of servers in Linux systems