Ipmitool工具安装以及常见使用方法( Intelligent Platform Management Interface)
参考手册:http://ipmitool.sourceforge.net/manpage.html
https://github.com/ipmitool/ipmitool

最近一直在公司实习,目前用到过一个陌生的物理服务器管理工具,也是主要用于OpenStack的IronicServer组件管理。功能非常强大。操作起来也很方便,注意,ipmi是通过RMCP来实现通信的,需要放tcp/udp的623端口,默认是623 可以通过-p参数显式修改或指定。
下面来逐一介绍ipmitool工具的安装以及常见使用:

一、 IPMITOOL安装方式

1 、 方式一:
IPMI( Intelligent Platform Management Interface)的第一种安装方式是编译安装。
这个是源地址:https://sourceforge.net/projects/ipmitool/

下载完成后,进行安装操作。
1、 tar -xvf ipmitool-1.8.18.tar.bz2
2、 cd ipmitool-1.8.18
3、  ./configure
4、 make
5、make install
6、编译安装之后,要开启三个相关模块,
modprobe ipmi_si(如果是虚拟机的话,该模块可能无法启动)
modprobe ipmi_devintf
modprobe ipmi_msghandler
可以起一下该服务,并查看下模块有没有启动:[root@openstack ~]# lsmod | grep ipmi
ipmi_si                57587  0
ipmi_devintf           17603  0
ipmi_msghandler        46607  2 ipmi_devintf,ipmi_si
[root@openstack ~]# 如果缺少模块,那么ipmitool命令就会出现异常。
2、方法二:
方法二的安装就相对比较容易:
直接使用yum来进行安装操作。

[root@openstack ~]# yum install -y ipmitool.x86_64
Loaded plugins: fastestmirror
……
……
……
Installed:ipmitool.x86_64 0:1.8.18-7.el7                                                                                                                                                            Dependency Installed:OpenIPMI.x86_64 0:2.0.27-1.el7           OpenIPMI-libs.x86_64 0:2.0.27-1.el7           OpenIPMI-modalias.x86_64 0:2.0.27-1.el7           net-snmp-libs.x86_64 1:5.7.2-43.el7_7.3          Complete!可以启动下IPMI服务[root@openstack ~]# systemctl status ipmi
● ipmi.service - IPMI DriverLoaded: loaded (/usr/lib/systemd/system/ipmi.service; enabled; vendor preset: enabled)Active: active (exited) since Fri 2020-02-28 14:30:40 CST; 7s agoProcess: 7748 ExecStart=/usr/libexec/openipmi-helper start (code=exited, status=0/SUCCESS)Main PID: 7748 (code=exited, status=0/SUCCESS)Feb 28 14:30:40 openstack systemd[1]: Starting IPMI Driver...
Feb 28 14:30:40 openstack systemd[1]: Started IPMI Driver.[root@openstack ~]# lsmod | grep ipmi
ipmi_si                57587  0
ipmi_devintf           17603  0
ipmi_msghandler        46608  1 ipmi_devintf,ipmi_si
[root@openstack ~]# 这里再说明一下,如果环境是虚机的话,ipmi_si模块会无法启动,手动加载的话,会提示如下报错。
[root@openstacktest ~]# modprobe ipmi_si
modprobe: ERROR: could not insert 'ipmi_si': No such device
[root@openstacktest ~]# 

二、ipmitool使用方法

