IPMItool使用

BMC与IPMI

**BMC(Baseboard Management Controller ,基板管理控制器)**通常是一个安装在服务器主板上的独立板卡,其不依赖于服务器的处理器、BIOS或操作系统来工作,可谓非常地独立,是一个单独在系统内运行的无代理管理子系统。
BMC与主板上的不同传感器通信来监视系统是否有严重事件,并在某些参数超出其预置阈值时发出警报和日志事件。所有的IPMI功能都是向BMC发送命令(IPMI规范中规定的指令)来完成的,BMC接收并在系统事件日志中记录事件消息,维护描述系统中传感器情况的传感器数据记录。
BMC 具有以下功能:

  • 通过系统的串行端口进行访问
  • 故障日志记录和 SNMP 警报发送
  • 访问系统事件日志和传感器状况
  • 远程开、关机
  • 独立于系统电源或工作状态的支持
  • 用于系统设置、基于文本公用程序和操作系统控制台的文本控制台重定向
    一般我们的电脑不会自带BMC,因为用处不大,一些温度、电源等的管理,通过CPU来控制就够了。但是对于系统要求高的设备,比如服务器,就会用到BMC。
    **IPMI(Intelligent Platform Management Interface,智能平台管理接口)**是一项应用于服务器带外管理系统设计的标准,通过特有的硬件设备而不是操作系统网络连接来对服务器进行电源的手段。IPMI能够横跨不同的操作系统、固件和硬件平台,可以智能的监视、控制和上报服务器的运作状况(e.g. 远程开启、关闭电源)以及健康特征(e.g. 温度、电压、风扇工作状态、电源状态等)。IPMI良好的自治特性克服了以往基于操作系统的管理方式所受的限制,实现了在操作系统不响应或未加载的情况下仍然可以对其进行开关机、信息提取等操作。OpenStack Ironic正是利用此技术可以远程的对裸机进行上下电或者其他操作,而不是依赖物理开关或者操作系统。
    IPMI的核心是 BMC。当需要对系统文本控制台进行远程访问时,IPMI的SOL(Serial Over LAN,LAN上串口)功能非常关键。SOL通过将IPMI会话重定向到本地串行接口,允许远程访问Windows的紧急事件管理控制台(EMS)特殊管理控制台(SAC)或访问Linux的串行控制台。BMC通过在LAN上重定向串行端口的信息来做到这点,从而提供了一种与服务器厂商无关的远程查看OS BootLoader或紧急管理控制台来诊断和维修故障的标准方式,IPMI甚至允许在操作系统引导阶段配置各种组件。
    在这里插入图片描述

安装

需要python环境

yum -y install ipmitool
which python
cd /usr/bin
ln -s /usr/bin/python2.6 python -f

报错“Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory”,说明ipmitool没有加载到内核中,用下面命令操作

modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si

下载地址:
https://pkgs.org/download/ipmitool

用户管理

查看 IPMI 用户列表,channel通道号为1

ipmitool user list 1

创建用户

ipmitool user set name 3 admin

设置密码,3表示用户id

ipmitool user set password 3 xxxxxxx

设置权限等级,3表示用户id,4表示用户权限(4为管理员,2为普通用户),1表示通道号

ipmitool user priv 3 4 1
ipmitool channel setaccess 1 3 privilege=4

IPv4配置

配置IP地址

ipmitool lan set 1 ipaddr xx.xx.xx.xx

配置子网掩码

ipmitool lan set 1 netmask xx.xx.xx.xx

配置默认网关

ipmitool lan set 1 defgw ipaddr xx.xx.xx.xx

查看网络配置

ipmitool lan print 1

当无法访问Mgmt网络时,可重启Mgmt网络服务

ipmitool bmc reset cold

IPv6配置

通过命令行配置IPv6 IP地址时,需已安装ipmitool 1.8.14及以上的版本
设置IPV4和IPV6共存

ipmitool raw 0x0c 0x01 0x01 0x33 0x02

如果只配置IPv6地址时,命令如下:

ipmitool raw 0x0c 0x01 0x01 0x33 0x01。

开启手动配置IPv6

ipmitool raw 0x0c 0x01 0x01 0xd0 0xdb 0x07 0x00 0x01

下面以fec0::218:82ff:fe09:6311/64为例进行说明:
配置IPv6地址
其中0x11 0x63 0x09 0xfe 0xff 0x82 0x18 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0xc0 0xfe表示IPv6 IP地址fec0::218:82ff:fe09:6311,将IPv6地址的每个8位从后至前重写得到,即fe09:6311为0x11 0x63 0x09 0xfe

ipmitool raw 0x0c 0x01 0x01 0xcc 0xdb 0x07 0x00 0x11 0x63 0x09 0xfe 0xff 0x82 0x18 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0xc0 0xfe 

配置IPv6地址的前缀
其中最后的0x40为十六进制,表示十进制的64

