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

http://www.ibm.com/developerworks/cn/linux/l-ipmi/html

1.簡介

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

圖 1
圖 1

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

表 1
表 1
 

2. 使用 ipmi 的先決條件

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

2.1 服務器硬件自己提供對 ipmi 的支持

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

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)

表 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
表 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

參考資料

相關文章
相關標籤/搜索