ここでは,仮想サーバの障害要因を調査する方法について説明します。
仮想サーバ上のアプリケーションサーバで発生する障害は,JP1/IMなどを利用して監視できます。また,仮想サーバの起動,停止,更新などの処理中に障害が発生した場合は,管理ユニットに属する仮想サーバの状態を表示して確認できます。
障害が発生した仮想サーバを調査する手順を次に示します。
- ポイント
- 作業を実施するユーザ:システム構築者
ここでは,管理ユニット「gyoumu_a」で,仮想サーバ識別子が「192.168.1.101」の仮想サーバで障害が発生した例を示します。
- 管理用端末マシンから仮想化システム管理用サーバマシンにリモート接続します。
- vmiunitコマンドのサブコマンド「status」を使用して,管理ユニットに属する仮想サーバの状態を表示して,障害が発生した仮想サーバを特定します。
コマンドの実行例と実行結果の例を次に示します。
vmiunit status -unit gyoumu_a -target virtualserver |
- (コマンド実行結果の例)
Virtual Server ID: 192.168.1.101
Update Scope: all
Logical Status: fault(updating)
Observed Status: stopped
LB Status: blocked
Access: online
Virtual Server ID: 192.168.1.102
Update Scope: none
Logical Status: working
Observed Status: working
LB Status: unblocked
Access: online |
この例は,管理ユニットに属する仮想サーバが次の表に示す状態であることを示しています。
実行結果の項目 | 説明 | 管理ユニットに属する仮想サーバの状態 |
---|
Virtual Server ID | 仮想サーバ識別子 | 192.168.1.101 | 192.168.1.102 |
Update Scope | 仮想サーバの定義の変更範囲 | すべての定義で更新が必要 | 更新の必要なし |
Logical Status | 仮想サーバの論理ステータス | 反映失敗の障害状態 | 稼働中状態 |
Observed Status | 仮想サーバの実ステータス | 停止状態 | 稼働中状態 |
LB Status | 仮想サーバの負荷分散機ステータス | 閉塞状態 | 閉塞解除状態 |
Access | サーバ通信エージェントとの通信状態 | 正常 | 正常 |
これによって,仮想サーバ識別子「192.168.1.101」の仮想サーバが,障害停止中(論理ステータスがfault(updating)(反映失敗の障害状態)と実ステータスがstopped(停止状態))であることがわかります。
- 管理用端末マシンからハイパーバイザ管理用サーバマシンにリモート接続します。
- 必要に応じて,障害が発生した仮想サーバが稼働するハイパーバイザの情報を取得するか,またはリソース管理者に取得依頼します。
- 特定した仮想サーバに直接アクセスして,障害要因を調査します。
障害要因として,次の問題が考えられます。
- 定義ディレクトリの問題
- アプリケーションの問題
- 仮想サーバのテンプレートの問題
- 仮想サーバが稼働するハイパーバイザの問題
フックスクリプトを利用してJP1連携を自動設定している場合は,次のファイルを順番に参照して障害要因を調査してください。
- フックスクリプトによって出力されたトレースファイル
トレースファイルは,フックスクリプトでSCRIPT_TRACEパラメタに指定したファイル名で出力されます。このファイルを参照してエラーメッセージとエラーが発生したコマンドを確認します。
- フックスクリプト
トレースファイルで確認したエラーメッセージをフックスクリプトで検索して,エラーメッセージを出力したコマンドを特定します。そのコマンドで使用しているパラメタの指定内容を確認してください。
- JP1製品のログファイル
フックスクリプトで特定したコマンドがJP1製品のコマンドの場合は,仮想サーバ上のJP1製品のログファイルを参照し,エラーの原因を調査してください。
- Management Serverのログファイル
フックスクリプトで特定したコマンドがManagement Serverのコマンドの場合は,仮想サーバ上のManagement Serverのログを参照し,エラーの原因を調査してください。
- 管理用端末マシンから仮想化システム管理用サーバマシンにリモート接続します。
- 必要に応じて,vmiunitコマンドのサブコマンド「mark」を使用して,特定した仮想サーバに障害マークを設定します。
コマンドの実行例を次に示します。
vmiunit mark -unit gyoumu_a -vs 192.168.1.101 |