ディスク、コントローラ、または他の記憶装置の故障によって、ノードがデバイスにアクセスできなくなる場合があります。故障発生時にデバイスがアクセス中だった場合は、そのデバイスはディスクグループから切り離されます。ミラー化デバイスのデータ配置上、1 つの障害によってすべてのミラーが使用不可能になることはありません。
回復の最初の手順は、故障したデバイスを再びアクセス可能にすることです。具体的には次の処置を行います。
故障したハードウェアの交換 (該当する場合)
記憶装置に固有の回復、起動処置の実行 (例: Sun StorEdge A3000 での Recovery Guru 、Sun StorEdge A5000 での luxadm の使用など)
Solaris デバイスツリーの更新 (drvconfig/boot -r)
実行する手順の詳細については、記憶装置の管理マニュアルを参照してください。
デバイスがアクセス可能になったことを、ボリュームマネージャに認識させる必要があります。これは、一般に vxdctl enable を実行することによって行います。これによって CVM がデバイスに関する回復処置を実行できる状態になります。デバイスの再接続は、vxreattach、vxdiskadm (オプション 5)、vxva GUI を使用して行います。これらのユーティリティはいずれも、vxdg -k adddisk を使用してディスクを接続します。ディスクを接続したら、次に vxrecover を使用してボリュームを回復する必要があります。回復のために必要な操作は、kstate (カーネル状態) と dm/volume/plex の状態によって異なります。状態値の説明については、『Sun StorEdge Volume Manager2.6 システム管理ガイド』を参照してください。各種の状態からの回復方法を、以下に簡単に説明します。
デバイスが NODEVICE 状態のときは、vxreattach/vxdiskadm/vxva を使用してデバイスを再接続する必要があります。vxreattach はディスク媒体とデバイスアクセス名の判定を試みるので便利ですが、ディスクが交換されている場合には、vxdg/vxdiskadm/vxva を使用して接続する必要があります。vxva/vxdiskadm を使用する場合は、ディスク媒体にどのディスクを使用するかを指定する必要があります。REMOVED 状態のディスクは、vxva/vxdisk を使用して接続する必要があります。
交換用ディスクを初期化していない場合は、まず初期化する必要があります。
ボリュームは起動された時点で kstate が ENABLED になり、停止された時点で (または重大なエラーの結果、使用不可能になったとき) DISABLED になります。kstate が ENABLED でないボリュームが存在する場合は、vxvol/vxrecover/vxva を使用してそれらのボリュームを起動できます。プレックスがいずれも CLEAN または ACTIVE 状態でないときは、ボリュームが起動しない可能性がありますが、この場合は vxmend を使用して、選択したプレックスの状態を CLEAN または ACTIVE に変更することで、ボリュームが起動できるようになります。
ノードがクラスタから異常な状態で切り離された場合、ボリュームが NEEDSYNC 状態になる可能性があります。この場合、クラスタフレームワークによって vxrecover が起動され、必要な同期処理が行われます。ボリュームは同期処理中には SYNC 状態になり、それが完了すると ACTIVE 状態に移行します。回復を実行するプロセスが強制的に終了されると、ボリュームは SYNC から ACTIVE に移行しない可能性があります。その場合は vxvol -f resync を使用してボリュームを回復する必要があります。
ボリュームと関連付けられているが切り離されているプレックスは、kstate が DISABLED になります。このようなプレックスは vxrecover (vxplex att を呼び出す) を使用して回復できます。次の手順を実行することで、ほとんどの一般的な障害から回復できます。
障害条件 (ハードウェア、ソフトウェア) を修正し、デバイスが再びアクセス可能になったことを確認します。
クラスタのすべてのノードで vxdctl enable を実行します。
マスターノードで vxreattach を実行します。
非共有ディスクグループを持つ他のノードで vxreattach を実行します。
vxprint を実行してデバイスが再接続されたことを検証します 。ある種の状況では、切り離されたディスクや交換されたディスクが vxreattach によって再接続できない場合があります。このようなディスクは vxdg/vxdiskadm/vxva を使用して手動で再接続する必要があります。
マスターノードで vxrecover -sb を実行します。
非共有ディスクグループを持つ他のノードで vxrecover -g <dg> -sb を実行します。