IPMI是智能型平台管理接口(Intelligent Platform Management Interface)的缩写,是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种工业标准,该标准由Intel,HP,DELL和SuperMicro等公司制定。用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。
在我们生产环境的物理服务器中,绝大部分都采用了DELL与SuperMicro,都选购了 “DRAC 远程控制卡” 来支持IPMI,并分配了特定的网络段IP给每台服务器。这样,平时我们远程修改BIOS启动项,重启服务器,连接本地终端等操作就都可以通过IPMI来实现了。
以下,是我们生产环境中的实际应用场景:
环境介绍:
机器类型:DELL/SuperMicro
IPMI支持:已安装 “DRAC 远程控制卡” 并已通过BIOS配置好IP地址
机器列表:
管理机 idc1-admin1
服务器 idc1-server1, DRAC远程地址 idc1-server1-remote
OS: CentOS 6.6 x86_64 Minimal
具体配置:
1. 配置管理主机idc1-admin1
[root@idc1-admin1 ~]# yum install OpenIPMI ipmitool
[root@idc1-admin1 ~]# /etc/init.d/ipmi start
[root@idc1-admin1 ~]# lsmod | grep ipmi_devintf || insmod /lib/modules/`uname -r`/kernel/drivers/char/ipmi/ipmi_devintf.ko
[root@idc1-admin1 ~]# /etc/init.d/ipmi restart
2. IPMI功能 之 远程修改BIOS启动项为网络启动
[root@idc1-admin1 ~]# ipmitool -I lanplus -H idc1-server1-remote -U ADMIN -P ADMIN chassis bootdev pxe
Set Boot Device to pxe
3. IPMI功能 之 远程重启服务器
[root@idc1-admin1 ~]# ipmitool -I lanplus -H idc1-server1-remote -U ADMIN -P ADMIN power reset
Chassis Power Control: Reset
[root@idc1-admin1 ~]# ipmitool -I lanplus -H idc1-server1-remote -U ADMIN -P ADMIN power status
Chassis Power is on
4. 通过Cobbler网络自动好安装服务器idc1-server1
5. 登陆刚刚安装完成的服务器idc1-server1,启用IPMI Console支持
5.1. 安装所需软件
[root@aikaiyuan ~]# yum install OpenIPMI ipmitool [root@aikaiyuan ~]# /etc/init.d/ipmi start [root@aikaiyuan ~]# lsmod | grep ipmi_devintf || insmod /lib/modules/`uname -r`/kernel/drivers/char/ipmi/ipmi_devintf.ko [root@aikaiyuan ~]# /etc/init.d/ipmi restart
5.2 配置grub启动参数
[root@idc1-server1 ~]# vi /boot/grub/grub.conf
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/mylvm-root # initrd /initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu serial --unit=1 --speed=115200 terminal --timeout=2 console title CentOS (2.6.32-504.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/mylvm-root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=mylvm/root KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM rd_LVM_LV=mylvm/swap rhgb quiet console=tty1 console=ttyS1,115200 initrd /initramfs-2.6.32-504.el6.x86_64.img
注:在上面的配置文件中,新增了以下配置用于支持IPMI Console:
第14行:serial --unit=1 --speed=115200
第15行:terminal --timeout=2 console
第18行末尾:console=tty1 console=ttyS1,115200
5.3. 重启服务器使参数生效
[root@idc1-server1 ~]# reboot
6. 待服务器启动成功后,在管理机上调用IPMI console
[root@idc1-admin1 ~]# ipmitool -I lanplus -H idc1-server1-remote -U ADMIN -P ADMIN sol activate
Use ~~. to exit from console [SOL Session operational. Use ~? for help] CentOS release 6.6 (Final) Kernel 2.6.32-504.el6.x86_64 on an x86_64 idc1-server1-remote login:
在这个界面上,就可以登陆并操作本地终端了,我们通常在无法通过SSH登陆服务器时使用。
7. 厂商通常还提供了一套Web界面来支持IPMI的相关操作,登陆URL为http://idc1-server1-remote。
如下图所示的SuperMicro:
8. IPMI还提供了丰富的功能可用于对硬件进行监控,如风扇转速,硬盘等,以后我会对这方面的内容再进行一些总结
ipmitool基本使用
2012年12月02日
总结如下:
1.查看IPMI版本
ipmitool -V
2.重置ipmi卡ipmitool mc reset cold
3.登录 ipmi consoleipmitool -I lanplus -H IPADDR -U USERNAME -P PASSWORD -e ^ sol activate
4.带外重启机器ipmitool -I lanplus -H IPADDR -U USERNAME -P PASSWORD power reset
5.带外设置下次从pxe启动ipmitool -I lanplus -H IPADDR -U USERNAME -P PASSWORD chassis bootdev pxe
6.清空IPMI SELipmitool sel clear
7获得ipmi的channelfor i in {1..14}; do ipmitool lan print $i 2>/dev/null | grep -q ^Set && echo $i; done
常见问题:
1. 遇到ipmitool去连接服务器的sol时,报错Info: SOL payload already active on another session 怎么办?
可以使用sol deactivate的来强制踢掉其他的session,具体方式:
ipmitool -I lanplus -H IPADDR -U USERNAME -P PASSWORD sol deactivate
PMI中sol的使用