Tuesday, February 05, 2013

在Linux中調整IBM IMM/uEFI的設定

IMM (integrated management module)是IBM的BMC系統,
相當於HP的iLO或是Dell的iDRAC。
它們提供另一組網路,可以做一些在OS裡面無法做的管理功能,
或是在OS down的時候進行管理。

不過如果機器在遠端,要到現場做設定就比較難了
而且IBM跟HP的機器大多沒有操作面板,
要改BMC設定的話要重開機到BIOS裡面去改...
Dell可以在面板操作,不過也只能設定IP。

IBM提供一個工具軟體,叫ASU,可以在作業系統中更改IMM或uEFI的設定值。

(Dell也有,可以在OpenManage套件裡找到;HP我不熟XD)

到IBM網站可以很容易找到ASU,下載回來是個rpm,也很容易安裝。
裝好會在/opt/ibm/toolscenter/asu這裡,64bit的執行檔就叫asu64。

語法的話有很多,不過我只介紹最常用的。

OK,假設現在的情境是,我需要去撈BIOS的log,
但是當初裝機並沒有設定IMM的IP,也沒有在IMM的網路port上接線。
所以我想做的,是在OS中設定IMM的IP,並且讓IMM去共用現有的ethernet port,就不用再接線了。

在沒有文件的情形下,我不知道這些設定值的名稱。不過我可以叫IMM列出所有的設定值:
    ./asu64 show
他會列出所有的設定與現在的設定值,當然我也可以把輸出redirect到一個檔案方便查詢:
    ./asu64 show > list

稍微翻一下就可以找到我想做的設定,IMM網卡的模式是:
    IMM.SharedNicMode=Dedicated
這表示IMM的網路綁在他專用的網卡上,我要改成去共用Ethernet。
該設定的有效設定值,可以用showvalues指令去列出:
   ./asu64 showvalues IMM.SharedNicMode
輸出會像:
    IMM.SharedNicMode=Shared=<Dedicated>
這表示這個設定的有效值有兩種 (Shared跟Dedicated),目前的值是Dedicated。
所以我要改成用Shared,用set指令:
  ./asu64 set IMM.SharedNicMode Shared
這樣就生效了。

接下來改IP,設定值是這一個:
  IMM.HostIPAddress1
一樣用set指令設成需要的值。
因為共用Ethernet的port,所以我的習慣是在Host IP後面加100
例如OS的IP是192.168.1.1,我就把IMM設成192.168.1.101。

再來是要求IMM不要用DHCP去抓。設定是這一個:
    IMM.DHCP1
有效值:
    IMM.DHCP1=Disabled=Enabled=<DHCP then try static IP configuration>
我要設固定,所以就用set設為Disabled (關閉DHCP)。
(後面是只用DHCP,或是先試DHCP再用固定IP)

最後叫IMM重開,讓設定生效:
    ./asu64 rebootimm

這樣就可以不用重開機,就更改IMM的設定值。
相同的方法也可以修改uEFI的值,不過uEFI的值要重開機才能生效喔!

1 comment:

Anonymous said...

Thanks for sharing!