ipmitool raw 0x0c 0x01 0x01 0xcd 0xdb 0x07 0x00 0x40

设置网关
其中0x01 0x00 0x09 0xfe 0xff 0x82 0x18 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0xc0 0xfe表示网关fec0::218:82ff:fe09:1

ipmitool raw 0x0c 0x01 0x01 0xce 0xdb 0x07 0x00 0x01 0x00 0x09 0xfe 0xff 0x82 0x18 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0xc0 0xfe

查询IPv6地址,返回的第5个字节开始表示IP地址

ipmitool raw 0x0c 0x02 0x01 0xcc 0x00 0x00
Euler:~# ipmitool raw 0x0c 0x02 0x01 0xcc 0x00 0x00
l1 db 07 00 11 63 09 fe ff 82 18 02 00 00 00 00 00 00 c0 fe 

查询IPv6前缀,返回的第5个字节表示前缀

ipmitool raw 0x0c 0x02 0x01 0xcd 0x00 0x00
Euler:~# ipmitool raw 0x0c 0x02 0x01 0xcd 0x00 0x00
l1 db 07 00 40

查询IPv6网关,返回的第5个字节开始表示网关

ipmitool raw 0x0c 0x02 0x01 0xce 0x00 0x00
Euler:~# ipmitool raw 0x0c 0x02 0x01 0xce 0x00 0x00
l1 db 07 00 01 00 09 fe ff 82 18 02 00 00 00 00 00 00 c0 fe

如果想清除IPv6的配置时,可设置系统为只启用IPv4,以上IPv6 IP地址的相关配置将会清除

ipmitool raw 0x0c 0x01 0x01 0x33 0x00

IPMI消息说明

IPMI消息格式

字段说明
网络功能(NetFn)用于标识消息的功能类的字段。网络功能将IPMI命令分组为不同的集合。
请求/响应标识符用于区分请求消息和响应消息的字段。在 IPMB 协议中,此标识符与NetFn 代码合并在一起,其中偶数网络功能代码标识请求消息,奇数网络功能代码标识响应消息。
请求程序的ID标识请求源的信息。此信息必须完整,才能使响应返回给正确的请求源。例如,IPMB 请求程序ID包含请求程序设备的从属地址和LUN。对于多数据流系统接口,请求程序ID是通过其发出请求数据流的数据流ID。
响应程序的ID标识请求的响应程序的字段。在请求消息中,此字段用于将请求传递到所需的响应程序;在响应消息中,此字段用于协助请求程序将响应与给定的请求相配。
命令在本文档中指定的消息包含 1 字节命令字段。命令在给定的网络功能中是唯一的。命令值范围可从00h到FDh。代码FEh保留用于规范的未来扩展,代码FFh保留用于未来接口中报告的消息接口级别错误。
数据数据字段包含请求或响应的其他参数(如果有)。

NetFn分配

值(十六进制)名称说明
00,01机箱用于普通的机箱功能命令字,如上/下电
02,03桥接用于桥接消息,当本设备作为桥接设备时才会用到
04,05传感器/事件用于传感器和事件消息
06,07应用消息用于应用消息,具体内容与执行的命令对象相关
08,09固件Firmware相关消息,比如在线升级
0A,0B存储用于访问非易失存储器的消息,比如EEPROM
0C,0D传输用于访问接口的消息,比如配置Serial或LAN接口的属性
2C,2D组扩展该命令字用于其它协议通信,其中数据位的第一字节标明协议的类型
2E,2FOEM扩展用于IANA命令,数据的前三个字节必须为IANA Enterprise Number
30-3F生产厂家自定义用于生产厂家自定义命令

参考:
https://bbs.huaweicloud.com/blogs/291849
https://www.h3c.com/cn/Service/Document_Software/Document_Center/Home/Public/00-Public/Learn_Technologies/White_Paper/H3C_HDM_IPMI_WP-233/?CHID=623573#:~:text=%E5%9C%A8IPMI%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0%E4%B8%AD%EF%BC%8CBMC%EF%BC%88Baseboard,Management%20Controller%EF%BC%8C%E5%9F%BA%E6%9D%BF%E7%AE%A1%E7%90%86%E6%8E%A7%E5%88%B6%E5%99%A8%EF%BC%89%E6%98%AF%E6%A0%B8%E5%BF%83%E6%8E%A7%E5%88%B6%E5%99%A8%EF%BC%8C%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E8%BD%AF%E4%BB%B6%E5%AF%B9%E5%90%84%E4%B8%AA%E5%99%A8%E4%BB%B6%E7%9A%84%E7%AE%A1%E7%90%86%E9%83%BD%E6%98%AF%E9%80%9A%E8%BF%87%E4%B8%8EBMC%E9%80%9A%E4%BF%A1%E6%9D%A5%E5%AE%9E%E7%8E%B0%E7%9A%84%E3%80%82

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这啥名啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值