ipmitool命令總結



Name(名字)

 Ipmitool ——   對於控制支持IPMI的設備有效.

Synopsis(概要)

ipmitool [-c|-h|-v|-V]-I open <command>

ipmitool [-c|-h|-v|-V]-I lan -H <hostname>

         [-p <port>]

         [-U <username>]

         [-A <authtype>]

         [-L <privlvl>]

         [-a|-E|-P|-f <password>]

         [-o <oemtype>]

         <command>

ipmitool [-c|-h|-v|-V]-I lanplus -H <hostname>

         [-p <port>]

         [-U <username>]

         [-L <privlvl>]

         [-a|-E|-P|-f <password>]

         [-o <oemtype>]

         [-C <ciphersuite>]

         <command>

Description(描述)

    這個程序能夠使你通過一個kernel設備驅動或者一個遠程系統,利用IPMIv1.5IPMIv2.0 管理本地系統的任何一個智能平臺管理接口(IPMI)功能。這些功能包括打印FRU(現場可替換裝置)信息、LAN配置、傳感器讀數、以及遠程機架電源控 制。
    
一個本地系統接口的IPMI管理功能需要一個兼容IPMIkernel驅動程序被安裝以及配置。在Linux中,這個驅動叫做OpenIPMI,他被 包括在了標準化分配中。在Solaris系統中,這個驅動叫做BMC,他被包括在了Solaris 10中。遠程控制的管理需要授權以及配置IPMI-over-LAN接口。根據每個系統獨特的需要,它可以通過系統接口來使LAN接口使用 ipmitool

Options(選項)

-a 提示輸入遠程服務器的密碼

-A <authtype>

 IPMIv1.5會話激活時,指定使用一個認證類型。

-c 使輸出格式爲 CSV(逗號分隔的變量)格式。但是不是針對所有命令都有效。

-C <ciphersuite>IPMIv2 lanplus連接使用遠程服務器身份驗證、完整性和加密算法。請看IPMIv2說明書中的表格 22-19。默認的三個格式爲:指定RAKP-HMAC-SHA1

爲驗證,HMAC-SHA1-96爲完整性,AES-CBC-128爲加密算法。

-E 遠程服務密碼通過環境變量IPMI_PASSWORD來指定。

-f <password_file>指定一個文件,而這個文件中包含了遠程服務密碼。如果這個選項沒有被使用,或者指定的文件不存在,那麼那麼密碼將默認爲NULL

-h 獲取基本幫助

-H <address>

 遠程服務地址,可以爲ip地址或者是主機名。Lanlanplus接口都需要這個操作。

-I <interface>

 選擇使用的IPMI接口。編譯支持的接口都在使用幫助輸出中可見。

-L <privlvl>

 力量會話特權級別。

可以爲CALLBACK,

 USER,

 OPERATOR,

 ADMIN。默認爲ADMIN

-m <local_address>

 設置本地IPMB(智能平臺管理總線)地址。默認的爲0x20。如果是一般的操作,那麼就沒有必要更改它。

-o <oemtype>

 選擇支持的OEM(原始設備製造商)類型。這通常涉及到代碼中的小竅門,以解決各種BMC在不同製造商的怪癖到位。

    使用命令“-o list”來查看當前支持的OEM類型的列表。

-p <port>

 設置要連接的遠程服務UPD端口,默認爲623

-P <password>

 在命令行中指定遠程服務密碼。如果支持,他將會進程列表中被掩蓋。注意!:不推薦在命令行中指定密碼。

-t <target_address>

 橋接IPMI的請求到遠程目標地址。

-U <username>

 遠程服務用戶名,默認爲NULL

-v 提高詳細輸出的級別。這個操作可以指定多次用來提高調試輸出的級別。如果指定三次,那麼你將會得到所有傳入和傳出的數據包。

-V 列出版本信息。

 

 如果沒有密碼方法被指定,那麼ipmitool將會提示用戶輸入密碼。如果用戶沒有輸入密碼,那麼遠程服務密碼將會設置爲NULL



SECURITY(安全)

    在使用IPMI LAN 接口之前,有一些需要注意的安全問題。一個遠程控制站有這個能力去控制一個系統的power狀態,同樣也可以去收集某些平臺上的信息。爲了減少脆弱性強烈 建議IPMI LAN接口只能用在“trusted”環境中,在這個環境中系統的安全性不是一個問題或存在安全是一個專門的管理網絡
   
此外,我們強烈建議您不要啓用沒有設置密碼的遠程訪問的IPMI,同時,這個密碼不應該與那個系統的其他密碼一樣。
   
