使用IPMI管理Linux服务器

IPMI服务器管理
本文介绍IPMI(Intelligent Platform Management Interface)标准,用户可通过IPMI监控服务器的物理特性,如温度、电压等。文章还详细解释了如何使用ipmitool进行本地和远程服务器管理,包括配置网络、控制电源状态及获取系统事件日志。


1、IPMI(Intelligent Platform Management Interface): 即智能平台管理接口是使硬件管理具备“智能化”的新一代通用接口标准。用户可以利用 IPMI 监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应以及机箱入侵等。ipmi最大的优势在于它是独立于CPU BIOS和OS的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服务器的监控。ipmi是一种规范的标准,由美国英特尔、惠普(Hewlett-Packard)、NEC、美国戴尔电脑和SuperMicro等公司制定。新的版本是IPMI2.0(http://www.intel.com/design/servers/ipmi/)。其中最重要的物理部件就是BMC(Baseboard Management Controller),一种嵌入式管理微控制器,它相当于整个平台管理的“大脑”,通过它ipmi可以监控各个传感器的数据并记录各种事件的日志。

新版本的IPMI可以通过串口、Modem以及Lan等远程环境管理服务器系统(包括远程开关机),同时在系统发生错误时能自动发出警告。要对服务器进行IPMI管理,需要被监控的系统具有支持IPMI的硬件设备。如果服务器具有底板管理控制器 (Baseboard Management Controller ,BMC),并且支持IPMI规范,则通过BMC与主机板上的不同传感器通信来监视系统是否有严重事件,并在某些参数超出其预置阈值时发出警报和日志事件。BMC具有以下功能:

(1)通过系统的串行端口进行访问。

(2)故障日志记录和SNMP警报发送。

(3)访问系统事件日志 (System Event Log ,SEL) 和传感器状况。

(4)控制包括开机和关机。

(5)独立于系统电源或工作状态的支持。

(6)用于系统设置、基于文本公用程序和操作系统控制台的文本控制台重定向。

(7)使用LAN访问Red Hat Enterprise Linux串行控制台界面。

2、使用ipmi的先决条件: 想要实现对服务器的ipmi管理,必须在硬件、OS、管理工具等几个方面都满足。

(1)服务器硬件本身提供对ipmi的支持。

(2)目前IBM、HP、Dell和NEC等大多数厂商的服务器都支持IPMI,但并不是所有服务器都支持,所以应该先通过产品手册或在BIOS中确定服务器是否支持ipmi,也就是说服务器在主板上要具有BMC等嵌入式的管理微控制器。

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

3、用IPMI管理工具对服务器进行管理: IPMI可以通过本地和远程两种方式来获取被监控服务器的监测信息,两种方式都需要相关的硬件,但是软件的安装和软件命令使用稍微有所不同。常用的管理工具是ipmitool,在http://ipmitool.sourceforge.net/。Linux下需要先安装OpenIPMI驱动并启动它,在http://sourceforge.net/projects/openipmi/。SourceForge上的ipmitool只支持Linux/Unix系列的OS,不过它有很多针对Windows的移植版本,比如Sun公司的一个版本。在http://www.sun.com/download/上点击Downloads A-Z,找到字母I的分类,可下载支持Windows平台的ipmitool,当前版本为1.8.10.2,集成的ipmi驱动有ism, ms, lan, lanplus, rmcp+lan等,其中ms表示Microsoft的ipmi驱动。注意驱动必须安装在服务器的OS中,管理工具可以安装服务器上(本地管理),或者远程的客户端上(远程管理)。

Linux上启动OpenIPMI驱动模块常用/etc/init.d/ipmi start。启动ipmi驱动后,通过cat /proc/devices | grep ipmidev获得设备号,比如得到的设备号是253,用mknod -m 600 /dev/ipmi0 c 253 0建立文件索引点。然后就可以在本地服务器上运行各种ipmi工具获取相应的服务器信息了。

4、使用ipmitool本地获取信息。

ipmitool本地监控使用命令: ipmitool –I open command,其中-I open表示使用OpenIPMI接口,Windows下则常用-I ms。command有以下项:

a) raw:发送一个原始的IPMI请求,并且打印回复信息。

