IPMIとは †IPMIとはサーバ機を遠隔からOSに関わらず監視、操作するインターフェイス規格のこと。 version2から Serial over IP(sol) をサポートするようになったようなのでコンソールログインもできる。 IPMIの設定 †IPMIを使用するにはいくつかの設定が必要となる。これは下記のように階層化されている。
ほとんどシリアルコンソールの設定と同じなので下記リンクが参考になる。
BIOSの設定 †以下を設定するとPCのPOST(電源セルフテスト)からBIOSのスタートアップ、セットアップの入出力を管理LANポートに渡せる。 BIOS Setupを立ち上げて[Server]-[Console Redirection]に移動する。 以下のように設定する。
GRUBの設定 †以下の設定をするとブートローダー(ここではGRUB)のスタートアップ、メニューの入出力を管理LANポートに渡せる。 /boot/grub/grub.conf default=0 timeout=5 serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal --timeout=5 serial console #splashimage=(hd0,0)/boot/grub/splash.xpm.gz textしか出力できないのでsplashimageはコメントアウトする。 続いてOSの入出力を管理LANポートに渡す設定。 title Fedora Core (2.6.19-1.2911.6.5.fc6xen)
root (hd0,0)
kernel /boot/xen.gz-2.6.19-1.2911.6.5.fc6 console=ttyS0,112500n8r
module /boot/vmlinuz-2.6.19-1.2911.6.5.fc6xen ro root=/dev/md0 console=ttyS1,112500n8r xencons=ttyS2
module /boot/initrd-2.6.19-1.2911.6.5.fc6xen.img
ここでコンソールをどこに出力するかの設定をしている。 !!! 上の設定をしてもOSの起動メッセージが見れない。しかし xenカーネルではない普通のカーネルなら同様の設定でも見れる。 title Fedora Core (2.6.18-1.2798.fc6)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=/dev/md0 rhgb quiet console=tty console=ttyS1,112500n8r
initrd /boot/initrd-2.6.18-1.2798.fc6.img
grub設定が悪いのか、xenカーネル自体がシリアル出力未対応でビルドされたのか、まだ不明。 OS上での設定 †clsではFedora Core 6を用いているが、多くのLinuxでも同様の設定と思われる。 # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 上のような記述があるのでそこに co:2345:respawn:/sbin/agetty 19200 ttyS1 vt100-nav を追加する。 ttyS1 を追加。 また、下記のドライバを読み込む必要がある。
上の3つについてはyumでOpenIPMI、OpenIPMI-tools、OpenIPMI-devel、OpenIPMI-libsをインストールし、root権限で chkconfig ipmi on としておけば自動で読み込まれる。 modprobe 8250 と書くことで自動化した。 [root@cls002 ~]# dmesg | grep 8250 Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A 正常な状態では上記のようになる。 ちなみに、下記がxen consoleにttyS1を奪われているなど、何らかの理由で8250ドライバが正常に働いていない状態。 # dmesg |grep 8250 Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled 8250_pnp: Unknown symbol serial8250_unregister_port 8250_pnp: Unknown symbol serial8250_register_port Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled 管理LANポートのIPアドレスなどの設定 †ipmitoolというオープンソースのツールを用いる。 インストールはyumで。 # yum install -y OpenIPMI OpenIPMI-devel OpenIPMI-tools ipmitoolの使い方はmanしてもぐぐっても、あまり分からなかったので、ここでは判明した分だけを載せる。以下の例はcls180のもの。他のclsも同様に設定できる。 [root@cls180 ~]# ipmitool lan print
Set in Progress : Set Complete
Auth Type Support : NONE MD5 PASSWORD
Auth Type Enable : Callback : NONE MD5 PASSWORD
: User : NONE MD5 PASSWORD
: Operator : NONE MD5 PASSWORD
: Admin : NONE MD5 PASSWORD
: OEM : NONE MD5 PASSWORD
IP Address Source : DHCP Address
IP Address : 10.10.49.180
Subnet Mask : 255.255.255.0
MAC Address : 00:16:17:c3:55:e1
SNMP Community String : public
IP Header : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
Default Gateway IP : 10.10.49.254
802.1q VLAN ID : Disabled
802.1q VLAN Priority : 0
RMCP+ Cipher Suites : 0,1,2,3
Cipher Suite Priv Max : Not Available
[root@cls180 ~]# ipmitool lan set 2 ipsrc lan set <channel> ipsrc <source> none = unspecified static = static address (manually configured) dhcp = address obtained by BMC running DHCP bios = address loaded by BIOS or system software 4つから選択できるが、ここではstaticにしてみる。 [root@cls180 ~]# ipmitool lan set 2 ipsrc static 再度、状態を表示させ確認する。 [root@cls180 ~]# ipmitool lan print ----------略---------- IP Address Source : Static Address IP Address : 192.168.1.1 Subnet Mask : 255.255.255.0 MAC Address : 00:16:17:c3:55:e1 SNMP Community String : public IP Header : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10 Default Gateway IP : 0.0.0.0 ---------略----------- IPアドレス、サブネットマスク、ゲートウェイの設定は以下。 [root@cls180 ~]# ipmitool lan set 2 ipaddr 10.10.49.180 Setting LAN IP Address to 10.10.49.180 [root@cls180 ~]# ipmitool lan set 2 netmask 255.255.255.0 Setting LAN Subnet Mask to 255.255.255.0 [root@cls180 ~]# ipmitool lan set 2 defgw ipaddr 10.10.49.254 Setting LAN Default Gateway IP to 10.10.49.254 ipmitoolのユーザー設定 †ipmitoolを使用するユーザーの設定をする。 [root@cls180 ~]# ipmitool user
User Commands: summary [<channel number>]
list [<channel number>]
set name <user id> <username>
set password <user id> [<password>]
disable <user id>
enable <user id>
priv <user id> <privile level> [<channel number>]
test <user id> <16|20> [<password]>
ユーザーリストは以下。 [root@cls180 ~]# ipmitool user list ID Name Callin Link Auth IPMI Msg Channel Priv Limit 4 administrator true false false Unknown (0x0) 上のは全くの初期状態なので、適当なユーザーとパスワードを設定しなければならない ipmitoolで遠隔から電源ON,OFF、コンソールログインなど †注意事項 †clsの管理LANポートは10.10.49.0/24のネットワークにいる。遠隔からこれにアクセスするには操作するマシンも [root@futenma ~]# ifconfig eth1.60
eth1.60 Link encap:Ethernet HWaddr 00:13:21:C8:64:E2
inet addr:10.10.49.200 Bcast:10.10.49.255 Mask:255.255.255.0
inet6 addr: fe80::213:21ff:fec8:64e2/64 Scope:Link
なので、以下、ipmitoolを使用するにはまずfutenmaにログインする。 [user@ibook ~]# ssh futenma.ie.u-ryukyu.ac.jp
使い方 †ipmitoolでclsの電源を切るには [root@futenma ~]# ipmitool -I lanplus -H 10.10.49.180 -U administrator power soft 電源を入れるには [root@futenma ~]# ipmitool -I lanplus -H 10.10.49.180 -U administrator power on 再起動するには [root@futenma ~]# ipmitool -I lanplus -H 10.10.49.180 -U administrator power reset コンソールログインするには [root@futenma ~]# ipmitool -I lanplus -H 10.10.49.180 -U administrator sol activate 抜ける時は、 enter→~(チルダ)→.(ドット) 特に最後のコンソールログインは、clsにsshできない、pingすら通らない、といった状況で非常に役にたつ。 参考リンク †
Tag: pw |