以下の場合、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は、スライスのリードチェックを省略するオプションです。本手順以外では指定しないでください。
最後にクラスタアプリケーションが起動したノードは以下の手順で確認できます。
両ノードで以下のコマンドを実行し、出力結果を両ノードで比較します。
# /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 |
出力は、実行ノードで最後にクラスタアプリケーションが起動した日時を表します。
上の例では、ノード1で最後にクラスタアプリケーションが起動していたことがわかります。
ネットミラーボリュームの起動ロックを解除します。
本手順は、両ノードで実行します。
# 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を起動します。
このとき、ネットミラーボリュームの等価性コピーが実行されます。
[復旧手順]
両ノードのRMSを停止します。
等価性コピーのコピー元にするスライスがINVALID状態の場合、スライスの状態を復旧します。sdxfixコマンドの-dオプションでは、等価性コピーのコピー元にするディスクを指定します。
本手順は、どちらか一方のノードで実行します。
# sdxfix -V -c クラス名 -v ボリューム名 -d ディスク名 -x NoRdchk |
-x NoRdchkは、スライスのリードチェックを省略するオプションです。本手順以外では指定しないでください。
iSCSIデバイス情報を削除します。
本手順は、両ノードで実行します。
# rm /var/opt/FJSVsdx/log/.sdxnetmirror_disable.db |
等価性コピーを実行します。
本手順は、どちらか一方のノードで実行します。
# sdxcopy -B -c クラス名 -v ボリューム名 |
両ノードのRMSを起動します。