http://www.ibm.com/developerworks/cn/linux/l-ipmi/html
IPMI(Intelligent Platform Management Interface)即智能平臺管理接口是使硬件管理具有「智能化」的新一代通用接口標準。用戶能夠利用 IPMI 監視服務器的物理特徵,如溫度、電壓、電扇工做狀態、電源供應以及機箱入侵等。Ipmi 最大的優點在於它是獨立於 CPU BIOS 和 OS 的,因此用戶不管在開機仍是關機的狀態下,只要接通電源就能夠實現對服務器的監控。Ipmi 是一種規範的標準,其中最重要的物理部件就是BMC(Baseboard Management Controller 如圖1),一種嵌入式管理微控制器,它至關於整個平臺管理的「大腦」,經過它 ipmi 能夠監控各個傳感器的數據並記錄各類事件的日誌。node
ipmitool 是一種可用在 linux 系統下的命令行方式的 ipmi 平臺管理工具,它支持 ipmi 1.5 規範(最新的規範爲 ipmi 2.0),經過它能夠實現獲取傳感器的信息、顯示系統日誌內容、網絡遠程開關機等功能。Ipmitool 有兩種使用方式(如 表1)linux
回頁首服務器
想要實現對服務器的 ipmi 管理,必須在硬件、OS、管理工具等幾個方面都知足:網絡
目前惠普、戴爾和 NEC 等大多數廠商的服務器都支持 IPMI 1.5,但並非全部服務器都支持,因此應該先經過產品手冊或在 BIOS 中肯定服務器是否支持 ipmi,也就是說服務器在主板上要具備 BMC 等嵌入式的管理微控制器。ide
經過操做系統監控服務器自身的 ipmi 信息時須要系統內核提供相應的支持,linux 系統經過內核對 OpenIPMI(ipmi 驅動)的支持來提供對 ipmi 的系統接口。工具
本文選擇的是 Linux 下的命令行方式的 ipmi 平臺管理工具 ipmitool。操作系統
回頁首.net
利用 ipmitool 實現對服務器的 ipmi 管理有兩種方式:①經過 OS 監控本地服務器;②經過網絡監控遠程服務器。本文針對這兩種監控方式分別給出了利用 ipmi 本地獲取 cpu溫度和遠程控制電源的例子。命令行
特色(如表2)
文中採用的 OS Redhat 9.0 在內核中已經提供了對 ipmi 的支持,這裏只需完成以下步驟:
① 載入支持 ipmi 功能的系統模塊
注意:必須先載入模塊,這樣內核才能在②中識別 ipmidev 設備
② 建立字符設備 node,使 ipmitool 能夠經過驅動程序訪問 ipmi 系統接口
①依次執行以下命令,安裝 ipmitool
② 經過 ipmitool 命令獲取 cpu 溫度
特色(如表 3)
ipmi 的遠程監控是經過向與 bmc 相連的網絡接口(如圖 1:②)發送 udp 數據包實現的,udp 數據包的定位是經過把 ip 地址寫入 bmc 芯片來實現,而這須要經過本地的 ipmi 系統接口來完成連。先經過 3.1.2 與 3.1.3 節的步驟在服務器端實現本地 ipmi 系統接口並安裝 ipmitool 管理工具。
經過 ipmitool-1.5.9.tar.gz 附帶的 bmcautoconf.sh 腳本(默認安裝位置 /usr/local/bin/)配置被監控服務器的 ipmi 網絡接口(IPMI-over-LAN),並把 ip 地址等信息寫入 bmc 中,過程以下:
①用 ipmitool 肯定服務器的 LAN channel
從結果能夠看出「Channel Medium Type : 802.3 LAN」,channel 7 是 LAN channel
注意:Intel SHASTA SPSH4 服務器的 channel 7 是對應 eth0 網卡的,因此網絡鏈接時必須選擇 eth0(100M網卡)進行 ipmi 管理。
②根據肯定的 LAN channel 號和網卡修改 bmcautoconf.sh 腳本
注意:上述改動是根據①中肯定的LAN channel、對應的 nic 以及 ipmitool 的具體安裝位置進行的。
③運行 bmcautoconf.sh,把 ip 等信息寫入 bmc
④肯定 bmcautoconf.sh 的結果
⑤設置網絡訪問密碼
注意:完成了上述步驟後,被監控服務器上就再也不須要 ipmi 系統接口了,能夠把 3.1.2 節中的模塊卸載,甚至能夠重裝一個全新的無ipmi 支持的操做系統。
①依次執行以下命令,安裝 ipmitool
②經過 ipmitool 命令遠程控制服務器電源
注意:經過 ipmitool 還能夠監控風扇、機箱等衆多相關信息,具體的使用方式見 ipmitool manpage