2007/10/12

Dell Remote Access ControllerへのTELNET接続

Linuxのクラスタで、フェンスデバイスとしてDell Remote Access Controller(Dell RAC, DRAC)を利用できる。これは、TELNETでDRACのポートに接続・ログインし、コマンドを投入することで、PowerEdge本体の電源を制御できることを利用している(fence_drac(8)参照)。
これを利用するには、DRACカードがPowerEdge本体にインストールされていなければならないし、BIOSが正しく設定されていなければならないし、DRACの設定でTELNETを有効にしておかなければならない。その方法は、で述べてあるので、その通りに設定する。

が、手元にあるPowerEdge 2650ではなかなかうまく行かなかった。カードは本体にインストールしてあり、BIOSの設定もうまく行って、DRACのアドレスにHTTPSで接続して管理を行うこともできた。できなかったのはracadmコマンドだ。手元のPE2650にはDRAC IIIがインストールしてある。これに対応するコマンドは、OpenManageをインストールしていれば、/opt/dell/srvadmin/rac3/bin以下にあるのだが、ここには肝心のracadmコマンドが準備されていない。

解決編だが、これには大きく分けて二通りの方法がある。一つは、/opt/dell/srvadmin/rac4/bin/racadmを使う方法。もう一つは、DRACのウェブ管理画面を使う方法だ。

まず最初の、コマンドを使用する方法だが、要するに、DRAC4向けのユーティリティを使え、ということだ。ただし、DRAC4向けのコマンドでローカルのDRAC IIIを設定することはできないので、リモートで設定する。PE本体のOS(この場合はCentOS 5)にログインし、以下の通り実行する(下線部がユーザ入力)。
# cd /opt/dell/srvadmin/rac4/bin
# ./racadm -u root -p "パスワード" -r DRACのIPアドレス config -g cfgSerial -o cfgSerialConsoleEnable 1
Object value successfully modified
# ./racadm -u root -p "パスワード" -r DRACのIPアドレス config -g cfgSerial -o cfgSerialTelnetEnable 1
Object value successfully modified
#./racadm -u root -p "パスワード" -r DRACのIPアドレス racreset
#
ここで言う「パスワード」は、DRACに認識されるパスワードで、OSのものとは違うことに注意する。最後は、DRACを再起動するコマンド。再起動しないと、設定が反映されない。

もう一つの方法だが、DRACのIPアドレスにHTTPSでアクセスすると、次のような画面が表示される(ホスト名がlocalhostになっているのは、SSHポート転送を使用しているから。通常の環境ならば、正しいホスト名が表示されるべき)ここに「ユーザ名」入力欄にroot、「パスワード」入力欄にDRACのパスワードを入力し、「OK」のリンクをクリックすると、RACの管理画面に変わる(しばらく時間がかかる)。ここから「デバッグ」タブ→「コマンドのデバッグ」サブタブを選択する。この画面では、DRACのCUIコマンド(OSのコマンドではない)を実行することができる。「コマンド」入力欄に以下の三つのコマンドを入力し、その都度「送信」をクリックする。
racadm config -g cfgSerial -o cfgSerialConsoleEnable 1
racadm config -g cfgSerial -o cfgSerialTelnetEnable 1
racadm racreset
最後の再起動の設定以外は、次のような画面が表示される。入力する度に「 コマンドのデバッグ ページに戻る」をクリックして元の画面に戻る。

DRACの再起動(OSの再起動は不要)が終わったら、実際にTELNETできるか確認する。
# telnet DRACのホスト名
Trying DRACのIPアドレス...
Connected to DRACのホスト名 (DRACのIPアドレス).
Escape character is '^]'.

Dell Embedded Remote Access Controller (ERA)
Firmware Version 3.0 (Build 10.06)
Login: root
Password: パスワード
[root]#
DRACのパスワードはエコーバックされないので表示されない。

フェンスできるかどうかは、以下のコマンドをOS上で実行し、確認する。
# fence_drac -a DRACのIPアドレス -l root -p "パスワード"
これを実行すると、PowerEdge本体がシャットダウンされる。

こんなことが役に立つ人ってどのくらいいるのかな…?

0 件のコメント: