「EXPRESSSCOPEの使い方:基本編」では、EXPRESSSCOPEのリモートデバイス機能(リモートKVM、リモートメディア)を利用したOSのインストール方法を紹介しました。リモートデバイスは見た目が派手でいかにも「リモート操作」といった感じの機能なのですが、オプション機能ということもあり、実際の利用頻度はそれほど高くはないかもしれません。リモートデバイス機能を使うとOSのインストールやBIOSのアップデートといった、通常はコンソールから行う必要のある作業がリモートから行えますが、そうした作業自体それほど頻繁に行うものではないからです。そこで今回は、EXPRESSSCOPEの機能をコマンドラインから利用する方法を紹介しましょう。
by morihide
コマンドラインからとひと口に言っても、利用方法はいくつかあります。ここでは、手軽な方法から順番に紹介します。ちなみに今回の執筆にも1Uハーフサーバの「Express5800/i110Rc-1h」を利用しましたが、OSは前回インストールしたFedora 7ではなく、Ubuntu 7.10のServer版をインストールしてあります。
EXPRESSSCOPEはWeb管理コンソールのほかに、コマンドラインインタフェース(CLI)も備えています。最初にこのCLIを利用してみましょう。ただし、CLIは工場出荷時の設定では無効化されているので、次の手順で有効化します。
まず、EXPRESSSCOPEのWeb管理コンソールにログインし、「設定」→「その他」を開きます。この画面で「Enabled」をチェックして「更新」ボタンをクリックします。これで、CLIにTelnet/SSH経由でアクセスできるようになります。ちなみに、セキュリティ上の観点からはTelnetを無効にしておきたいところですが、TelnetとSSHのどちらかだけを有効にするといった設定はできないようです。その代わりというわけではありませんが、それぞれのサービスポートを変更できますので、標準以外のポート番号にしておくとよいかもしれません。
なお、EXPRESSSCOPEにはあらかじめ「administrator」というアカウントが設定されていますが、工場出荷時はadministratorにパスワードが設定されていません。不正な操作を防止するために、必ずadministratorにパスワードを設定しておきましょう。また、administratorアカウントを複数人で共用するのはパスワード漏洩の原因となりますので避けてください。管理者ごとにアカウントを作成し、各人でパスワードを管理するようにしましょう。アカウントの作成やパスワードの設定は、Web管理コンソールの「設定」→「ユーザー」の画面で行えます。
それではEXPRESSSCOPEのCLIにログインしてみましょう。方法は普通のSSHサーバにログインするときと同じです。
ssh hmori@172.17.4.129 hmori@172.17.4.129's password: ←パスワードを入力 Copyright (c) Interpeak AB 2000-2004. All rights reserved. /./->
最後に表示された「/./->」がCLIのプロンプトです。CLIからログアウトするときは、exitコマンドを実行します。
/./-> exit
サーバの電源を入れるときは、以下のようにstartコマンドを実行します。
/./-> start /system1 System1 started.
引数には操作対象を指定し、上で指定した「/system1」はサーバそのものを表します。「/」で始まっていることから推測できるように、操作対象はツリー構造を構成しており、Linuxのディレクトリツリーのように移動することができます。たとえば、上のコマンドは以下のように実行することもできます。
/./-> cd system1 /./system1/-> start
この場合、system1に移動しているので、startコマンドの引数を省略することができます。
次にOSのシャットダウン(と電源オフ)を行ってみます。OSのシャットダウンするには、以下のようにstopコマンドを実行します。
/./-> stop /system1 System1 stopped.
どうでしょう? サーバの電源が落ちたでしょうか。もし、上のコマンドを実行しても何も起こらない場合は、OSがACPIに対応していない、あるいはACPIの設定が行われていない可能性があります。実は、stopコマンドはEXPRESSSCOPEを介して「電源ボタンの押下」イベントとしてOSに伝達されるのですが、そうしたイベントを適切に処理するためにOSがACPIに対応している必要があるのです。
さて、LinuxではACPIに対応するためにacpidというデーモンが使われており、大抵のディストリビューションには標準で含まれています。ただし、サーバ用に最小構成でシステムをインストールしたような場合はインストールされていない可能性があります。Server版のUbuntuでは標準ではインストールされていなかったので、acpidを以下のコマンドでインストールしました。
$ sudo apt-get install acpid
なお、acpidパッケージには電源ボタンのイベントを監視するための設定とスクリプトが含まれているので、特に設定を追加する必要はありませんでした(acpidの設定ファイルとスクリプト群は/etc/acpiにあります)。
シャットダウン要求に対しOSが反応しないような場合は、強制的に電源を切ることができます。それには、上記のシャットダウンコマンドに「-f」(もしくは「-force」)オプションを付けて実行します。
/./-> stop /system1 -f System1 stopped.
ただし、正常に稼働しているシステムの電源を強制的に落とすと、ファイルを破損したりファイルシステムにダメージを与えたりするおそれがありますので、まずOSのシャットダウンを試してみるようにしてください。
なお、強制的に電源を落として再起動させるような場合は、resetコマンドが便利です。
/./-> reset /system1 System1 reset.
このCLIは適当なSSHクライアントがあればOSに関係なく使えるので非常に手軽です(右の画面は、WindowsからCygwinのsshコマンドでCLIを利用している様子です)。EXPRESSSCOPE内蔵のSSHサーバはSSHバージョン2のみの対応で、SSHバージョン1にしか対応していないSSHクライアントからは利用できないのですが、そのような古いクライアントはほとんど淘汰されてしまっているのであまり気にする必要はないでしょう。もし、そうしたクライアントをお使いの場合は、これを機に新しいクライアントに乗り換えることをお勧めします。