IPMI提供了不少豐富功能,我使用的功能,說得大白話一點,就是:linux
一、獲取本設備的硬件信息:包括CPU和主板的溫度、電壓、風扇轉速。服務器
二、在設備A上,經過命令,控制遠程設備B,開機、關機、重啓。(看到這個有沒有一點想作壞事的衝動,哈哈)網絡
IPMI的介紹,基本原理,和必備條件,可參考[1]中說明,很詳細暢。工具
[1]:使用ipmitool實現Linux系統下對服務器的ipmi管理http://www.ibm.com/developerworks/cn/linux/l-ipmi/spa
因爲IPMI功能與OS及硬件相對獨立,只此在任何軟件及硬件環境下,只要知足如下三點,就可使用IPMI提供的衆多功能。.net
BMC芯片 + ipmi模塊加載 + ipmitool設計
cat /var/log/messages | grep BMC,查看開機是否有打印found BMC芯片的信息,若是沒有說明硬件環境不支持BMC芯片;ip
lsmod | grep ipmi,查看模塊是否加載,加載/lib/modules/2.*.*/kernel/drivers/char/ipmi目錄下的相應模塊,若是無此目錄,安裝IPMI內核模塊;get
ipmitool help,查看用戶態工具是否安裝。it
本地調用:本地環境必須知足以上三點。
遠程調用:調用系統,只須要有ipmitool,被調用系統,必須有BMC芯片 + ipmi模塊。對於遠程調用,被調用系統的BMC芯片只要寫入了所需的配置信息,即便系統更換無爲IPMI模塊的軟件系統,配置信息在BMC芯片中也不會被擦除及更改,仍然能夠爲本機提供被遠程調用的功能。
ipmitool help;ipmitool Commands help;ipmitool Commands para help
http://linux.die.net/man/1/ipmitool
ipmitool sdr
固然ipmi本地調用還提供了不少豐富功能,我只用過這一個啦,嘿嘿。
物理網口:ipmi依賴物理網口接受ipmi指令,在硬件說明書中通常有說明BMC芯片共享或獨佔的物理網口具體是哪個。通常來講與eth0口共享一個物理網口,固然也有可能主板設計爲BMC芯片獨佔一個網口,所以必須保證共享eth0口(或獨佔的網口的)網絡鏈接,且ipmi的ip與eth0(或獨佔網口)ip在同一網段。
通道:BMC芯片雖然提供了不少channel,但好像一個型號的芯片通常只能使用一個channel,通常是channel 1,若是channel 1沒法使用,可嘗試其它channel,本芯片使用哪一個channel我理解應該也是硬件說明書中有規定。
被控制端須要配置lan信息、user信息
ipmitool lan set 1 ipsrc static #配置IP地址源爲手動配置
ipmitool lan set 1 ipaddr 192.168.0.1 #配置IP地址(需與共享網口IP地址同網段)
ipmitool lan set 1 netmask 255.255.255.0 #配置子網掩碼
ipmitool lan set 1 defgw ipaddr 192.168.0.100 #配置默認網關(沒有網關能夠不配)
ipmitool lan set 1 access on #打開該通道(屢次執行不影響管理端管理)
ipmitool lan set 1 access off #關閉該通道
ipmitool lan set 1 user #激活該通道的用戶(1爲通道號)
ipmitool user list 1 #查看channel 1的用戶
ipmitool user set name 1 admin #設置用戶名,1爲用戶ID。
ipmitool user set password 1 111111 #設置密碼,1爲用戶ID。
ipmitool user enabled 1 #激活用戶
ipmitool user priv 1 4 1 #設置用戶爲管理員權限,1爲用戶ID。
ipmitool -I lan -H 192.168.0.100 -U admin -P 111111 power status #查看電源狀態
ipmitool -I lan -H 192.168.0.100 -U admin -P 111111 power off/down #關機
ipmitool -I lan -H 192.168.0.100 -U admin -P 111111 power on/up #開機
ipmitool -I lan -H 192.168.0.100 -U admin -P 111111 power reset #重啓