使用 ipmitool 實現 Linux 系統下對服務器的 ipmi 管理 |
級別: 初級 崔濤 ([email protected]),
軟件工程師 2004 年 7 月 01 日 IPMI 是一種可擴展的標準,它定義瞭如何監控硬件和傳感器、控制系統部件以及記錄重大事件,隨着 ipmi 技術在服務器中的應用,利用 ipmi 的衆多優勢就成爲服務器管理特別是集羣管理中不可缺少的部分。本文首先介紹了 ipmi 的一些基本概念,然後給出瞭如何利用 ipmitool 這一工具實現 linux 系統中ipmi 管理的具體步驟和方法。 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
想要實現對服務器的 ipmi 管理,必須在硬件、OS、管理工具等幾個方面都滿足: 目前惠普、戴爾和 NEC 等大多數廠商的服務器都支持 IPMI 1.5,但並不是所有服務器都支持,所以應該先通過產品手冊或在 BIOS 中確定服務器是否支持 ipmi,也就是說服務器在主板上要具有 BMC 等嵌入式的管理微控制器。 通過操作系統監控服務器自身的 ipmi 信息時需要系統內核提供相應的支持,linux 系統通過內核對 OpenIPMI(ipmi 驅動)的支持來提供對 ipmi 的系統接口。 本文選擇的是 Linux 下的命令行方式的 ipmi 平臺管理工具 ipmitool。
利用 ipmitool 實現對服務器的 ipmi 管理有兩種方式:①通過 OS 監控本地服務器;②通過網絡監控遠程服務器。本文針對這兩種監控方式分別給出了利用 ipmi 本地獲取 cpu溫度和遠程控制電源的例子。 圖 2 特點(如表2) 表 2 文中採用的 OS Redhat 9.0 在內核中已經提供了對 ipmi 的支持,這裏只需完成如下步驟: ① 載入支持 ipmi 功能的系統模塊 注意:必須先載入模塊,這樣內核才能在②中識別 ipmidev 設備 ② 創建字符設備 node,使 ipmitool 可以通過驅動程序訪問 ipmi 系統接口 ①依次執行如下命令,安裝 ipmitool ② 通過 ipmitool 命令獲取 cpu 溫度 圖 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
|