運維利器之–ipmitool
Ipmitool對搞運維的哥們兒來說是一個很不錯的管理工具,既支持本地操作也支持遠端操作。能夠不依賴服務器的CPU,內存,存儲,電源等獨立工作,是一種廉價遠程管理方案。借用一下官方的介紹:
The service processor (or Baseboard Management Controller, BMC) is the brain behind platform management and its primary purpose is to handle the autonomous sensor monitoring and event logging features.
IPMItool是一個用於管理和配置,支持智能平台管理接口(IPMI)1.5版和2.0版規范的設備的實用程序。 IPMI是一個開放的標准,監控,記錄,回收,庫存和硬件實現獨立於主CPU,BIOS,以及操作系統的控制權。 服務處理器(或底板管理控制器,BMC)的背后是平台管理的大腦,其主要目的是處理自主傳感器監控和事件記錄功能。
It features the ability to read the sensor data repository (SDR) and print sensor values, display the contents of the System Event Log (SEL), print Field Replaceable Unit (FRU) inventory information, read and set LAN configuration parameters, and perform remote chassis power control.
該ipmitool的方案提供了一個簡單的命令行接口,這個BMC。 它具有讀取傳感器數據存儲庫(SDR)和打印傳感器值,顯示系統事件日志(SEL)中的內容,打印現場可更換單元(FRU)的庫存信息,讀取和設置LAN配置參數,實現對遠程的能力機箱電源控制。
It was originally written to take advantage of IPMI-over-LAN interfaces but is also capable of using a system interface as provided by a kernel device driver such as OpenIPMI on Linux and BMC on Solaris 10 or the new OpenIPMI-compatible driver in FreeBSD.
它最初被寫入采取IPMI的過度LAN接口的優勢,但也能夠使用系統界面由內核設備驅動程序,如所提供的的OpenIPMI Linux和BMC在Solaris 10或FreeBSD的新的OpenIPMI兼容的驅動程序。
一、實驗環境
硬件環境:
聯想 RD630
軟件環境:
centos6.4
二、軟件安裝
yum install -y OpenIPMI ipmitool
三、管理功能詳解
3.1 Windows 平台
安裝DELL服務器管理軟件-OpenManagment_V5.2.0,在”C:Program FileslenovoSysMgtbmc” 下,ipmish.exe,在命令行模式運行
基本語法:
> ipmish -ip -u -p ej: > ipmish -ip 192.168.15.196 -u root -p 123456 power status >>> 查看當前電源狀態 > ipmish -ip 192.168.15.196 -u root -p 123456 power reset >>> reset該機器 > ipmish -interactive 我喜歡將上面放在批處理里,直接雙擊,進ipmi的shell環境, 然后 > connect -ip -u -p 驗證成功后,就可以直接輸入BMC控制命令,這里介紹三個比較有用的命令,其余命令和更詳細的用法,可以在bmc shell里自己查看幫助 > help > power [status|off[-force]|on|reset|cycle] >>> 可以遠程在不進入系統的情況下進行開關機,重啟,等等 > sensor [temp|fan|volt|discrete|numeric] [-format ] >>> 查看系統傳感器的命令,支持溫度,電壓,風扇等等 > sel [[get [[[-begin ][-max |-end ]]|-last ] [-format ]] |clear|status] >>> 查看和管理系統日志 sel get > log.txt 保存日志 ; sel clear > sysinfo [fru|id] >>> 查看 FRU 或者 BMC 信息
3.2 Linux 平台
Centos6.4,安裝時勾選了IPMI管理包,自己另裝的話,注意要裝上IPMI驅動模塊和IPMITOOL管理工具.
#開啟ipmi服務 [root@centos6 ~]#service ipmi start #可以直接進入本地BMC shell [root@centos6 ~]#ipmitool -I open shell #輸入password,進入IPMI交互模式,當然這里也可以把shell直接換成bmc命令 , #另外ipmitool支持端口,所以是否可以先做DNAT,然后遠程直接管理內網機器. # ipmitool提供的功能要比windows下ipmish提供的功能多得多,用法相對復雜一些 [root@centos6 ~]#ipmitool -I lan -H -U shell
3.3命令詳細解
Ipmitool本地監控使用命令:
ipmitool -I open command,其中-I open表示使用OpenIPMI接口
command有以下項:
a) raw:發送一個原始的IPMI請求,並且打印回復信息。
b) lan:配置網絡(lan)信道(channel)
[root@centos6 ~]#ipmitool -I open lan print
c) chassis :查看底盤的狀態和設置電源
[root@centos6 ~]#ipmitool -I open chassis status
d) event:向BMC發送一個已經定義的事件(event),可用於測試配置
的SNMP是否成功
e) mc:查看MC(Management Contollor)狀態和各種允許的項
[root@centos6 ~]#ipmitool -I open mc
f) sdr:打印傳感器倉庫中的所有監控項和從傳感器讀取到的值。
[root@centos6 ~]#ipmitool -I open sdr
g) sensor:打印詳細的傳感器信息。
[root@centos6 ~]#ipmitool -I open sensor
h) Fru:打印內建的Field Replaceable Unit (FRU)信息
i) sel: 打印 System Event Log (SEL)
[root@centos6 ~]#ipmitool -I open sel
j) Pef: 設置 Platform Event Filtering (PEF),事件過濾平台用於在監控系統發現
有event時候,用PEF中的策略進行事件過濾,然后看是否需要報警。
k) Sol/isol:用於配置通過串口的Lan進行監控
l) user:設置BMC中用戶的信息 。
[root@centos6 ~]#ipmitool -I open user
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信息並顯示。
3.4遠程獲取服務器監控信息
遠程獲取服務器監控信息時,需要系統硬件支持ipmiV1.5和IPMIV2.0。獲取信息時,不需要在服務器上安裝其他軟件,只需要在監控的客戶端上安裝ipmi工具軟件,如ipmitool、ipmiutil或者freeipmi,並需要在相應命令中加入遠端服務器的名字或者地址。Ipmitool和 ipmiutil可以通過LAN遠程監控系統,同時BMC中保存有一序列用戶名和密碼,通過LAN進行遠端訪問需要用戶名和密碼。
遠程獲取服務器監控信息時,需要加上遠程服務器的地址。使用以下的命令格式:
ipmitool -H 10.6.77.249 -U root -P changeme -I lan command。其中-H表示后面跟的是服務器的地址,-U表示后面跟着用戶名,-P表示后面跟着用戶密碼,command與本地獲取信息相同。
#查看遠端服務器電源狀態
[root@centos6 ~]#ipmitool -I lanplus -H 192.168.15.102 -U lenovo -P lenovo power status
#關閉遠端服務器
如果你也認為他是一把不錯的利器,那就讓他鋒芒外漏,使其發揮他的最大的作用。