Linux上使用IPMITool常用的命令

Json______發表於2017-11-17

技術QQ交流群:294088839


IPMITool和其中常用的命令

IPMIIntelligent Platform Management Interface)即智慧平臺管理介面是使硬體管理具備智慧化的新一代通用介面標準。使用者可以利用 IPMI 監視伺服器的物理特徵,如溫度、電壓、電扇工作狀態、電源供應以及機箱入侵等。Ipmi 最大的優勢在於它是獨立於 CPU BIOS  OS 的,所以使用者無論在開機還是關機的狀態下,只要接通電源就可以實現對伺服器的監控。Ipmi 是一種規範的標準,其中最重要的物理部件就是BMC(Baseboard Management Controller 如圖1),一種嵌入式管理微控制器,它相當於整個平臺管理的大腦,通過它 ipmi 可以監控各個感測器的資料並記錄各種事件的日誌。

ipmitool 是一種可用在 Linux/Unix 系統下的基於命令列方式的 ipmi 平臺管理工具。它支援 ipmi 1.5 ipmi 2.0 規範(最新的規範為 ipmi 2.0)。利用它可以實現獲取感測器的資訊、顯示系統日誌內容、網路遠端開關機等功能。其主要功能包括讀取和顯示感測器資料(SDR),顯示System Evernt LogSEL)的內容,顯示列印Field Replaceable UnitFRU)資訊,讀取和設定BMC模組的LAN配置,遠端控制伺服器主機的電源。

ipmitool支援IPMI-over-LAN和系統Kernel中的裝置驅動(openIPMI in Linux, BMC in Solaris, openIPMI in FreeBSD) 介面。即可以本地執行,也可以在遠端機器上執行,實現對伺服器主機的管理和控制。

最新版本的ipmitool可以去http://ipmitool.sourceforge.net/下載。目前的最新版本為1.8.11(2012-04-29)ipmitoolman手冊可以去http://ipmitool.sourceforge.net/manpage.html訪問web版本。

常用的管理命令包括:

================
系統管理命令
================
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. 伺服器的開機,關機,resetpower 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

================
BMC
自身配置命令
================
1. 
檢視BMC的資訊
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin mc info

2. 檢視BMCLAN資訊
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin lan print 1
(一般channel 1LAN

3. 修改BMCMAC資訊(只能在本地以root使用者做,因為在此之前沒IP
enable BMC MAC SET mode:
/usr/bin/ipmitool raw 0x0c 0x01 0x01 0xc2 0x00
Write MAC to BMC (BMC MAC=d0:27:88:a4:e4:37):
/usr/bin/ipmitool raw 0x0c 0x01 0x01 0x05 0xD0 0x27 0x88 0xA4 0xE4 0x37

4. 修改BMC的網路為自動從DHCP獲得IP地址,而不是靜態的(只能在本地以root使用者做,因為在此之前沒IP
確定channel 1LAN:
/usr/bin/ipmitool lan print 1
設定channel 1DHCP獲得IP:
/usr/bin/ipmitool lan set 1 ipsrc dhcp

5. 重啟BMC自己(不是伺服器)(小心BMC掛掉hang
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin mc reset

================
SOL
和通過IPMItool訪問系統終端 (Serial-Over-LAN)
================
1. 
檢視當前的SOL summary資訊
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sol info 1

2. 修改SOL配置資訊
檢視所有可能的配置
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sol set
修改波特率配置
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sol set non-volatile-bit-rate 38.4 1
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sol set volatile-bit-rate 38.4 1

3. 開啟遠端終端
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sol activate
(
可以使用~.退出,~?顯示幫助資訊)

================
Watchdog
配置命令
================
1. 
檢視當前的watchdog資訊
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin mc watchdog get

2. 設定,開啟一個watchdog
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin mc watchdog get
設定一個OS WDTwatchdog, 超時時間為60秒(自己看IPMI 2.0手冊,351頁的27.6 Set Watchdog Timer Command(60x10=600 = 0x258)
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin raw 0x06 0x24 0x04 0x01 0x00 0x10 0x58 0x2
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin mc watchdog get
開啟該watchdog
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin mc watchdog reset
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin mc watchdog get

禁止該watchdog的動作(Hard reset-> no action)

/usr/bin/ipmitool -I lanplus -H 10.32.228.187 -U sysadmin -P admin raw 0x06 0x24 0x04 0x00 0x00 0x10 0x58 0xFF

上面的命令把時間改為非常大,提示第10x00表示沒有動作,0x04表示是SMS/OSwatchdog, 0xFF58是超時的時間,單位為100ms

================
SEL
命令
================
1. 
檢視當前的SEL summary資訊
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sel
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sel info

2. 列示所有SEL記錄詳細資訊
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sel list
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sel list 10

3. 刪除指定的SEL記錄
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sel delete 1

4. 清除所有的SEL記錄
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sel clear

5. 獲取和修改SEL當前時鐘
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sel time get
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin sel time set "04/24/2012 18:44:44"

6. RAW方式檢視制定的SEL資料

/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin raw 0xa 0x43 0 0 111 0 0 0xFF

0xa 0x43Get SEL Entry Command 0 0 保留值,111 0 表示取第112條記錄(從0開始),offset,保留;0xFF為讀取的位元組數,FF表示取整條記錄

================
PEF
命令
================
1. 
檢視BMC當前的PEF 支援資訊
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin pef
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin pef info

2. 檢視BMC當前的PEF 配置表資訊(配置表也是可以修改的)
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin pef list

3. 檢視BMC當前的PEF 狀態資訊(BMC處理的最後一條SEL記錄)
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin pef status

4. 修改BMC當前的PEF 配置表
檢視當前的PEF 配置表
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin pef list
假定我們要刪除下面這條配置項
1 | active, pre-configured | 0x11 | Voltage | Any | None | OEM | Any | Power-off,OEM-defined
獲取該配置項的配置資訊
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin raw 0x04 0x13 0x07 0x01 0x00
11 01 40
修改該配置項的配置資訊
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin raw 0x04 0x12 0x07 0x01 0x40
檢查修改後的PEF配置表
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin pef list

 

================
特殊命令
================
1. 
檢視ipmi伺服器端當前活動的session會話
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin session info active

2. 執行一個儲存在檔案中的所有ipmitool命令
/usr/bin/ipmitool -I lanplus -H 10.88.1.181 -U sysadmin -P admin exec myipmi.cmd

=====================================總結======================================================

#service ipmi start
#ipmitool -I open shell
#### 可以直接進入本地BMC shell
#ipmitool -I lan -H -U shell
#### 輸入password,進入IPMI互動模式,當然這裡也可以把shell直接換成bmc命令 , 另外ipmitool支援埠,所以是否可以先做DNAT,然後遠端直接管理內網機器.
#### ipmitool提供的功能要比windows下ipmish提供的功能多得多,用法相對複雜一些
參考下面轉摘的文章來詳細瞭解命令
引用
Ipmitool本地監控使用命令:ipmitool –I open command,其中-I open表示使用OpenIPMI介面,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 =[on|off],設定bmc相應的允許/禁止選項。
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資訊並顯示。

相關文章