當利用ipmiv1.5 lan接口改變了遠程機器的IPMI密碼後,新密碼將作爲明文用過網絡被髮送。這個可以被觀察到並且可以被利用來攻擊遠程系統。因此建議的IPMI密碼管理只有通過IPMIv2.0 lanplus接口或在本地站系統接口完成。
   
IPMIv1.5,最大密碼長度爲16個字符。超過16字符的密碼部分將被去掉。
   
IPMI 2.0,最大密碼長度爲20個字符;較長的密碼將被截斷。

COMMANDS(指令集)

  help   這個可以在ipmitool命令行中獲取命令行幫助。也可以寫在其他參數後面來選擇使用幫助。

ipmitool help

                  Commands:

                        raw      發送一個RAW(未加工的) IPMI請求然後輸出響應。

                        lan       配置LAN通道。

                        chassis      獲取機架狀態並且設置power狀態。

                        event      發送預定義的狀態給MC(管理控制器)

                        mc      管理控制器狀態和全局是否可使用。

                        sdr      打印傳感數據倉庫輸入與文本

                        sensor      輸出詳細的傳感器信息。

                        fru      輸出內嵌的FRU(現場可替換裝置)和掃描FRU 定位器的SDR(系統定義記錄)

                        sel      打印系統事件日誌(SEL)。

                        pef      配置平臺事件過濾(PEF

                        sol      配置IPMIv2.0Serial-over-LAN

                        isol      配置IPMIv1.5Serial-over-LAN

                        user     配置管理控制器用戶

                        channel      配置管理控制器通道

                        session      打印session信息

                        exec      從文件中運行一系列的命令

                        set      shellexec設置運行變量。



           ipmitool chassishelp  機架命令:status,power, identify, policy, restart_cause, poh, bootdev

           Ipmitool chassispower help    機架power狀態:status, on, off, cycle, reset, diag, soft



     bmc/mc

            reset <warm|cold>

                              指示BMC執行一個warmcold得復位。

            Info

                              顯示BMC硬件的信息,包括了 設備版本、固件版本、IPMI版本支持、製造商id、額外設備支持的信息。

            getenables

                             顯示一個列表,顯示目前BMC的可用的操作選項。

            setenables <option>=[on|off]

                            啓用或禁用特定的選項。此命令根據IPMI    範僅支持系統接口。當前option支持的選項有:

            recv_msg_intr    接收消息隊列中斷。

            event_msg_intr    事件消息緩衝區滿中斷

            event_msg        事件消息緩衝區

            system_event_log        系統事件日誌記錄

            oem0    oem定義選項#0

            oem1    oem定義選項#1

            oem2    oem定義選項#2



    channel

            authcap <channel number> <maxpriv>

                            顯示有關選定的信息通道的身份驗證功能,在指定的權限級別.

                        可能的特權級別包括:

                                    1 Callbacklevel

                                    2 Userlevel

                                    3 Operator level

                                    4Administrator level

                                    5 OEMProprietary level

           info [channel  number]

                          顯示選定的通道的信息。如果沒有給定通道,那麼它將顯示當前使用的通道的信息。

            ipmitool channel info

                        Channel 0xf info:

                        Channel MediumType   : System Interface

                        Channel ProtocolType : KCS

                        Session Support       : session-less

                        Active Session Count : 0

                        Protocol Vendor ID    : 7154

           getaccess <channel  number> [userid]

                        將給定的userid作爲給定的通道的默認值。當給定的通道被使用,那麼默認的用戶就是給定的這個用戶id

           setaccess <channelnumber> <userid>

                        [callin=on|off][ipmi=on|off] [link=on|off] [privilege=level]

                        在給定的通道下爲給定的userid配置用戶訪問信息

           getciphers <all |supported> <ipmi | sol> [channel]

                       爲給定的應用(ipmisol)在給定的通道下顯示支持的密碼套件列表



    Chassis

       Status

                顯示關於系統機架和主電源子系統的高級別狀態的信息。

       poh

                這個命令將會返回poweron的時間(單位爲小時)。

       identify <interval>

                控制面板標識燈。默認是15,用0表示關掉。

       restart_cause  查詢系統最後一次重啓的原因。

       Policy   設置如果停電時的機架電源策略。

          list        顯示所有支持的策略

          always-on   當電源恢復時on

          previous    當電源恢復時返回到原先的狀態。

          always-off 當電源恢復時保持off

       power    執行機架控制命令來查看和更改電源狀態。

          Status      顯示當前狀態。

          on                電源開

          off               電源關閉機架到軟關閉(S4/S5狀態)。

       cycle    規定關閉的區間至少爲1秒。當機架電源狀態在s4/s5狀態時將不會有動作發生,我們建議首先檢查電源狀態,

                如果系統電源on或低於S4/S5休眠狀態,此時在使用cycle命令。

       reset    這個命令將執行硬重置。

       diag           向處理器直接發送一個診斷中斷。

       soft           通過ACPI(高級配置與電源接口)來執行軟件關機。這個可以在多種方式下實現,一般是通過模擬過高溫度或模擬關鍵鍵。

                這是必要的,要有操作系統的ACPI支持。

       Bootdev <device>     請系統再下次重啓時從系統啓動備用引導設備啓動。

                目前支持的<device>包括:

                Pxe  pxe啓動

                Disk: BIOS默認的啓動設備處啓動。

                Safe: BIOS默認的啓動設備處啓動,但是要求有安全模式。

                Diag: 從診斷分區啓動。

                Cdrom: CD/DVD啓動

                Bios: 進入bios設置。

    event

      < predefined event number>

           發送預先定義的事件到系統事件日誌。下面的事件包括作爲一種手段,以測試系統事件日誌的BMC的組件功能(每一次都會增加一個輸入,

                event n命令被執行)

           目前支持的n值爲:

                 1   溫度:上臨界值:走向高

                 2   電壓臨界值:下臨界值:走向低

                 3   內存:可糾正的ECC錯誤檢測

           注意:這些預先定義的事件可能不會產生一個特定的系統準確SEL(系統事件日誌)記錄,因爲他們不能正確綁定到一個有效

                的傳感器數量,但是這些足以證明了的SEL正確操作。

      file <filename>

          filename文件中詳細描述的事件日誌記錄將被添加到系統事件日誌。

          該文件中的每一行的格式如下:

           <{EvM Revision} {Sensor Type} {Sensor Num} {Event Dir/Type} {Event Data 0}{Event Data 1}

                {Event Data 2}>[# COMMENT]

           注意:Event Dir/Type中,事件路徑的編碼作爲高7位,事件類型的編碼作爲低7位。

           如:0x4 0x2 0x60 0x1 0x52 0x0 0x0# Voltage threshold: LowerCritical: Going Low

      exec <filename>

           filename中讀取ipmitool命令。每一行都是一個完整的命令。這些命令的語法定義在本頁的COMMANDS中。每一行都可以在

                行尾加個可選擇的註釋,以‘#’爲限定符。

           如,一個兩行命令的文件:

           sdr list # get a list of sdr records

           sel list # get a list of sel records



    fru

      print

           這個命令將會讀取所有的現場可替換裝置(FRU)的庫存數據,提取這些信息作爲序號,零件編號,資產標籤,以及描述了機架、

           電路板或產品的短字符串。

    i2c<i2caddr> <read bytes> [<write data>]

          這將允許你執行i2c命令。

    isol

      setup <baud rate>

          IPMIv1.5 Serial-over-LAN設置傳輸頻率。

    lan        

      print <channel>

          輸出給定通道的當前配置信息。

      Set <channel> <parameter>

          爲給定的通道設置給定的參數。有效的parameter有:

      ipaddr <x.x.x.x>

          爲這個通道設置ip

      netmask <x.x.x.x>

          爲這個通道設置網絡掩碼

      macaddr<xx:xx:xx:xx:xx:xx> 

          爲這個通道設置mac地址。

      defgw ipaddr <x.x.x.x>

          設置默認網關的ip地址。

      defgw macaddr<xx:xx:xx:xx:xx:xx> 

          設置默認網關的mac地址。

      bakgw ipaddr <x.x.x.x>

          設置備份網關的ip地址。

      bakgw macaddr<xx:xx:xx:xx:xx:xx>

          設置備份網關的ip地址

      password <pass>

          設置無用戶的密碼。

      snmp <community string>

          設置SNMP的團體字符串

      user

          啓用用戶訪問模式爲用戶標識1

      access <on|off>

          設置LAN通道access模式。

      ipsrc <source>

          設置ip地址源:

            none 沒有指定;

            static  手動配置靜態IP地址

            dhcp 通過BMC運行DHCP來得到地址

            bios 通過BIOS或系統軟件來裝載地址

      arp respond <on|off>

          設置BMC生成ARP回覆。

      arp generate <on|off>

          設置BMC生成免費的ARP

      arp interval <seconds>

          設置BMC生成免費的ARP間隔。

      auth <level,...><type,...>

          給一個指定的授權級別一個有效的授權類型。

          Levels: callback, user, operator,admin

          Types:none, md2, md5, password, oem

      cipher_privs <privlist>

           相關研究密碼套件數目連同最高權限級別是去使用它。這樣,密碼套件可以用一個給定的權限級別來限制用戶。

            例如,管理員需要使用比一般用戶更強的密碼套件。

           Privlist的格式爲如下,每個字符代表一個權限級別,字符位置標識密碼套件的數目。

            例如,第一個字符表示密碼套件1(密碼套件0是保留),第二個字符表示套件2

           以此類推。Privlist必須有15個字符。

          privlist中使用的字符和其相關權限級別爲:

           X      Cipher Suite Unused

           c      CALLBACK

           u      USER

           o      OPERATOR

           a      ADMIN

           O      OEM

          所以,設置最高權限時,將套裝1分配給USER,套裝2分配給ADMIN,命令如:

           ipmitool -I interface lan set channel cipher_privs uaXXXXXXXXXXXXX



    pef

      info

          這個命令將會查詢BMC,並且打印出PEF所支持功能的信息。

      status

          這個命令打印出當前的pef的狀態(BMC最後一次向SEL德輸入,等等)

       policy

          此命令列出了PEF的策略表條目。每個策略項描述警報目的地。一個政策設置是一個表項的集合。PEF警報動作參考策略集。

      list

          這個命令列舉出PEF表項。每一個PEF輸入關聯一個傳感器事件給一個行動。當PEF是活躍的,每個平臺事件導致BMC去掃描匹配的事件

          條目表,並採取一定可能的行動。

          採取行動,執行優先順序(高臨界第一)。

   raw<netfn> <cmd> [data]

          這將允許你執行原始的IPMI命令。作爲一個例子,用一個原始命令來查詢POH(通道開銷)計數器:

           ipmitool-v raw 0x0 0xf

           RAWREQ (netfn=0x0 cmd=0xf data_len=0)

           RAWRSP (5 bytes)

           3c72 0c 00 00

   sdr

      info

          這個命令將會查詢BMC中相關的SDR(傳感器數據記錄)信息。

      list[all|full|compact|event|mcloc|fru|generic]

          這個命令將會讀取傳感器數據記錄(SDR)以及提取傳感器給定type的信息,之後將會查詢每一個傳感器並打印出相應的名字、狀態等信息。

          可用的類型如下:

            all       所有的SDR記錄(傳感器和定位器)

            full      完全的傳感器記錄

            compact   簡潔的傳感器記錄

            event           傳感器記錄的事件信息

            mcloc           管理控制器定位器記錄

            fru       FRU(現場可替換裝置)的定位器記錄

            generic   一般的SDR記錄

      entity <id>[.<instance>]

            顯示所有的實體關聯的傳感器。通過運行命令`sdr list'和一個操作符‘-v’獲得一個有效的實體在目標系統上的ID列表。

          所有實體的id列表可以在IPMI規範中找到。

      dump <file>

          將原始的SDR數據寫入文件file



   sel

          注意:如果SEL時鐘需要設置的話,SEL寫入次數作爲`Pre-Init Time-stamp'被顯示。

          保證SEL時鐘被命令`sel time get' `sel time set<time string>'所精確的更改。

    Info

          這個命令將會查詢BMC中關於SEL和其內容的相關信息。

    clear

          這個命令將會清空SEL中的信息。它不能被撤消所以要小心。

    list

          當運行沒有參數的此命令時,SEL中全部的信息將會被顯示出來。

    <count>|first <count>

          顯示SEL中最先的count條信息。如果count0,那麼所有的信息將會顯示。

    last <count>

          顯示SEL中最後的count條信息。如果count0,那麼所有的信息將會顯示。

    delete <number>

          刪除一個單一事件。

    time 

          get

                顯示SEL時鐘的當前時間。

          set   <timestring>

                設置SEL      時鐘。未來的SEL條目將使用此命令設置時間。<time string>的格式爲"MM/DD/YYYYHH:MM:SS"

                注意,小時是24小時格式。建議在設置時間之前將其清除。

   sensor

    list

          用廣泛的表格式來列舉出傳感器和閾值。

    get <id> … [<id>]

          打印出指定name的傳感器的信息。

    thresh <id> <threshold><setting>

          這允許您設置一個特定的閾值傳感器。該傳感器通過name指定。可用的thresholes有:

                unr    較高不可恢復

                ucr    上臨界

                unc    上非關鍵

                lnc         下非關鍵

                lcr         下臨界l

                lnr         較低不可恢復

   session

    info < active | all | id 0xnnnnnnnn |handle 0xnn>

          顯示指定的session的信息。你可以識別session通過id、處理數量、工作狀態、或通過關鍵字‘all’來指定所有的session

   sol

    info [<channel number>]

          檢索指定的通道的Serial-Over-LAN配置信息。如果沒有指定通道,那麼它將顯示出當前使用的通道的SOL配置數據。

    set <parameter> <value>[channel]

          SerialOver Lan配置參數。如果沒有通道被指定,它會顯示出當前使用的通道的SOL配置信息。

          配置參數的升級唄自動監視通過將parameter設爲set-in-progress

          可用的parametersvalue爲:

            set-in-progress

                set-complete set-in-progresscommit-write

            enabled

                true false

            force-encryption

                true false

            force-authentication

                true false

            privilege-level

                user operator admin oem

            character-accumulate-level

                十進制數給予5毫秒增量

            character-send-threshold

                十進制數

            retry-count

                十進制數,0表示沒有數據包發送後重試。

            retry-interval

                十毫秒增量的十進制數。0表示重試應送回回來。

            non-volatile-bit-rate

                serial, 19.2, 38.4, 57.6, 115.2        設置此值,以串行顯示,BMC應該使用被IPMI over serial通道使用的設置。

            volatile-bit-rate

                serial, 19.2, 38.4, 57.6, 115.2. 設置此值,以串行顯示,BMC應該使用被IPMI over serial通道使用的設置。

    activate

          使ipmitool進入Serial Over LAN模式,僅僅當使用lanplus接口時有用。一個RMCP+連接連向BMC,終端被設置爲原始模式,

          用戶輸入發送到串行控制檯的遠程服務器。在退出時,SOL的有效負載模式失效,終端也將被回覆到原來的模式。

          特別的轉義字符被提供用來控制SOL會話:

                ~.     終止連接

                ~^Z   掛起的ipmitool

                ~B     發送中斷

                ~~     通過輸入兩次來發送轉義字符

                ~?     輸出所支持的轉移字符

    deactivate

          停用串行局域網在BMC模式。退出Serial Over LAN模式將會自動的將這個命令發送到BMC,但是對於無意識的退出SOL模式的情況,

          這個命令將會很有用來重置BMC狀態。



   user

    summary

          顯示用戶id信息的簡單概要,包括最大數量的用戶id、可用的用戶id 的數目、和 已定義好的名字的數目。

    list

          顯示出所有用戶的信息。

    set

          name <userid> <username>       設定給定用戶id以給定的用戶名

          password <userid>[<password>] 設定給定的用戶以給定的密碼。如果沒有給定密碼,那麼此用戶的密碼將爲NULL。當從

          管理員級別的賬戶中刪除密碼時要注意。

          disable <userid>  使指定的用戶禁用訪問BMC

          Enable <userid>         使指定的用戶啓用訪問BMC

          test <userid> <16|20>[<password>]   確定密碼是否已被1620個字節存儲。

          注意:要確定LAN接口位於哪個通道,使用命令`channel info channel'





OPEN INTERFACE(開放接口)

        Ipmitoolopen接口利用openipmi的內核設備驅動程序。該驅動存在於所有的現代2.4和所有2.6核心中,以及它應該出現在最新的 Linux發行版的內核中。在OpenIPMI的主頁中同樣有各種針對於使不同版本的核心可用的IPMI驅動核心補丁。
        2.4
2.6核心所需要的核心模塊是不一樣的。
       
下列的核心模塊就需要裝載一個2.4基礎核心,從而保證ipmitool順利運行:
                ipmi_msghandler
                     
IPMI接口處理傳入和傳出的信息
                ipmi_kcs_drv
                      
一個針對消息處理的IPMI鍵盤控制器的風格接口。
                ipmi_devintf
                      Linux
字符的消息處理設備接口
   
   
下列的核心模塊就需要裝載一個2.6基礎核心,從而保證ipmitool順利運行:
               ipmi_msghandler
                      
IPMI接口處理傳入和傳出的信息
               ipmi_si
                      
一個IPMI的系統消息處理程序接口的驅動程序。該模塊支持各種IPMI的系統接口,例如KCS, BT, SMIC,甚至2.6核心下的SMBus
               ipmi_devintf
                       Linux
字符的消息處理設備接口
   
一旦需要的模塊被加載,將會有一個動態的字符輸入裝置存在於/dev/ipmi0。對於系統,使用devfsudev將會在/dev/ipmi/0中。

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