ページの先頭行へ戻る
PRIMECLUSTER Global Disk Services  説明書 4.6
FUJITSU Software

7.16.8 最新ディスクが自動選択できない場合の復旧方法

以下の場合、GDSは最新データを持つディスクを判断できないため、ユーザが等価性コピーのコピー元にするディスクを選択し、復旧作業を行う必要があります。

(a) INVALID状態のスライスが存在する状態で業務を運用した後、両ノードを停止し、INVALID状態だったスライスが存在する方のノードでクラスタアプリケーションを強制起動した場合

(b) 待機系を停止した後、両ノードを停止し、待機系だったノードでクラスタアプリケーションを強制起動した場合

(c) クラスタインタコネクトの障害やサーバのスローダウンなどによりノード間通信が不可能になった後、運用ノードが停止し、運用ノードが切り替わった場合

これらの場合、ネットミラーボリュームの起動および等価性コピーは抑止されます。

それぞれの復旧手順は以下のとおりです。

(a) INVALID状態のスライスが存在する状態で業務を運用した後、両ノードを停止し、INVALID状態だったスライスが存在する方のノードでクラスタアプリケーションを強制起動した場合
および (b) 待機系を停止した後、両ノードを停止し、待機系だったノードでクラスタアプリケーションを強制起動した場合

[復旧手順]

  1. 停止しているノードを起動します。

  2. 両ノードのRMSを停止します。

  3. iSCSIデバイスを修復します。
    本手順は、クラスタアプリケーションを最後に強制起動したノードで実行します。

    # /etc/opt/FJSVsdx/bin/sdxiscsi_ctl -F -e init
  4. 停止していたノードのディスクを運用ノードで認識させます。sdxfixコマンドの-dオプションでは、停止していたノードのディスクを指定します。
    本手順は、運用ノードで実行します。

    # sdxfix -D -c クラス名 -d ディスク-x Devlabel

    -x Devlabelは、デバイス情報の修復を行うことを指定するオプションです。本手順以外では指定しないでください。

  5. 等価性コピーのコピー元にするスライスを決めます。

    参照

  6. 等価性コピーのコピー元にするスライスがINVALID状態の場合、スライスの状態を復旧します。sdxfixコマンドの-dオプションでは、等価性コピーのコピー元にするディスクを指定します。
    本手順は、どちらか一方のノードで実行します。

    # sdxfix -V -c クラス名 -v ボリューム名 -d ディスク名 -x NoRdchk

    -x NoRdchkは、スライスのリードチェックを省略するオプションです。本手順以外では指定しないでください。

  7. ネットミラーボリュームの起動ロックを解除します。
    本手順は、両ノードで実行します。

    # sdxattr -V -c クラス名 -v ボリューム名 -a lock=off
  8. iSCSIデバイス情報を削除します。
    本手順は、両ノードで実行します。

    # rm /var/opt/FJSVsdx/log/.sdxnetmirror_disable.db
  9. 等価性コピーのコピー先にするディスクの状態を復旧します。
    本手順は、どちらか一方のノードで実行します。
    sdxswapコマンドの -d オプションでは、ネットミラーグループ内のディスクのうち、等価性コピーのコピー先にするディスクを指定します。

    # sdxswap -O -c クラス名 -d ディスク名
    # sdxswap -I -c クラス名 -d ディスク名
  10. 両ノードのRMSを起動します。
    このとき、ネットミラーボリュームの等価性コピーが実行されます。


(c) クラスタインタコネクトの障害やサーバのスローダウンなどによりノード間通信が不可能になった後、運用ノードが停止し、運用ノードが切り替わった場合

[復旧手順]

  1. 等価性コピーのコピー元にするスライスを決めます。

    参照

  2. 等価性コピーのコピー元にするスライスが INVALID 状態ではない場合、iSCSI デバイス情報を修復します。sdxnetdisk コマンドの -d オプションでは、等価性コピーのコピー元にするディスクを指定します。
    本手順は、どちらか一方のノードで実行します。

    # /etc/opt/FJSVsdx/bin/sdxnetdisk -F -e devinfo -c クラス名 -v ボリューム名 -d ディスク名
  3. 等価性コピーのコピー元にするスライスがINVALID状態の場合、以下の手順を実行します。

    3-1) 両ノードの RMS を停止します。

    3-2) スライスの状態を復旧します。
    sdxfix コマンドの -d オプションでは、等価性コピーのコピー元にするディスクを指定します。
    本手順は、どちらか一方のノードで実行します。

    # sdxfix -V -c クラス名 -v ボリューム名 -d ディスク名 -x NoRdchk

    -x NoRdchkは、スライスのリードチェックを省略するオプションです。本手順以外では指定しないでください。

  4. 等価性コピーを実行します。
    本手順は、どちらか一方のノードで実行します。

    # sdxcopy -B -c クラス名 -v ボリューム名
  5. 必要に応じて、業務を再開します。

参考 : クラスタアプリケーションが最後に起動したノードの確認方法

両ノードで以下のコマンドを実行し、出力結果を両ノードで比較します。

# /etc/opt/FJSVsdx/bin/sdxiscsi_ctl -L -e time -c クラス名

[実行例]

ノード1

# /etc/opt/FJSVsdx/bin/sdxiscsi_ctl -L -e time -c class1
Wed Oct 26 19:13:16 2016

ノード2

# /etc/opt/FJSVsdx/bin/sdxiscsi_ctl -L -e time -c class1
Tue Oct 11 11:34:56 2016

出力は、引数に指定したクラスの Gds リソースが、コマンド実行ノードで最後に起動した日時を表します。

上の例では、ノード1で最後にクラスタアプリケーションが起動していたことがわかります。

参考 : ネットミラーボリュームを構成するスライスの内容の確認方法

以下の手順に従って、内容を確認したいスライスを STOP 状態、他方のスライスを INVALID 状態にしてからボリュームの内容を確認することで、スライスの内容を確認できます。

1) 両ノードの RMS を停止します。

2) 内容を確認したいスライスが INVALID 状態の場合、スライス状態を変更します。

sdxnetdisk コマンドの -d オプションでは、 INVALID 状態のスライスのディスクを指定します。

本手順は、どちらか一方のノードで実行します。

# /etc/opt/FJSVsdx/bin/sdxnetdisk -F -e slice -c クラス名 -v ボリューム名 -d ディスク名

本コマンド実行後、内容を確認したいスライスが STOP 状態、他方のスライスが INVALID 状態になります。

3) ボリュームを起動します。

本手順は、どちらか一方のノードで実行します。

# sdxvolume -N -c クラス名 -v ボリューム名 -e unlock,mode=ro

4) ボリュームの内容を確認します。

5) ボリュームを停止します。

本手順は、本参考手順の3) を実行したノードで実行します。

# sdxvolume -F -c クラス名 -v ボリューム名