如果服务器crash了或者就hang住了,我们不必要跑到机房去按电源键的,因为我们也想“运筹帷幄之中,决胜千里之外”嘛。我们可以用IPMI,它可以让我们远程用一条命令开启(关闭、重启)一台服务器,也可以检查服务器的状态。

IPMI简介:from wikipedia

The Intelligent Platform Management Interface (IPMI) is a standardized computer system interface used by system administrators to manage a computer system and monitor its operation.

The development of this interface specification was led by Intel Corporation and is supported by more than two hundred computer systems vendors.[1]. Dell, Hewlett-Packard, Intel, and NEC Corporation announced IPMI v1.0 on 1998-09-16, v1.5 on 2001-03-01, and v2.0 on 2004-02-14.

The baseboard management controller (BMC) is the intelligence in the IPMI architecture. It is a specialized microcontroller embedded on the motherboard of a computer, generally a server. The BMC manages the interface between system management software and platform hardware.

Different types of sensors built into the computer system report to the BMC on parameters such as temperature, cooling fan speeds, power status, operating system (OS) status, etc.

服务器端IPMI的配置:

我目前测试SNB-EP平台的机器,可以直接在BIOS中设置IPMI即可,都不必到OS中去进行设置了. (尽量将第一个网络接口插上网线,有人说是通过第一个网口来控制的,这个我不确定。)

开启服务器,按F2进入BIOS,选择:Server Management à BMC LAN Configuration  激活IPMI。

可以IP地址,比如改为192.168.111.111,子网掩码:255.255.0.0  (当然也可以设置为dynamic动态获取IP)。

在下面User configuration设置中Enable一些user,将有管理权限的用户enable起来,也可以设置管理密码、修改用户名等工作。

设置好后,就reboot系统,在局域网中另外的系统上ping一下刚才设置的IP 192.168.111.111,看看通不通,如果ping不通,可以试试去将server的电源线拔掉,并按开机安按钮让其放电,然后再重新插上电源线,开机。(我就遇到这样的问题)

对于不能再BIOS中直接enable BMC user的机器,可以先将BMC的IP什么的设好(这时在子网中应该能ping通BMC的IP了),然后到linux操作系统中进行一些额外的设置。

load impi drivers:

modprobe ipmi_msghandler

modprobe ipmi_devintf

modprobe ipmi_si

install ipmitool: maybe use rpm package to install
ipmitool lan print 1   # to find the LAN channel
configure IP address setting:

dynamic:  ipmitool lan set 1 ipsrc dhcp

static :

  # ipmitool lan set 1 ipaddr 192.168.111.111

  # ipmitool lan set 1 netmask 255.255.0.0

      # ipmitool lan set 1 defgw ipaddr 192.168.0.1

Establish an administration account with username and password.

Set BMC to require password authentication for ADMIN access over LAN. For example:

     # ipmitool lan set 1 auth ADMIN MD5,PASSWORD

List the account slots on the BMC and identify an unused slot:

     # ipmitool channel getaccess 1

Assign the administrator user name and password and enable messaging for the identified slot.

 # ipmitool user set name 4 myuser

 # ipmitool user set password 4 mypassword

 # ipmitool user enable 4

     # ipmitool channel setaccess 1 4 callin=off ipmi=on link=on privilege=4

Verify the setup after you complete configuration using the command ipmitool lan print.

# ipmitool lan print 1

# ipmitool channel getaccess 1 4

在客户端的IPMI远程操作:

在远程操作的机器上也需要安装impitool,然后通过一些命令来操作被控制的机器。

# ipmitool -H yourIP -U myuser -P mypassword power status  (查看服务器的电源状态)

# ipmitool -H yourIP -U myuser -P mypassword power reset   (关闭电源并重启机器)

# ipmitool -H yourIP -U myuser -P mypassword power on   (开电源启动机器)

# ipmitool -H yourIP -U myuser -P mypassword power on   (关闭电源)

# ipmitool -H 192.168.12.84 -I lanplus -U test -P 123456 sdr type Temperature (服务器温度)

其他更多功能,可以man ipmitool

一些参考资料:

http://wiki.adamsweet.org/doku.php?id=ipmi_on_linux

http://www.6curl.com/ipmi-config-error/

http://www.ibm.com/developerworks/cn/linux/l-ipmi/index.html

http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaai%2Fipmi%2Fliaaiipmipassword.htm