Ipmitool工具安裝以及常見使用方法

Ipmitool工具安裝以及常見使用方法( Intelligent Platform Management Interface)
參考手冊:http://ipmitool.sourceforge.net/manpage.html

最近一直在公司實習,目前用到過一個陌生的雲物理機管理工具,也是OpenStack的插件IronicServer組件派生的管理工具。功能非常強大。操作起來也很方便,下面來逐一介紹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 Driver
   Loaded: loaded (/usr/lib/systemd/system/ipmi.service; enabled; vendor preset: enabled)
   Active: active (exited) since Fri 2020-02-28 14:30:40 CST; 7s ago
  Process: 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 response
	i2c           Send an I2C Master Write-Read command and print response
	spd           Print SPD info from remote I2C device
	lan           Configure LAN Channels
	chassis       Get chassis status and set power state
	power         Shortcut to chassis power commands
	event         Send pre-defined events to MC
	mc            Management Controller status and global enables
	sdr           Print Sensor Data Repository entries and readings
	sensor        Print detailed sensor information
	fru           Print built-in FRU and scan SDR for FRU locators
	gendev        Read/Write Device associated with Generic Device locators sdr
	sel           Print System Event Log (SEL)
	pef           Configure Platform Event Filtering (PEF)
	sol           Configure and connect IPMIv2.0 Serial-over-LAN
	tsol          Configure and connect with Tyan IPMIv1.5 Serial-over-LAN
	isol          Configure IPMIv1.5 Serial-over-LAN
	user          Configure Management Controller users
	channel       Configure Management Controller channels
	session       Print session information
	dcmi          Data Center Management Interface
	nm            Node Manager Interface
	sunoem        OEM Commands for Sun servers
	kontronoem    OEM Commands for Kontron devices
	picmg         Run a PICMG/ATCA extended cmd
	fwum          Update IPMC using Kontron OEM Firmware Update Manager
	firewall      Configure Firmware Firewall
	delloem       OEM Commands for Dell systems
	shell         Launch interactive IPMI shell
	exec          Run list of commands from file
	set           Set runtime variable for shell and exec
	hpm           Update HPM components using PICMG HPM.1 file
	ekanalyzer    run FRU-Ekeying analyzer using FRU files
	ime           Update Intel Manageability Engine Firmware
	vita          Run a VITA 46.11 extended cmd
	lan6          Configure IPv6 LAN Channels

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信道。
[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 status

2. 查看用戶
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin user list

3. 增加用戶
/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 list

4. 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 list

5. 查看服務器當前開電狀態
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin power status

6. 服務器的開機,關機,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 reset

7. 查看服務器的80 Port當前狀態
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin raw 0x30 0xB2

8. 查看服務器的傳感器狀態
所有傳感器狀態詳細信息:
/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.raw

9. 查看服務器的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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章