29.3. サイトをオフラインにする
Red Hat JBoss Data Grid のデータセンター間レプリケーション設定では、一定の期間内にあるサイトへのバックアップが複数回失敗すると、そのサイトをオフラインとして自動的にマークできます。この機能により、サイトをオフラインとマークする管理者の手動の介入は不要になります。
指定される条件を満たす場合にサイトを自動的に停止させたり、管理者がサイトを手動で停止させたりできるように JBoss Data Grid を設定することができます。
- サイトの自動的なオフライン設定:
- リモートクライアントサーバーモードで宣言的に実行。
- ライブラリーモードで宣言的に実行。
- プログラムを用いたメソッドの使用。
- サイトの手動によるオフライン設定:
- JBoss Operations Network (JON) の使用。
- JBoss Data Grid コマンドラインインターフェース (CLI) の使用。
29.3.1. サイトをオフラインに設定する (リモートクライアントサーバーモード)
Red Hat JBoss Data Grid のリモートクライアントサーバーモードでは、サイトが自動的にオフラインにする設定を行うために、
take-offline
要素が backup
要素に追加されます。
例29.2 サイトをオフラインに設定する (リモートクライアントサーバーモード)
<backup> <take-offline after-failures="${NUMBER}" min-wait="${PERIOD}" /> </backup>
take-offline
要素は、いつサイトをオフラインにするかを設定するために以下のパラメーターを使用します。
after-failures
パラメーターは、サイトがオフラインになる前にサイトへの接続の試行を失敗できる回数を指定します。min-wait
パラメーターは、応答しないサイトをオフラインとしてマークするために待機する時間 (秒数単位) を指定します。このサイトは、min-wait
期間が最初の試行後に経過した時やafter-failures
パラメーターで指定される試行の失敗回数に達した時にオフラインになります。
29.3.2. サイトをオフラインにする (ライブラリーモード)
Red Hat JBoss Data Grid のライブラリーモードでは、
backups
要素内ですべてのバックアップサイトを定義した後に backupFor
要素を使用します。
例29.3 サイトをオフラインに設定する (ライブラリーモード)
<backup> <takeOffline afterFailures="${NUM}" minTimeToWait="${PERIOD}"/> </backup>
サイトを自動的にオフラインにする設定を行うには、
takeOffline
要素を backup
要素に追加します。
afterFailures
パラメーターは、サイトがオフラインになる前にサイトへの接続を失敗できる回数を指定します。デフォルト値 (0
) は、minTimeToWait
が0
より小さい値の場合に失敗の回数を無限にすることを許可します。minTimeToWait
が0
より小さい値でない場合、afterFailures
は、その値が負の値であるかのように動作します。つまり、このパラメーターが負の値である場合、minTimeToWait
で指定される時間が経過した後にサイトがオフラインになることを示します。minTimeToWait
パラメーターは、応答しないサイトをオフラインとしてマークするために待機する時間 (秒数単位) を指定します。サイトは、afterFailures
パラメーターで指定される試行回数に達し、最初の失敗後にminTimeToWait
で指定される時間が経過した後にオフラインになります。このパラメーターが0
以下の値に設定される場合、このパラメーターは無視され、サイトはafterFailures
パラメーターのみに基づいてオフラインになります。
29.3.3. サイトをオフラインにする (プログラムを用いた場合)
Red Hat JBoss Data Grid において、プログラムを用いてデータセンター間のレプリケーションサイトを自動的にオフラインに設定するには、以下のようにします。
例29.4 サイトをオフラインにする (プログラムを使用)
lon.sites().addBackup() .site("NYC") .backupFailurePolicy(BackupFailurePolicy.FAIL) .strategy(BackupConfiguration.BackupStrategy.SYNC) .takeOffline() .afterFailures(500) .minTimeToWait(10000);
29.3.4. JBoss Operations Network (JON) 経由でサイトをオフラインにする
JBoss Operations Network の操作を使用して、Red Hat JBoss Data Grid でサイトをオフラインにすることができます。メトリックスの一覧については、「JBoss Operations Network プラグイン操作」を参照してください。
29.3.5. CLI でサイトをオフラインにする
サイトが応答しない場合、Red Hat JBoss Data Grid のコマンドラインインターフェース (CLI) で
site
コマンドを使用して、データセンター間のレプリケーション設定からサイトを手動でシャットダウンします。
site
コマンドを使用して、以下のようにサイトの状態を確認することができます。
[jmx://localhost:12000/MyCacheManager/namedCache]> site --status ${SITENAME}
このコマンドの結果は、名前付きサイトの現在の状態に応じて、
online
または offline
のいずれかになります。
このコマンドは、以下のように名前を使用してサイトをオンラインまたはオフラインにするように使用できます。
[jmx://localhost:12000/MyCacheManager/namedCache]> site --offline ${SITENAME}
[jmx://localhost:12000/MyCacheManager/namedCache]> site --online ${SITENAME}
コマンドが正常に実行されると、コマンドの後に出力
ok
が表示されます。また、JMX を使用してサイトをオンラインに復帰させることもできます (詳細については「サイトをオンラインに戻す」を参照)。
JBoss Data Grid CLI とそのコマンドについてさらに詳しくは、『開発者ガイド』の JBoss Data Grid コマンドラインインターフェース (CLI) についての章を参照してください。
29.3.6. サイトをオンラインに戻す
サイトがオフラインになった後に、サイトは、JMX コンソールを使用して
XSiteAdmin
MBean 上で bringSiteOnline(siteName)
操作を呼び出すか (詳細については「XSiteAdmin」を参照)、CLI を使用する (詳細については「CLI でサイトをオフラインにする」を参照) ことによりオンラインに復帰させることができます。