使用 ipmitool 實現 Linux 系統下對服務器的 ipmi 管理

使用 ipmitool 實現 Linux 系統下對服務器的 ipmi 管理

developerWorks
文檔選項
將打印機的版面設置成橫向打印模式

打印本頁

將打印機的版面設置成橫向打印模式

打印本頁

將此頁作爲電子郵件發送

將此頁作爲電子郵件發送

將此頁作爲電子郵件發送

將此頁作爲電子郵件發送


級別: 初級

崔濤 ([email protected]), 軟件工程師

2004 年 7 月 01 日

IPMI 是一種可擴展的標準,它定義瞭如何監控硬件和傳感器、控制系統部件以及記錄重大事件,隨着 ipmi 技術在服務器中的應用,利用 ipmi 的衆多優勢就成爲服務器管理特別是集羣管理中不可缺少的部分。本文首先介紹了 ipmi 的一些基本概念,然後給出瞭如何利用 ipmitool 這一工具實現 linux 系統中ipmi 管理的具體步驟和方法。

1.簡介

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


圖 1
 

ipmitool 是一種可用在 linux 系統下的命令行方式的 ipmi 平臺管理工具,它支持 ipmi 1.5 規範(最新的規範爲 ipmi 2.0),通過它可以實現獲取傳感器的信息、顯示系統日誌內容、網絡遠程開關機等功能。Ipmitool 有兩種使用方式(如 表1)


表 1
 



回頁首


2. 使用 ipmi 的先決條件

想要實現對服務器的 ipmi 管理,必須在硬件、OS、管理工具等幾個方面都滿足:

2.1 服務器硬件本身提供對 ipmi 的支持

目前惠普、戴爾和 NEC 等大多數廠商的服務器都支持 IPMI 1.5,但並不是所有服務器都支持,所以應該先通過產品手冊或在 BIOS 中確定服務器是否支持 ipmi,也就是說服務器在主板上要具有 BMC 等嵌入式的管理微控制器。

2.2 操作系統提供相應的 ipmi 驅動

通過操作系統監控服務器自身的 ipmi 信息時需要系統內核提供相應的支持,linux 系統通過內核對 OpenIPMI(ipmi 驅動)的支持來提供對 ipmi 的系統接口。

2.3 ipmi 管理工具

本文選擇的是 Linux 下的命令行方式的 ipmi 平臺管理工具 ipmitool




回頁首


3. 實現對 Linux 服務器的 ipmi 管理

利用 ipmitool 實現對服務器的 ipmi 管理有兩種方式:①通過 OS 監控本地服務器;②通過網絡監控遠程服務器。本文針對這兩種監控方式分別給出了利用 ipmi 本地獲取 cpu溫度和遠程控制電源的例子。

3.1 實現對本地服務器的管理

3.1.1 系統結構(如圖 2)


圖 2
 

特點(如表2)


表 2
 

3.1.2 配置本地操作系統支持 ipmi

文中採用的 OS Redhat 9.0 在內核中已經提供了對 ipmi 的支持,這裏只需完成如下步驟:

① 載入支持 ipmi 功能的系統模塊


 

注意:必須先載入模塊,這樣內核才能在②中識別 ipmidev 設備

② 創建字符設備 node,使 ipmitool 可以通過驅動程序訪問 ipmi 系統接口


 

3.1.3 安裝 ipmitool,獲取 cpu 溫度信息

①依次執行如下命令,安裝 ipmitool


 

② 通過 ipmitool 命令獲取 cpu 溫度


 

3.2 實現對遠程服務器的管理

3.2.1 系統結構(如圖 3)


圖 3
 

特點(如表 3)


表 3
 

3.2.2 在被監控服務器端,把 ip 地址寫入 bmc 芯片中

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 支持的操作系統。

3.2.3 在監控客戶端安裝 ipmitool,並遠程操作服務器電源

①依次執行如下命令,安裝 ipmitool


 

②通過 ipmitool 命令遠程控制服務器電源


 

注意:通過 ipmitool 還可以監控風扇、機箱等衆多相關信息,具體的使用方式見 ipmitool manpage



參考資料

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