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) は、minTimeToWait0 より小さい値の場合に失敗の回数を無限にすることを許可します。minTimeToWait0 より小さい値でない場合、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 でサイトをオフラインにする」を参照) ことによりオンラインに復帰させることができます。