Cosminexus 簡易構築・運用ガイド
Cosminexusでは,システムに障害が発生した場合の動作を障害検知時コマンドで定義できます。ユーザ作成の障害検知時コマンドにSmart Composer機能のコマンドを定義しておくことで,システムの運用中に障害が発生した場合にサービスユニットを自動閉塞できるため,迅速な障害対応ができます。
J2EEサーバのハングアップなどシステムの一部で致命的な障害が発生した場合に,障害発生時の情報を収集し,障害の発生しているサービスユニットを自動的に閉塞します。障害検知時コマンドによるサービスユニットの自動閉塞処理を次の図に示します。
図6-23 障害検知時コマンドによるサービスユニットの自動閉塞処理
Smart Composer機能を使用すると,致命的な障害が発生した場合に,そのサービスユニットを自動閉塞できます。
ここでは例として,J2EEサーバがハングアップまたはプロセスダウンした場合,障害検知時コマンドを使用してサービスユニットを自動閉塞する方法について説明します。必要な操作は次のとおりです。
障害検知時コマンドの概要については,マニュアル「Cosminexus 機能解説」の障害検知時コマンドによるトラブルシューティングの資料取得に関する説明を,設定については,マニュアル「Cosminexus システム構築ガイド」の障害検知時コマンドによる資料取得の設定に関する説明を参照してください。
前準備として,J2EEサーバの自動再起動の設定を無効にする必要があります。この設定が有効になっている場合(デフォルトでは有効に設定されています)は,次の手順で設定を変更してください。
<?xml version="1.0" encoding="UTF-8"?> <model-definition xmlns="http://www.cosminexus.com/mngsvr/schema/ModelDefinition-2.5"> <web-system> <name>MyWebSystem</name> <!-- 負荷分散機の定義 --> <load-balancer> : </load-balancer> <!-- 物理ティア(combined-tier)の定義 --> <tier> <tier-type>combined-tier</tier-type> <!-- J2EEサーバの障害検知時自動再起動を無効にする設定 --> <configuration> <logical-server-type>j2ee-server</logical-server-type> <param> <param-name>mstartup.restartcnt</param-name> <param-value>0</param-value> </param> </configuration> </tier> <!-- サービスユニットの定義 --> <unit> : </unit> </web-system> <!-- ホストの定義 --> <host> : </host> </model-definition> |
障害検知時コマンドには,障害発生時に呼び出すコマンドを定義します。
システム提供の障害検知時コマンドについては,提供されているものを使用するため,ここで作成する必要はありません。
ここでは,J2EEサーバのハングアップまたはプロセスダウンを検知しときに障害の発生したJ2EEサーバを含むサービスユニットを閉塞する,ユーザ作成の障害検知時コマンドを作成します。なお,作成例で使用している環境変数の詳細については,マニュアル「Cosminexus システム構築ガイド」の環境変数の設定に関する説明を参照してください。
@echo off "<Cosminexusインストールディレクトリ>\manager\bin\cmx_stop_target" -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode HOLD -s "%COSMI_MNG_WEB_SYSTEM%" -unit "%COSMI_MNG_UNIT%" |
#!/bin/sh /opt/Cosminexus/manager/bin/cmx_stop_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode HOLD -s "${COSMI_MNG_WEB_SYSTEM}" -unit "${COSMI_MNG_UNIT}" |
mserver.properties(Management Server環境設定ファイル)で,ユーザ作成の障害検知時コマンドの動作を設定します。なお,システム提供の障害検知時コマンドについては,デフォルトで利用する設定になっているため,ここでの設定は必要ありません。
... com.cosminexus.mngsvr.usr_cmd.abnormal_end.enabled=true com.cosminexus.mngsvr.usr_cmd.abnormal_end.timeout=300 ... |
<Cosminexusインストールディレクトリ>\manager\bin\mngsvrctl stop <Cosminexusインストールディレクトリ>\manager\bin\mngsvrctl start |
# /opt/Cosminexus/manager/bin/mngsvrctl stop # /opt/Cosminexus/manager/bin/mngsvrctl start |
adminagent.properties(運用管理エージェントプロパティファイル)で,ユーザ作成の障害検知時コマンドを実行するための設定をします。
... adminagent.j2ee.usr_cmd.abnormal_end=%{ComSpec} /c "C:/work/holdunit.bat" ... |
... adminagent.j2ee.usr_cmd.abnormal_end=/bin/sh /work/holdunit.sh ... |
<Cosminexusインストールディレクトリ>\manager\bin\adminagentctl stop <Cosminexusインストールディレクトリ>\manager\bin\adminagentctl start |
# /opt/Cosminexus/manager/bin/adminagentctl stop # /opt/Cosminexus/manager/bin/adminagentctl start |
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.