标签为 IPMI 的文章

启用服务器的远程IPMI Console功能

参考资料:
http://www.thomas-krenn.com/en/wiki/Configuring_IPMI_under_Linux_using_ipmitool

背景介绍:
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@idc1-server1 ~]# yum install OpenIPMI ipmitool
[root@idc1-server1 ~]# /etc/init.d/ipmi start
[root@idc1-server1 ~]# lsmod | grep ipmi_devintf || insmod /lib/modules/`uname -r`/kernel/drivers/char/ipmi/ipmi_devintf.ko
[root@idc1-server1 ~]# /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 login:

在这个界面上,就可以登陆并操作本地终端了,我们通常在无法通过SSH登陆服务器时使用。

7. 厂商通常还提供了一套Web界面来支持IPMI的相关操作,登陆URL为http://idc1-server1-remote。
如下图所示的SuperMicro:
ipmi_web_01
ipmi_web_02

8. 通过本机的ipmitool命令还可以对IPMI模块的IP等进行一些配置,如下:
8.1 修改IPMI模块IP:
[root@idc1-admin1 ~]# ipmitool lan set 1 ipsrc static
[root@idc1-admin1 ~]# ipmitool lan set 1 ipaddr 10.100.1.123

Setting LAN IP Address to 10.100.1.123

[root@idc1-admin1 ~]# ipmitool lan set 1 netmask 255.255.255.0

Setting LAN Subnet Mask to 255.255.255.0

[root@idc1-admin1 ~]# ipmitool lan set 1 defgw ipaddr 10.100.1.1

Setting LAN Default Gateway IP to 10.100.1.1

[root@idc1-admin1 ~]# ipmitool lan set 1 defgw macaddr 00:0e:0c:aa:8e:13

Setting LAN Default Gateway MAC to 00:0e:0c:aa:8e:13

[root@idc1-admin1 ~]# ipmitool lan set 1 arp respond on

Enabling BMC-generated ARP responses

[root@idc1-admin1 ~]# ipmitool lan set 1 auth ADMIN MD5
[root@idc1-admin1 ~]# ipmitool lan set 1 access on

8.2 显示IPMI模块网络配置:
[root@idc1-admin1 ~]# ipmitool lan print 1

Set in Progress         : Set Complete
Auth Type Support       : NONE MD5 PASSWORD 
Auth Type Enable        : Callback : 
                        : User     : 
                        : Operator : 
                        : Admin    : MD5 
                        : OEM      : 
IP Address Source       : Static Address
IP Address              : 10.100.1.123
Subnet Mask             : 255.255.255.0
MAC Address             : 00:0e:0c:ea:92:a2
SNMP Community String   : 
IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl   : 2.0 seconds
Default Gateway IP      : 10.100.1.1
Default Gateway MAC     : 00:0e:0c:aa:8e:13
Backup Gateway IP       : 0.0.0.0
Backup Gateway MAC      : 00:00:00:00:00:00
RMCP+ Cipher Suites     : None
Cipher Suite Priv Max   : XXXXXXXXXXXXXXX
                        :     X=Cipher Suite Unused
                        :     c=CALLBACK
                        :     u=USER
                        :     o=OPERATOR
                        :     a=ADMIN
                        :     O=OEM

8.3 配置IPMI模块管理用户:
[root@idc1-admin1 ~]# ipmitool user set name 2 ADMIN
[root@idc1-admin1 ~]# ipmitool user set password 2

Password for user 2: 
Password for user 2: 

[root@idc1-admin1 ~]# ipmitool channel setaccess 1 2 link=on ipmi=on callin=on privilege=4
[root@idc1-admin1 ~]# ipmitool user enable 2

8.4 重启IPMI模块:
[root@idc1-admin1 ~]# ipmitool mc reset cold

9. IPMI还提供了丰富的功能可用于对硬件进行监控,如风扇转速,硬盘等,以后我会对这方面的内容再进行一些总结。

No Comments