Hitachi

ノンストップデータベース HiRDB Version 9 システム運用ガイド(UNIX(R)用)


11.8.6 ユーザが行うバックエンドサーバの負荷均等化

ユーザが,コマンドを実行してバックエンドサーバの負荷を均等化できます。

〈この項の構成〉

(1) 操作手順

HAモニタ使用時とHitachi HA Toolkit Extension使用時とで,操作手順が異なります。操作手順を次に示します。なお,複数のバックエンドサーバを移動する場合は,「バックエンドサーバの移動の自動化」を参照してください。

(a) HAモニタ使用時

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.移動するバックエンドサーバを強制終了する

システムマネジャがあるユニットで,pdstop -f -s サーバ名コマンドを実行し,強制終了してください。このとき,コマンドのリターンコードが0であることを確認してください。リターンコードが0でない場合は,障害が発生しているため手順を終了してください。

4.移動するバックエンドサーバを移動先ユニットで開始する

システムマネジャがあるユニットで,pdstart -s サーバ名 -u 移動先ユニット識別子コマンドを実行してください。このとき,コマンドのリターンコードが0であることを確認してください。リターンコードが0でない場合は,障害が発生しているため手順を終了してください。

5.移動するバックエンドサーバの状態を確認する

システムマネジャがあるユニットで,pdls -d ha -s サーバ名 -aコマンドを実行し,その表示内容(標準出力)及びリターンコードから次の項目を確認してください。

  • バックエンドサーバが,移動先ユニットで実行系起動待ち状態(WIT)であるか確認してください。バックエンドサーバが,移動先ユニットで実行系起動待ち状態(WIT)の場合は手順6.へ進んでください。

  • バックエンドサーバが,移動先ユニットで稼働状態(ONL)であるか確認してください。バックエンドサーバが,移動先ユニットで稼働状態(ONL)の場合は手順7.へ進んでください。

  • 上記に該当しない場合,障害が発生しているため手順を中止してください。

6.移動先ユニットでバックエンドサーバの開始を続行する

移動先ユニットで,スーパユーザがmonact サーバ名コマンドを実行し,コマンドのリターンコードが0であることを確認してください。リターンコードが0でない場合,障害が発生しているため手順を終了してください。

7.移動するバックエンドサーバのトランザクションキューイング機能を解除する

バックエンドサーバの移動先ユニットで,pdtrnqing -d -s サーバ名コマンドを実行し,トランザクションキューイング機能を解除してください。pd_ha_transactionオペランドにqueuingを指定していない場合は,この操作をする必要はありません。

コマンドのリターンコードが0であることを確認してください。リターンコードが0でない場合,障害が発生しているため手順を終了してください。

(b) Hitachi HA Toolkit Extension使用時

1.移動するサーバの状態を確認する

HAモニタ使用時」の1.を参照してください。

2.移動するバックエンドサーバのトランザクションキューイング機能を開始する

HAモニタ使用時」の2.を参照してください。

3.クラスタソフトウェアの系切り替えコマンドでバックエンドサーバを移動する

クラスタソフトウェアの系切り替えコマンドを使用して,移動先ユニットに系を切り替えてください。

4.バックエンドサーバの状態を確認する

システムマネジャがあるユニットで,pdls -d ha -s サーバ名 -aコマンドを実行し,その表示内容(標準出力)及びリターンコードから次の項目を確認してください。

  • バックエンドサーバが,移動先ユニットで稼働状態(ONL)である

5.移動するバックエンドサーバのトランザクションキューイング機能を解除する

HAモニタ使用時」の7.を参照してください。

(2) 障害発生時の対処

バックエンドサーバの移動中にエラーが発生した場合,syslogfile,及び標準出力・標準エラー出力のメッセージを参照し,原因を取り除いてください。

また,トランザクションキューイング機能開始以降に障害が発生した場合は,トランザクションキューイング機能を中断するため,システムマネジャがあるユニットで次のコマンドを実行してください。

 pdtrnqing -d -f -s サーバ名

上記コマンドを実行すると,トランザクションキューイング機能は解除されます。ただし,障害によって不当にトランザクションキューイング機能が動作することを防ぐための対処であるため,開始されていないバックエンドサーバに対して処理要求が発生し,SQLエラーとなります。

(3) 注意事項

(a) バックエンドサーバの移動の自動化

トランザクションキューイング機能を使用して,複数のバックエンドサーバを移動する場合は,次の手順で自動化してください。

  1. トランザクションキューイング機能の開始

  2. バックエンドサーバの移動

  3. トランザクションキューイング機能の解除

ユーザが手作業で行うと,バックエンドサーバの移動処理に時間が掛かり,トランザクションキューイング機能のタイムアウトが発生し,トランザクションがエラーとなることがあります。

(b) 複数のバックエンドサーバを移動する場合

トランザクションキューイング機能を使用して,複数のバックエンドサーバを移動する場合,1サーバごとに「操作手順」を実行してください。複数同時には実行しないでください。複数のバックエンドサーバを同時に移動させると,それらのバックエンドサーバにアクセスするトランザクションがキューイングされ,トランザクションが終了できなくなることがあります。この場合,pdtrnqingコマンドがエラーとなることがあります。