1、首先看下丰富的帮助提示
[root@openstack ~]# ipmitool help
Commands:raw           Send a RAW IPMI request and print responsei2c           Send an I2C Master Write-Read command and print responsespd           Print SPD info from remote I2C devicelan           Configure LAN Channelschassis       Get chassis status and set power statepower         Shortcut to chassis power commandsevent         Send pre-defined events to MCmc            Management Controller status and global enablessdr           Print Sensor Data Repository entries and readingssensor        Print detailed sensor informationfru           Print built-in FRU and scan SDR for FRU locatorsgendev        Read/Write Device associated with Generic Device locators sdrsel           Print System Event Log (SEL)pef           Configure Platform Event Filtering (PEF)sol           Configure and connect IPMIv2.0 Serial-over-LANtsol          Configure and connect with Tyan IPMIv1.5 Serial-over-LANisol          Configure IPMIv1.5 Serial-over-LANuser          Configure Management Controller userschannel       Configure Management Controller channelssession       Print session informationdcmi          Data Center Management Interfacenm            Node Manager Interfacesunoem        OEM Commands for Sun serverskontronoem    OEM Commands for Kontron devicespicmg         Run a PICMG/ATCA extended cmdfwum          Update IPMC using Kontron OEM Firmware Update Managerfirewall      Configure Firmware Firewalldelloem       OEM Commands for Dell systemsshell         Launch interactive IPMI shellexec          Run list of commands from fileset           Set runtime variable for shell and exechpm           Update HPM components using PICMG HPM.1 fileekanalyzer    run FRU-Ekeying analyzer using FRU filesime           Update Intel Manageability Engine Firmwarevita          Run a VITA 46.11 extended cmdlan6          Configure IPv6 LAN Channelsa) 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信道。
[root@openstack ~]# 
2、常见的操作命令
  1. 远程电源控制类 远程电源控制类
[root@openstack ~]#   Ipmitool -I lanplus –H 10.32.228.111 –U username –P Password  chassis power off
[root@openstack ~]# Ipmitool -I lanplus –H 10.32.228.111 –U username –P Password  chassis power on
[root@openstack ~]# Ipmitool -I lanplus –H 10.32.228.111 –U username –P Password  chassis power reset
[root@openstack ~]# Ipmitool -I lanplus –H 10.32.228.111 –U username –P Password   chassis power cycle
  1. 读取系统状态类
[root@openstack ~]# Ipmitool sensor list  显示系统所有传感器列表
[root@openstack ~]# Ipmitool fru list   显示系统所有现场可替代器件的列表
[root@openstack ~]# Ipmitool sdr list   显示系统所有SDRRepository设备列表 
[root@openstack ~]# Ipmitool pef list   显示系统平台时间过滤的列表
  1. 系统日志类
[root@openstack ~]# Ipmitool sel elist   显示所有系统事件日志
[root@openstack ~]# Ipmitool sel clear   删除所有系统时间日志
[root@openstack ~]# Ipmitool sel delete ID 删除第ID条SEL
[root@openstack ~]# Ipmitool sel time get  显示当前BMC的时间
[root@openstack ~]# Ipmitool sel time set XXX 设置当前BMC的时间
  1. 启动设置类
[root@openstack ~]# Ipmitool chassis bootdev bios 重启后停在BIOS 菜单
[root@openstack ~]# Ipmitool chassis bootdev pxe 重启后从PXE启动
  1. 系统相关的命令
[root@openstack ~]# Ipmitool mc info 显示BMC版本信息
[root@openstack ~]# Ipmitool bmc reset cold BMC 热启动
[root@openstack ~]# Ipmitool bmc reset warmBMC冷启动
  1. 网络接口相关命令
[root@openstack ~]# Ipmitool lan print 1 显示channel1的网络配置信息
[root@openstack ~]# Ipmitool lan set 1ipaddr 10.32.2.2 设置channel1的IP地址
[root@openstack ~]# Ipmitool lan set 1 netmask 255.255.0.0 设置channel1的netmask
[root@openstack ~]# Ipmitool lan set 4 defgw ipaddr255.255.0.254 设置channel4的网关
[root@openstack ~]# Ipmitool lan set 2 defgw macaddr  设置channel2的网关mac address
[root@openstack ~]# Ipmitool lan set 2 ipsrc dhcp 设置channel2的ip 源在DHCP
[root@openstack ~]# Ipmitool lan set 3 ipsrc static 设置channel2的ip是静态获得的
  1. 通道相关命令
[root@openstack ~]# Ipmitool channel info 显示系统默认channel
[root@openstack ~]# Ipmitool channel authcap channel-number privilege  修改通道的优先级别
[root@openstack ~]# Ipmitool channel getaccess channel-number user-id 读取用户在通道上的权限
[root@openstack ~]# Ipmitool channel setacccess channel-number user-id callin=on ipmi=on link=onprivilege=5 // 设置用户在通道上的权限
  1. 用户管理相关命令
[root@openstack ~]# Ipmitool user list chan-id 显示某通道上的所有用户
[root@openstack ~]# Ipmitool set password [] 修改某用户的密码
[root@openstack ~]# Ipmitool disable   禁止掉某用户
[root@openstack ~]# ipmitool enable   使能某用户
[root@openstack ~]# ipmitool priv [] 修改某用户在某通道上的权限
[root@openstack ~]# ipmitool test <16|20>[<password]> 测试用户
  1. 系统管理常用的