b) Lan:配置网络(lan)信道(channel)

c) chassis :查看底盘的状态和设置电源

d) event:向BMC发送一个已经定义的事件(event),可用于测试配置的SNMP是否成功

e) mc:查看MC(Management Contollor)状态和各种允许的项

f) sdr:打印传感器仓库中的所有监控项和从传感器读取到的值。

g) Sensor:打印详细的传感器信息。

h) Fru:打印内建的Field Replaceable Unit (FRU)信息

i) Sel:打印 System Event Log (SEL)

j) Pef:设置 Platform Event Filtering (PEF),事件过滤平台用于在监控系统发现有event时候,用PEF中的策略进行事件过滤,然后看是否需要报警。

k) Sol/isol:用于配置通过串口的Lan进行监控

l) User:设置BMC中用户的信息 。

m) Channel:设置Management Controller信道。

ipmitool –I open sensor list命令可以获取传感器中的各种监测值和该值的监测阈值,包括(CPU温度,电压,风扇转速,电源调制模块温度,电源电压等信息)

ipmitool –I open sensor get “CPU0Temp”可以获取ID为CPU0Temp监测值,CPU0Temp是sensor的ID,服务器不同,ID表示也不同。

ipmitool –I open sensor thresh 设置ID值等于id的监测项的各种限制值。

ipmitool –I open chassis status查看底盘状态,其中包括了底盘电源信息,底盘工作状态等

ipmitool –I open chassis restart_cause查看上次系统重启的原因

ipmitool –I open chassis  policy list 查看支持的底盘电源相关策略。

ipmitool –I open chassis power on启动底盘,用此命令可以远程开机

ipmitool –I open chassis power off关闭底盘,用此命令可以远程开机

ipmitool –I open chassis power reset实现硬重启,用此命令可以远程开机

ipmi还可以设置系统启动boot的设备,具体见ipmitool帮助文档。

ipmitool –I open mc reset 使BMC重新硬启动

ipmitool –I open mc info 查看BMC硬件信息

ipmitool –I open mc getenables 列出BMC所有允许的选项

ipmitool –I open mc setenables

ipmitool-I open event 1 发送一个温度过高的消息到System Event Log中,可以发送的Event有:

(1) Temperature: Upper Critical: Going High

(2) Voltage Threshold: Lower Critical: Going Low

(3) Memory: Correctable ECC Error Detected

ipmitool-I open event命令可以用测试配置的IPMI中的snmp功能是否成功。

ipmitool -I open lan print 1 打印现咱channel 1的信息 。

ipmitool -I open lan set 1 ipaddr 10.10.113.95设置channel 1 的地址为10.10.113.95

ipmitool -I open lan set 1 snmp public设置channel 1 上snmp的community为public。

ipmitool -I open lan set 1 access on设置channel 1允许访问。

ipmitool -I open pef info打印Platform Event Filtering (pef)信息

ipmitool -I open pef status查看Platform Event Filtering (pef)状态

ipmitool -I open pef policy查看Platform Event Filtering (pef)策略设置

ipmitool -I open sdr list fru 读取fru信息并显示。

备注:PEF由BMC厂商的FIRMWARE设置,ipmitool(V1.8.8)不能进行设置。

5、使用ipmitool获取远程服务器信息。

ipmitool命令需要通过相应的interface来访问BMC,在本地获取信息时候采用的是-I open,即为OpenIPMI接口,IPMItool命令包含的接口有open、lan、lanplus。其中open是指的是OpenIPMI与BMC通信,lan是通过Ethernet LAN网用IPV4的udp协议与BMC通信。UDP的数据段包含了IPMI request/resoponse消息,消息具有一个IPMI session头和RMCP头。IPMI使用Remote Management Control Protocol (RMCP) 版本1支持操作系统关闭(pre-OS和OS-absent),RMCP把把数据发送到UDP的623端口。像lan接口一样,lanplus同样使用Ethernet LAN的UDP协议与BMC通信,但是lanplus使用rmcp+协议(在IPMIV2.0中描述)来通信,RMCP+允许使用改经的认证方式和数据完整性检查。Open端口用于本地监控系统使用的;lan/lanplus通过网络进行远程监控。

