11.8.6 ユーザが行うバックエンドサーバの負荷均等化
ユーザが,コマンドを実行してバックエンドサーバの負荷を均等化できます。
- 〈この項の構成〉
(1) 操作手順
Hitachi HA Toolkit Extension使用時の操作手順を次に示します。なお,複数のバックエンドサーバを移動する場合は,「バックエンドサーバの移動の自動化」を参照してください。
- 1.移動するサーバの状態を確認する
-
システムマネジャがあるユニットで,pdls -d ha -s サーバ名 -aコマンドを実行し,その表示内容(標準出力)から次の項目を確認してください。
-
移動対象となるバックエンドサーバが,移動元ユニットで稼働状態(ONL)である
-
移動対象となるバックエンドサーバが,移動先ユニットで待機状態(SBY)又は停止状態(STP)である
-
- 2.移動するバックエンドサーバのトランザクションキューイング機能を開始する
-
バックエンドサーバの移動元ユニットで,pdtrnqing -s サーバ名コマンドを実行し,トランザクションキューイング機能を開始してください。pd_ha_transactionオペランドにqueuingを指定していない場合は,この操作を行う必要はありません。
コマンドがリターンコード0で正常終了,又はリターンコード4で警告終了したことを確認してください。リターンコードが0の場合は,トランザクションキューイング機能が正常に開始されたことを意味します。リターンコードが4の場合は,pd_ha_transactionオペランドの指定値がerrorであることを意味します。リターンコードが8及び12の場合は,障害が発生しているため手順を終了してください。
- 3.クラスタソフトウェアの系切り替えコマンドでバックエンドサーバを移動する
-
クラスタソフトウェアの系切り替えコマンドを使用して,移動先ユニットに系を切り替えてください。
- 4.バックエンドサーバの状態を確認する
-
システムマネジャがあるユニットで,pdls -d ha -s サーバ名 -aコマンドを実行し,その表示内容(標準出力)及びリターンコードから次の項目を確認してください。
-
バックエンドサーバが,移動先ユニットで稼働状態(ONL)である
-
- 5.移動するバックエンドサーバのトランザクションキューイング機能を解除する
-
バックエンドサーバの移動先ユニットで,pdtrnqing -d -s サーバ名コマンドを実行し,トランザクションキューイング機能を解除してください。pd_ha_transactionオペランドにqueuingを指定していない場合は,この操作をする必要はありません。
コマンドのリターンコードが0であることを確認してください。リターンコードが0でない場合,障害が発生しているため手順を終了してください。
(2) 障害発生時の対処
バックエンドサーバの移動中にエラーが発生した場合,イベントログ,及び標準出力・標準エラー出力のメッセージを参照し,原因を取り除いてください。
また,トランザクションキューイング機能開始以降に障害が発生した場合は,トランザクションキューイング機能を中断するため,システムマネジャがあるユニットで次のコマンドを実行してください。
pdtrnqing -d -f -s サーバ名
上記コマンドを実行すると,トランザクションキューイング機能は解除されます。ただし,障害によって不当にトランザクションキューイング機能が動作することを防ぐための対処であるため,開始されていないバックエンドサーバに対して処理要求が発生し,SQLエラーとなります。
(3) 注意事項
(a) バックエンドサーバの移動の自動化
トランザクションキューイング機能を使用して,複数のバックエンドサーバを移動する場合は,次の手順で自動化してください。
-
トランザクションキューイング機能の開始
-
バックエンドサーバの移動
-
トランザクションキューイング機能の解除
ユーザが手作業で行うと,バックエンドサーバの移動処理に時間が掛かり,トランザクションキューイング機能のタイムアウトが発生し,トランザクションがエラーとなることがあります。
(b) 複数のバックエンドサーバを移動する場合
トランザクションキューイング機能を使用して,複数のバックエンドサーバを移動する場合,1サーバごとに「操作手順」を実行してください。複数同時には実行しないでください。複数のバックエンドサーバを同時に移動させると,それらのバックエンドサーバにアクセスするトランザクションがキューイングされ,トランザクションが終了できなくなることがあります。この場合,pdtrnqingコマンドがエラーとなることがあります。