以下の場合、GDSは最新データを持つディスクを判断できないため、ユーザが等価性コピーのコピー元にするディスクを選択し、復旧作業を行う必要があります。
(a) INVALID状態のスライスが存在する状態で業務を運用した後、両ノードを停止し、INVALID状態だったスライスが存在する方のノードでクラスタアプリケーションを強制起動した場合
(b) 待機系を停止した後、両ノードを停止し、待機系だったノードでクラスタアプリケーションを強制起動した場合
(c) クラスタインタコネクトの障害やサーバのスローダウンなどによりノード間通信が不可能になった後、運用ノードが停止し、運用ノードが切り替わった場合
これらの場合、ネットミラーボリュームの起動および等価性コピーは抑止されます。
それぞれの復旧手順は以下のとおりです。
[復旧手順]
停止しているノードを起動します。
両ノードのRMSを停止します。
iSCSIデバイスを修復します。
本手順は、クラスタアプリケーションを最後に強制起動したノードで実行します。
# /etc/opt/FJSVsdx/bin/sdxiscsi_ctl -F -e init |
停止していたノードのディスクを運用ノードで認識させます。sdxfixコマンドの-dオプションでは、停止していたノードのディスクを指定します。
本手順は、運用ノードで実行します。
# sdxfix -D -c クラス名 -d ディスク名 -x Devlabel |
-x Devlabelは、デバイス情報の修復を行うことを指定するオプションです。本手順以外では指定しないでください。
等価性コピーのコピー元にするスライスを決めます。
参照
クラスタアプリケーションが最後に起動したノードのスライスを等価性コピーのコピー元にする場合、「参考 : クラスタアプリケーションが最後に起動したノードの確認方法」 を参照してください。
各スライスの内容を確認して等価性コピーのコピー元にするスライスを決める場合、「参考 : ネットミラーボリュームを構成するスライスの内容の確認方法」 を参照してください。
等価性コピーのコピー元にするスライスがINVALID状態の場合、スライスの状態を復旧します。sdxfixコマンドの-dオプションでは、等価性コピーのコピー元にするディスクを指定します。
本手順は、どちらか一方のノードで実行します。
# sdxfix -V -c クラス名 -v ボリューム名 -d ディスク名 -x NoRdchk |
-x NoRdchkは、スライスのリードチェックを省略するオプションです。本手順以外では指定しないでください。
ネットミラーボリュームの起動ロックを解除します。
本手順は、両ノードで実行します。
# sdxattr -V -c クラス名 -v ボリューム名 -a lock=off |
iSCSIデバイス情報を削除します。
本手順は、両ノードで実行します。
# rm /var/opt/FJSVsdx/log/.sdxnetmirror_disable.db |
等価性コピーのコピー先にするディスクの状態を復旧します。
本手順は、どちらか一方のノードで実行します。
sdxswapコマンドの -d オプションでは、ネットミラーグループ内のディスクのうち、等価性コピーのコピー先にするディスクを指定します。
# sdxswap -O -c クラス名 -d ディスク名 # sdxswap -I -c クラス名 -d ディスク名 |
両ノードのRMSを起動します。
このとき、ネットミラーボリュームの等価性コピーが実行されます。
[復旧手順]
等価性コピーのコピー元にするスライスを決めます。
参照
クラスタアプリケーションが最後に起動したノードのスライスを等価性コピーのコピー元にする場合、「参考 : クラスタアプリケーションが最後に起動したノードの確認方法」 を参照してください。
各スライスの内容を確認して等価性コピーのコピー元にするスライスを決める場合、「参考 : ネットミラーボリュームを構成するスライスの内容の確認方法」 を参照してください。
等価性コピーのコピー元にするスライスが INVALID 状態ではない場合、iSCSI デバイス情報を修復します。sdxnetdisk コマンドの -d オプションでは、等価性コピーのコピー元にするディスクを指定します。
本手順は、どちらか一方のノードで実行します。
# /etc/opt/FJSVsdx/bin/sdxnetdisk -F -e devinfo -c クラス名 -v ボリューム名 -d ディスク名 |
等価性コピーのコピー元にするスライスがINVALID状態の場合、以下の手順を実行します。
3-1) 両ノードの RMS を停止します。
3-2) スライスの状態を復旧します。
sdxfix コマンドの -d オプションでは、等価性コピーのコピー元にするディスクを指定します。
本手順は、どちらか一方のノードで実行します。
# sdxfix -V -c クラス名 -v ボリューム名 -d ディスク名 -x NoRdchk |
-x NoRdchkは、スライスのリードチェックを省略するオプションです。本手順以外では指定しないでください。
等価性コピーを実行します。
本手順は、どちらか一方のノードで実行します。
# sdxcopy -B -c クラス名 -v ボリューム名 |
必要に応じて、業務を再開します。
両ノードで以下のコマンドを実行し、出力結果を両ノードで比較します。
# /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 ボリューム名 |