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