透過 ipmi 遠端電源管理 - BBS
By Audriana
at 2006-05-04T14:24
at 2006-05-04T14:24
Table of Contents
FreeBSD 7.0 current 從 2006/02/12 之後開始加入對 ipmi 的支援,
後來也 backport 進 ports 了 (/usr/ports/sysutils/ipmi-kmod)
於是就可以直接在該台電腦上透過 ipmitool 將環境設定好,當哪天
有需要的時候就可以透過網路遠端將機器重新開機。
* 首先如果您是用 FreeBSD 6.x (我不確定再前面的版本行不行) 請先
安裝 /usr/ports/sysutils/ipmi-kmod,並進行 symlink:
# cd /usr/ports/sysutils/ipmi-kmod
# make install
# ln -s /usr/local/include/sys/ipmi.h /usr/include/sys/ipmi.h
# kldload ipmi
一般來說,只有在需透過 ipmitool 直接和本地的 BMC 溝通之時 (
例如說設定 ip 以及密碼等等) 會需要用到這個 kernel module ,
而這基本上只要設定一次,所以不需要設定在開機的時候自動把這個
module 載進來。
* 接著安裝 ipmitool
# cd /usr/ports/sysutils/ipmitool; make install
* 可以測試一下到目前為止 ipmi 的溝通上是不是正確的
# ipmitool -I open chassis status
* 透過 ipmitool 來攔截網路訊號,首先你要找到你網路的 channel id,
可以透過 ipmitool -I open lan print X (其中 X 從 1 開始往上加)
找到後,透過下列方式將 _相同_ 的 ip 以及 netmask, gateway 設上去
# ipmitool -I open lan set X ipaddr 該網卡的IP
# ipmitool -I open lan set X netmask 該網卡的netmask
# ipmitool -I open lan set X defgw ipaddr 該網卡的DefaultGateway
# ipmitool -I open lan set X access on
* 設定密碼,基本上建議最好一定要設密碼 (要不然別人就幫你重新開機? :p)
# ipmitool -I open lan set X password 你的密碼
* 然後把所有的權限都設成密碼驗證 (這個有點賊, ipmi 提供複雜的驗證機
制,有興趣的自己去查 :p)
# ipmitool -I open lan set X auth CALLBACK PASSWORD
# ipmitool -I open lan set X auth USER PASSWORD
# ipmitool -I open lan set X auth OPERATOR PASSWORD
# ipmitool -I open lan set X auth ADMIN PASSWORD
* 開啟 default user access
# ipmitool -I open lan set X user
* 接下來進行測試,有一個要注意的地方是因為 ipmi 的做法是去攔截網路
封包,所以並不能透過 127.0.0.1等等 loopback 的方式來運作 (因為該
資料不會經過網路卡) 您會需要額外的一台電腦來測試。
# ipmitool -A PASSWORD -I lan -H 該機器的ip -P 密碼 chassis status
如果正常的話,上面的動作將和直接在該機器上下
# ipmitool -I open chassis status
的結果相同。
* 通常最常用到的應該是
power status 傳回 on 或是 off 表示現在有否開機
power on 開機
power off 關機,等於直接斷電,不會讓 os 正常結束
power reset 如同按下 reset按鈕。
這樣子就算是整個系統跨了,也可以透過網路遠端進行重新開機,而不需要跑
console :)
* 更多的資訊請參考 ipmitool(1),
另外特別感謝 http://buttersideup.com/docs/howto/IPMI_on_Debian.html
--
後來也 backport 進 ports 了 (/usr/ports/sysutils/ipmi-kmod)
於是就可以直接在該台電腦上透過 ipmitool 將環境設定好,當哪天
有需要的時候就可以透過網路遠端將機器重新開機。
* 首先如果您是用 FreeBSD 6.x (我不確定再前面的版本行不行) 請先
安裝 /usr/ports/sysutils/ipmi-kmod,並進行 symlink:
# cd /usr/ports/sysutils/ipmi-kmod
# make install
# ln -s /usr/local/include/sys/ipmi.h /usr/include/sys/ipmi.h
# kldload ipmi
一般來說,只有在需透過 ipmitool 直接和本地的 BMC 溝通之時 (
例如說設定 ip 以及密碼等等) 會需要用到這個 kernel module ,
而這基本上只要設定一次,所以不需要設定在開機的時候自動把這個
module 載進來。
* 接著安裝 ipmitool
# cd /usr/ports/sysutils/ipmitool; make install
* 可以測試一下到目前為止 ipmi 的溝通上是不是正確的
# ipmitool -I open chassis status
* 透過 ipmitool 來攔截網路訊號,首先你要找到你網路的 channel id,
可以透過 ipmitool -I open lan print X (其中 X 從 1 開始往上加)
找到後,透過下列方式將 _相同_ 的 ip 以及 netmask, gateway 設上去
# ipmitool -I open lan set X ipaddr 該網卡的IP
# ipmitool -I open lan set X netmask 該網卡的netmask
# ipmitool -I open lan set X defgw ipaddr 該網卡的DefaultGateway
# ipmitool -I open lan set X access on
* 設定密碼,基本上建議最好一定要設密碼 (要不然別人就幫你重新開機? :p)
# ipmitool -I open lan set X password 你的密碼
* 然後把所有的權限都設成密碼驗證 (這個有點賊, ipmi 提供複雜的驗證機
制,有興趣的自己去查 :p)
# ipmitool -I open lan set X auth CALLBACK PASSWORD
# ipmitool -I open lan set X auth USER PASSWORD
# ipmitool -I open lan set X auth OPERATOR PASSWORD
# ipmitool -I open lan set X auth ADMIN PASSWORD
* 開啟 default user access
# ipmitool -I open lan set X user
* 接下來進行測試,有一個要注意的地方是因為 ipmi 的做法是去攔截網路
封包,所以並不能透過 127.0.0.1等等 loopback 的方式來運作 (因為該
資料不會經過網路卡) 您會需要額外的一台電腦來測試。
# ipmitool -A PASSWORD -I lan -H 該機器的ip -P 密碼 chassis status
如果正常的話,上面的動作將和直接在該機器上下
# ipmitool -I open chassis status
的結果相同。
* 通常最常用到的應該是
power status 傳回 on 或是 off 表示現在有否開機
power on 開機
power off 關機,等於直接斷電,不會讓 os 正常結束
power reset 如同按下 reset按鈕。
這樣子就算是整個系統跨了,也可以透過網路遠端進行重新開機,而不需要跑
console :)
* 更多的資訊請參考 ipmitool(1),
另外特別感謝 http://buttersideup.com/docs/howto/IPMI_on_Debian.html
--
Tags:
BBS
All Comments
Related Posts
MYSQL Root 登入問題
By James
at 2006-05-03T16:52
at 2006-05-03T16:52
PHP 顯示網頁的問題
By Catherine
at 2006-05-03T15:51
at 2006-05-03T15:51
請教有關Unicode的燒錄
By Carol
at 2006-05-01T01:01
at 2006-05-01T01:01
大量建立Mysql帳號
By Aaliyah
at 2006-04-27T17:17
at 2006-04-27T17:17
FreeBSD對Pentium D CPU的支援?
By Robert
at 2006-04-27T16:27
at 2006-04-27T16:27