远程获取服务器监控信息时,需要加上远程服务器的地址。使用以下的命令格式:

ipmitool -H 10.6.77.249 -U root -P changeme -I lan command。

其中-H表示后面跟的是服务器的地址,-U表示后面跟着用户名,-P表示后面跟着用户密码,command与本地获取信息相同。

### 配置 Zabbix 使用 IPMI 监控 Linux 服务器 #### 准备工作 为了使 Zabbix 能够通过 IPMI 协议监控 Linux 服务器,需要确保目标服务器已启用 IPMI 功能,并且能够正常响应来自 Zabbix 的请求。以下是具体配置方法: --- #### 1. 确认硬件支持 IPMI 并启用功能 大多数现代服务器都内置了 IPMI 支持。确认 BIOS/UEFI 设置中启用了 IPMI 或 BMC(Baseboard Management Controller)。如果不确定是否支持 IPMI,可以运行以下命令测试: ```bash ipmitool bmc info ``` 该命令会返回有关 BMC 的基本信息,如果没有安装 `ipmitool` 工具,则需先安装它。 对于基于 Red Hat/CentOS 的系统: ```bash yum install ipmitool -y ``` 对于基于 Debian/Ubuntu 的系统: ```bash apt-get update && apt-get install ipmitool -y ``` --- #### 2. 配置 Zabbix Server 支持 IPMI Zabbix 默认支持 IPMI 数据收集,但在实际使用之前需要完成一些必要的配置。 ##### (a) 修改 Zabbix Server 配置文件 编辑 `/etc/zabbix/zabbix_server.conf` 文件,找到并修改以下参数以允许 IPMI 请求超时调整: ```ini StartIPMIServers=3 # 启动的 IPMI 处理线程数,默认为 0 表示禁用。 IPMIInterval=5s # IPMI 数据轮询间隔时间。 Timeout=4 # 增加超时时间以便适应慢速网络环境。 ``` 保存更改后重启 Zabbix Server 服务以应用新设置: ```bash systemctl restart zabbix-server ``` ##### (b) 创建 IPMI 用户名密码组合 登录到目标服务器上的 BMC 控制台,创建一个新的用户名和密码用于 Zabbix 访问。通常可通过 Web 接口或者 CLI 实现此操作。例如,在某些 Dell PowerEdge 设备上可执行如下命令添加用户: ```bash racadm user add zabbix_user password123! 3 ``` 这里,“zabbix_user” 是新增用户的名称,“password123!” 是其对应的密码,“3” 则表示权限等级(管理员级)[^1]。 --- #### 3. 在 Zabbix 中添加主机并启用 IPMI 进入 Zabbix Web 界面完成后续步骤。 ##### (a) 添加新主机 导航至 **Configuration -> Hosts** 页面点击右上方按钮新建一条记录。填写必要字段如可见名字、群组归属等之后切换到“Interfaces”标签页指定连接地址形式应选作 “Other”,端口号保持默认即可。 ##### (b) 开启 IPMI 支持 转到刚建立好的节点详情页面下的“IPMI”选项卡勾选状态开关激活之同时输入先前设定过的认证凭证信息即用户名与密钥串匹配上述例子中的内容[zabbix_user/password123!]。 ##### (c) 应用模板关联项目 最后一步便是挑选合适的模版链接起来从而继承一系列预定义的关键性能指标测量方案比如温度读取器数值变化趋势图绘制等功能特性均已被封装好只需一键绑定就行啦! --- #### 4. 测试与验证 等待几分钟让初始同步过程结束以后就可以看到相关联的数据点开始更新显示出来啦!要是遇到什么异常状况不妨试着重新检查一遍前面各个阶段有没有遗漏之处哦~ --- ### 注意事项 - 如果防火墙处于活动状态,请记得开放相应的端口(通常是 623/tcp 对于标准 IPMI v1.5 连接模式下适用情况而言)给外部访问许可权限授予才行哟~ - 不同厂商生产的主板可能具备各自独特的固件版本差异所以最好参照对应手册文档来获取最精确详尽的操作指导建议哈😊 --- 问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值