
OSSのクラウド基盤「Eucalyptus」を使う(5)--ツールの利用とトラブルシュートのコツ
9.トラブルシューティング
ここまででうまく動かない場合のチェックポイントは以下の通りです。
フロントエンドのログファイル
フロントエンドノードの「/opt/eucalyptus/var/log/eucalyptus/cloud-output.log」が、CLCのログです。EC2 API Toolsが何らかのエラーを返した場合、CLCのログに何かが記録されていることが多いようです。CCのログは、同じディレクトリの「cc.log」です。
計算ノードのログファイル
計算ノードの「/opt/eucalyptus/var/log/eucalyptus/nc.log」がNCのログです。「ec2-run-instances」はエラーなく終了するのに、その後「ec2-describe-instances」で見たときに、すぐにterminatedになってしまう、あるいはしばらくpendingが続いた後runningにならずにterminatedになってしまう、といった場合は、ここに何かが書かれていることが多いと思います。
仮想ネットワーク関連
「ec2-describe-instances」で示されているIPアドレスに接続できないなどの問題は、CCのログを見るか、フロントエンドノードでネットワークの各種設定を見るとよいでしょう。具体的には、iptablesのnatテーブルおよびfilterテーブルの設定、sysctlのIPフォワーディングの設定(有効であること)、VLANの設定、VLANパケットが通ることの確認(計算ノードでtcpdumpを実行しながらフロントエンドノードからインスタンスにpingするなど)あたりでしょうか。この他、フロントエンドノードからはインスタンスのローカルIPアドレスにもアクセス可能です。
マシンイメージの問題
NCのログからインスタンスの起動ができた(currently running/booting: i-XXXXXXXX)のに、すぐに終了してしまう(warning: hypervisor failed to find domain i-XXXXXXXX, assuming it was shut off)ような場合はイメージに問題があるのかもしれません。計算ノードのイメージキャッシュ(/opt/eucalyptus/var/lib/eucalyptus/instances/eucalyptus/cache/)からイメージをコピーし、これをXenのDomain U環境で起動してみるとなにかが分かるかもしれません。
また、running状態なのにloginできない、といった場合には、「ec2-get-console-output」コマンドでコンソール出力を見てみるのも手です。このコマンドはどういう訳か数回実行しないと中身が出てこなかったりしますので注意が必要です。
あるいは、計算ノードにログインし、「xm console」を実行すると、コンソールに対して入力することもできます。rootなどのパスワードが設定してあるイメージであれば、ここからトラブルシューティングすることも可能かもしれません。ちなみにeuca-ttylinuxの場合はrootのパスワードはrootです。
筆者紹介
VA Linux Systems Japan 高橋浩和・小田逸郎・箕浦真(MAIL)
各種OS、仮想化、Linux Kernelおよびオープンソースにおける高度な技術と経験を基盤とした、技術コンサルティング、開発、インテグレーションとソフトウェアソリューションを提供。VA Linuxは、2000年9月に設立され、Linux Kernelや仮想化に関するグローバルレベルの技術力をベースにLinuxおよびオープンソース業界を牽引する中核企業として成長を続けている。