26.9.2 計画系切り替え
ここでは計画系切り替えの方法について説明します。
計画系切り替えには次に示す二つの方法があります。ご利用の環境に応じて方法を選択してください。
-
方法1
トランザクションキューイングを行った後に計画系切り替えを実行します。この場合,計画系切り替え中も新規トランザクションがキューイングされるため,計画系切り替え中にUAPを実行してもエラーになりません。
なお,この方法で計画系切り替えを行う場合,pd_ha_transactionオペランドにqueuingを指定している必要があります。
また,この方法で計画系切り替えを行う場合,pdtrnqingコマンドの実行から計画系切り替えが完了するまでの間,UAPのトランザクションがキューイングされて待ち状態になるため,その分レスポンス時間が長くなります。そのため,次に示す設定値が妥当かどうかを確認してください。
-
クライアント環境定義のPDCWAITTIMEオペランドで指定するクライアントの最大待ち時間
このオペランドで指定した時間を経過すると,UAPがエラーになります。
-
-
方法2
トランザクションキューイングを使わないで計画系切り替えを実行します。この場合,計画系切り替え中の新規トランザクションは受け付けられないため,計画系切り替え中にUAPを実行するとエラーになります。
- 〈この項の構成〉
(1) 方法1で計画系切り替えを行う場合
クラスタソフトウェアの種類によって計画系切り替えの方法が異なります。
(a) クラスタソフトウェアがHAモニタの場合
計画系切り替えの手順を次に示します。
- <手順>
-
-
pdls -d ha -s サーバ名 -aコマンドで次に示すことを確認してください。
・計画系切り替えの対象となるバックエンドサーバの切り替え元ユニットが稼働状態であること
・計画系切り替えの対象となるバックエンドサーバの切り替え先ユニットが待機状態であること
-
切り替え元のユニットでpdtrnqingコマンドを実行し,トランザクションキューイングを開始してください。
このとき,pdtrnqingコマンドがリターンコード0で正常終了したことを確認してください。リターンコードが0の場合は,トランザクションキューイングが正常に開始されています。リターンコードが0以外の場合は,トランザクションキューイングが開始されていません。この場合,原因対策後,pdtrnqingコマンドを再実行してください。
-
切り替え先が正規ユニットの場合は,HAモニタのmonswapコマンドで計画系切り替えを行ってください。その後,手順の8に進んでください。
切り替え先が受け入れユニットの場合は,次の手順に進んでください。
- 参考
-
受け入れユニットが複数ある場合,HAモニタのmonswapコマンドでは切り替え先を指定できません。システム構築時に指定した優先順位に従って切り替え先が決まります。そのため,優先順位に従った結果,切り替え先が意図するユニットの場合はmonswapコマンドで計画系切り替えを行い,切り替え先が意図しないユニットの場合は手順の4〜7の方法で計画系切り替えを行います。
-
システムマネジャがあるユニットから,pdstop -f -s サーバ名コマンドを実行し,バックエンドサーバを強制終了してください。このとき,pdstopコマンドがリターンコード0で正常終了したことを確認してください。
-
システムマネジャがあるユニットから,pdstart -s サーバ名 -u 切り替え先ユニットの識別子コマンドを実行してください。このとき,pdstopコマンドがリターンコード0で正常終了したことを確認してください。
-
pdls -d ha -s サーバ名 -aコマンドで,切り替え先ユニットでのバックエンドサーバの状態を確認してください。
・バックエンドサーバが切り替え先ユニットで実行系起動待ち状態の場合は次の手順に進んでください。
・バックエンドサーバが切り替え先ユニットで稼働状態の場合は,計画系切り替えが完了しています。
-
切り替え先ユニットで,HAモニタのmonactコマンドを実行してください。このとき,monactコマンドがリターンコード0で正常終了したことを確認してください。
-
pdls -d ha -s サーバ名 -aコマンドで,バックエンドサーバが切り替え先ユニットで稼働状態であることを確認してください。
計画系切り替えが完了すると,トランザクションキューイングは自動的に解除され,キューイングされていたトランザクションが実行されます。何らかの原因でトランザクションキューイングが解除されなかった場合は,切り替え先ユニットで,pdtrnqing -d -s サーバ名コマンドを実行し,トランザクションキューイングを解除してください。このとき,pdtrnqingコマンドがリターンコード0で正常終了したことを確認してください。
-
(b) クラスタソフトウェアがHAモニタ以外の場合
計画系切り替えの手順を次に示します。
- <手順>
-
-
pdls -d ha -s サーバ名 -aコマンドで次に示すことを確認してください。
・計画系切り替えの対象となるバックエンドサーバの切り替え元ユニットが稼働状態であること
・計画系切り替えの対象となるバックエンドサーバの切り替え先ユニットが待機状態であること
-
切り替え元のユニットでpdtrnqingコマンドを実行し,トランザクションキューイングを開始してください。
このとき,pdtrnqingコマンドがリターンコード0で正常終了したことを確認してください。リターンコードが0の場合は,トランザクションキューイングが正常に開始されています。リターンコードが0以外の場合は,トランザクションキューイングが開始されていません。この場合,原因対策後,pdtrnqingコマンドを再実行してください。
-
クラスタソフトウェアのコマンドで,計画系切り替えを行ってください。
-
pdls -d ha -s サーバ名 -aコマンドで,バックエンドサーバが切り替え先ユニットで稼働状態であることを確認してください。
計画系切り替えが完了すると,トランザクションキューイングは自動的に解除され,キューイングされていたトランザクションが実行されます。何らかの原因でトランザクションキューイングが解除されなかった場合は,切り替え先ユニットで,pdtrnqing -d -s サーバ名コマンドを実行し,トランザクションキューイングを解除してください。このとき,pdtrnqingコマンドがリターンコード0で正常終了したことを確認してください。
-
(2) 方法2で計画系切り替えを行う場合
HAモニタのmonswapコマンドを実行します。
monswapコマンド実行後,切り替え元ユニットで該当バックエンドサーバは自動的に待機状態になります。
なお,Hitachi HA Toolkit Extensionの使用時は,monswapコマンドではなくクラスタソフトウェアの計画系切り替えコマンドを入力してください。
影響分散スタンバイレス型系切り替え機能での計画系切り替えの動作を次の表に示します。
バックエンドサーバの種別 |
動作 |
移動先 |
---|---|---|
ホストBES |
最も優先度の高い切り替え先に移動します。ゲスト用領域に空きがない場合はその次に優先度の高い切り替え先に移動します。 |
ゲストBES |
ゲストBES |
ホストBES |
(a) ホストBESに対する計画系切り替え
ホストBESに対する計画系切り替えの例を次の図に示します。この例は,ホストのハードウェアメンテナンスなどのためにサーバマシン(本例ではhostA)を停止する必要がある場合の運用例です。
この例では,unt1上の現用BESに対して計画系切り替えをします。手順は次のとおりです。
-
hostAでBES1に対してmonswapコマンドを入力し,BES1をhostBに切り替えます。
-
hostAでBES2に対してmonswapコマンドを入力し,BES2をhostCに切り替えます。
なお,Hitachi HA Toolkit Extension使用時は,クラスタソフトウェアの計画系切り替えコマンドを入力します。
(b) ゲストBESの計画系切り替え(系の切り戻し)
ゲストBESに対する計画系切り替え(系の切り戻し)の例を次の図に示します。この例は,障害ユニットが復旧した場合の運用例です。
この例では,unt3から移動したBES5とBES6を計画系切り替えで切り戻します。手順は次のとおりです。
-
hostAでBES5に対してmonswapコマンドを入力し,BES5をhostCに切り替えます。
-
hostBでBES6に対してmonswapコマンドを入力し,BES6をhostCに切り替えます。
なお,Hitachi HA Toolkit Extension使用時は,クラスタソフトウェアの計画系切り替えコマンドを入力します。