1. 查看设备信息
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin chassis status2. 查看用户
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin user list3. 增加用户
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin user set name 3 test1
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin user list
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin user set password 3 test1
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin user priv 3 20
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin user list
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U test1 -P test1 user list4. disable/enable用户
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin user disable 3
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U test1 -P test1 user list
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin user enable 3
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U test1 -P test1 user list5. 查看服务器当前开电状态
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin power status6. 服务器的开机,关机,reset和power cycle
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin power on
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin power off
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin power cycle
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin power reset7. 查看服务器的80 Port当前状态
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin raw 0x30 0xB28. 查看服务器的传感器状态
所有传感器状态详细信息:
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sensor
传感器SDR summary信息:
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sdr info
传感器SDR 列表信息:
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sdr list
FRU传感器SDR 列表信息:
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sdr list fru
下载RAW SDR信息到文件:
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sdr dump sdr.raw9. 查看服务器的FRU信息
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin fru
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin fru print

三、 举例说明(关于用户的操作)

  - H为需要操作的BMC ip,-I lanplus为使用rmcp+协议发送命令,-U 为操作命令的用户名,-P为用户密码。
1、查询所有用户
[root@openstack ~]# ipmitool -H 10.10.10.10 -I lanplus -U root -P admin user list
2、新增用户用户名和用户id不能和已有用户名用户id重复,如用户名test3,用户id为3
[root@openstack ~]# ipmitool -H 10.10.10.10 -I lanplus -U root -P admin user set name 3 test3
3、密码需要满足复杂度要求,如设置用户id为3的密码
[root@openstack ~]# ipmitool -H 10.10.10.10 -I lanplus -U root -P admin user set password 3 test3
4、权限取值范围2:USER,3:OPERATOR,4:ADMINISTRATOR,用户创建后的默认权限为NO ACCESS,没有访问权限。如设置用户id为3的权限,设置完成即可使用用户名密码访问BMC
[root@openstack ~]# ipmitool -H 10.10.10.10 -I lanplus -U root -P admin user priv 3 4
5 、 使能id为3的用户
[root@openstack ~]# ipmitool -H 10.10.10.10 -I lanplus -U root -P admin user enabled 3
四、举例说明(重启BMC系统和密码及参数重置)
1、BMC 服务器管理口死机远程http无法登陆

ipmitool -H (BMC的管理IP地址) -I lan -U (BMC登录用户名) -P (BMC 登录用户名的密码) mc reset warm
#lan参数 为接口连接的模式之一,远程通过网络执行的一般用lan 或lanplus,如果在本地ssh登录操作 可用open 参数

2、BMC 防火墙策略配置全部拒绝导致无法访问
登录该服务器系统后执行:[root@openstack ~]# ipmitool raw 0x32 0x66  #恢复默认值[root@openstack ~]# ipmitool lan set 1 ipsrc static  (设置ipmi ip非DHCP)[root@openstack ~]# ipmitool lan set 1 ipaddr 192.168.0.1(设置IPMI  地址) [root@openstack ~]# ipmitool lan set 1 netmask 255.255.255.0 (设置ipmi 子网掩码)[root@openstack ~]# ipmitool lan set 1 defgw ipaddr 192.168.0.1 (设置ipmi 网关)[root@openstack ~]# ipmitool user set password 1 abcdefg      (修改ipmi 用户名1的密码)#root 修改后默认密码abcdefg[root@openstack ~]# ipmitool user set password 2 abcdefg      (修改ipmi 用户名2的密码)#admin 修改后默认密码abcdefg

