使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理

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

1.简介

IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具有“智能化”的新一代通用接口标准。用户能够利用 IPMI 监视服务器的物理特征,如温度、电压、电扇工做状态、电源供应以及机箱入侵等。Ipmi 最大的优点在于它是独立于 CPU BIOS 和 OS 的,因此用户不管在开机仍是关机的状态下,只要接通电源就能够实现对服务器的监控。Ipmi 是一种规范的标准,其中最重要的物理部件就是BMC(Baseboard Management Controller 如图1),一种嵌入式管理微控制器,它至关于整个平台管理的“大脑”,经过它 ipmi 能够监控各个传感器的数据并记录各类事件的日志。node

图 1
图 1

ipmitool 是一种可用在 linux 系统下的命令行方式的 ipmi 平台管理工具,它支持 ipmi 1.5 规范(最新的规范为 ipmi 2.0),经过它能够实现获取传感器的信息、显示系统日志内容、网络远程开关机等功能。Ipmitool 有两种使用方式(如 表1)linux

表 1
表 1
 

2. 使用 ipmi 的先决条件

想要实现对服务器的 ipmi 管理,必须在硬件、OS、管理工具等几个方面都知足:网络

2.1 服务器硬件自己提供对 ipmi 的支持

目前惠普、戴尔和 NEC 等大多数厂商的服务器都支持 IPMI 1.5,但并非全部服务器都支持,因此应该先经过产品手册或在 BIOS 中肯定服务器是否支持 ipmi,也就是说服务器在主板上要具备 BMC 等嵌入式的管理微控制器。ide

2.2 操做系统提供相应的 ipmi 驱动

经过操做系统监控服务器自身的 ipmi 信息时须要系统内核提供相应的支持,linux 系统经过内核对 OpenIPMI(ipmi 驱动)的支持来提供对 ipmi 的系统接口。工具

2.3 ipmi 管理工具

本文选择的是 Linux 下的命令行方式的 ipmi 平台管理工具 ipmitool操作系统

 

3. 实现对 Linux 服务器的 ipmi 管理

利用 ipmitool 实现对服务器的 ipmi 管理有两种方式:①经过 OS 监控本地服务器;②经过网络监控远程服务器。本文针对这两种监控方式分别给出了利用 ipmi 本地获取 cpu温度和远程控制电源的例子。命令行

3.1 实现对本地服务器的管理

3.1.1 系统结构(如图 2)

图 2
图 2

特色(如表2)

表 2
表 2

3.1.2 配置本地操做系统支持 ipmi

文中采用的 OS Redhat 9.0 在内核中已经提供了对 ipmi 的支持,这里只需完成以下步骤:

① 载入支持 ipmi 功能的系统模块

注意:必须先载入模块,这样内核才能在②中识别 ipmidev 设备

② 建立字符设备 node,使 ipmitool 能够经过驱动程序访问 ipmi 系统接口

3.1.3 安装 ipmitool,获取 cpu 温度信息

①依次执行以下命令,安装 ipmitool

② 经过 ipmitool 命令获取 cpu 温度

3.2 实现对远程服务器的管理

3.2.1 系统结构(如图 3)

图 3
图 3

特色(如表 3)

表 3
表 3

3.2.2 在被监控服务器端,把 ip 地址写入 bmc 芯片中

ipmi 的远程监控是经过向与 bmc 相连的网络接口(如图 1:②)发送 udp 数据包实现的,udp 数据包的定位是经过把 ip 地址写入 bmc 芯片来实现,而这须要经过本地的 ipmi 系统接口来完成连。先经过 3.1.2 与 3.1.3 节的步骤在服务器端实现本地 ipmi 系统接口并安装 ipmitool 管理工具。

经过 ipmitool-1.5.9.tar.gz 附带的 bmcautoconf.sh 脚本(默认安装位置 /usr/local/bin/)配置被监控服务器的 ipmi 网络接口(IPMI-over-LAN),并把 ip 地址等信息写入 bmc 中,过程以下:

①用 ipmitool 肯定服务器的 LAN channel

从结果能够看出“Channel Medium Type : 802.3 LAN”,channel 7 是 LAN channel

注意:Intel SHASTA SPSH4 服务器的 channel 7 是对应 eth0 网卡的,因此网络链接时必须选择 eth0(100M网卡)进行 ipmi 管理。

②根据肯定的 LAN channel 号和网卡修改 bmcautoconf.sh 脚本

注意:上述改动是根据①中肯定的LAN channel、对应的 nic 以及 ipmitool 的具体安装位置进行的。

③运行 bmcautoconf.sh,把 ip 等信息写入 bmc

④肯定 bmcautoconf.sh 的结果

⑤设置网络访问密码

注意:完成了上述步骤后,被监控服务器上就再也不须要 ipmi 系统接口了,能够把 3.1.2 节中的模块卸载,甚至能够重装一个全新的无ipmi 支持的操做系统。

3.2.3 在监控客户端安装 ipmitool,并远程操做服务器电源

①依次执行以下命令,安装 ipmitool

②经过 ipmitool 命令远程控制服务器电源

注意:经过 ipmitool 还能够监控风扇、机箱等众多相关信息,具体的使用方式见 ipmitool manpage

参考资料

相关文章
相关标签/搜索