Ipmitool工具安装以及常见使用方法相关推荐

  1. linux ipmitool检测内存,一种基于ipmitool工具循环侦测内存的方法与流程

    本发明涉及服务器技术领域,具体的说是一种基于ipmitool工具循环侦测内存的方法. 背景技术: 随着计算机技术的发展,计算机已经广泛应用于生活.工作中各个领域,对计算机计算处理能力和存储能力也提出了 ...

  2. Linux安装Steam常见问题解决方法

    Linux安装Steam常见问题解决方法 在官网下载包以后 root@localhost:~# dpkg -i 包名 接下来可能会提示安装过程中出现错误常见的就是安装完以后打开steam没反应或者出现 ...

  3. ipmitool工具安装及常用命令,带安装包

    点击查看原文链接 一.IPMItool工具安装 1.windows版: a. 笔记本等电脑终端安装此工具,用于对远端服务器BMC发送指令,实现带外管理: 工具下载(点击下载):IPMIToolWin ...

  4. 关于Xilinx下载器驱动安装及常见问题解决方法

    PC操作系统平台:Win7x64 ISE14.4/ISE14.7 下载器工作状态指示灯说明: 如果Xilinx的下载器与电脑连接之后,下载器上面的指示灯不亮,说明PC上安装的下载器驱动有问题或者是下载 ...

  5. Genymotion模拟器的安装及常见问题解决方法

    Genymotion是很好用很快的一款Android模拟器. 我们使用的时候下载一个免费版的就足够用了. 官网下载地址:http://www.genymotion.net/ 不过这个软件下载之前必须注 ...

  6. 常见的PS安装错误代码与解决方法

    要亲手用PS表达自己的设计创意,当然得安装上软件:但是软件安装过程中,难免会遇到一些错误提示,让安装无法进行.今天为大家分享一些常见的PS安装错误代码与解决方法,希望有帮助. 错误代码1 原因:之前的 ...

  7. 高版本android怎么玩低版本游戏,手机玩安卓系统安装变态版手游常见问题解决方法_android游戏安装教程详解...

    有小伙伴表示在下载安装手机玩游戏盒子的提供的变态游戏过程中会遇到"无法安装"."未知来源"."具有安全隐患"等问题,为了帮助大家解决这一问题 ...

  8. DKhadoop安装配置教程与常见问题解决方法

    上周分别就DKHadoop的安装准备工作以及服务器操作系统配置写了两篇分享的文章,这是个人第一次尝试写一个系统性的分享文章,必然会有很多疏漏的地方,还望见谅吧.今天分享的是DKHadoop安装以及常见 ...

  9. ipa在线安装搭建_三种越狱工具安装方法

    从 iOS 9.2 开始,苹果越狱进入了半越狱时代,也就是重启手机之后需要重新进入越狱工具激活越狱环境,以下是三种常用的越狱工具安装方法: 方法一:自签名 下载大胡子签名工具:Cydia Impact ...

最新文章

  1. 物联网协议对比(HTTP、websocket、XMPP、COAP、MQTT和DDS协议)
  2. [转]sqlserver2008锁表语句详解
  3. Python访问MySQL数据库并实现其增删改查功能
  4. arrive get
  5. mysql 魔术设置_详解php魔术方法(Magic methods)的使用方法
  6. Sublime Text 关闭自动更新
  7. Go 语言基础(三)——基本数据类型
  8. html5 replace,js replace 与replaceall实例用法详解
  9. Linux就这个范儿 第8章 我是Makefile
  10. oracle 12c 性能,Oracle 12C 新性能 总结篇
  11. 读写文件RandomAccessFile
  12. 从零开始学UC(1)之Microsoft Lync Server介绍
  13. 地籍测绘成图软件南方cass9.0支持AutoCad2010【安装文件和视频教程】
  14. 树状数组专题【完结】
  15. 一文带你全方位了解网卡
  16. 关于STM32PWM占空比的总结
  17. 用python做归结演绎推理_python基础归结
  18. 形如in (‘111,222,333‘) 的 ,Oracle的in函数(报错:无效数字)
  19. 写出语句的四元式序列
  20. PC机插入麦克风后没有说话没有声音

热门文章

  1. 浅聊Java反射机制(三)
  2. 山寨凤凰新闻菜单效果
  3. linux创建磁盘的命令,linux中创建磁盘分区的命令是什么
  4. 如何知道计算机显示器尺寸,如何查看电脑显示器尺寸?
  5. Mac上doc 转docx
  6. php支付宝接口 新版,新版支付宝即时交易接口(帝国CMS7.2UTF-8)
  7. 如何培养对编程开发的兴趣
  8. Python中取余、除法、取整的操作逻辑
  9. 拉格朗日(lagrange)插值(MATLAB实现)
  10. C#编程_实现简易的任务管理器