形式
sdxfix -C -c class
sdxfix -D -c class -d disk [-e online] [-x Devlabel,NoRdchk]
sdxfix -V -c class {-g group|-d disk} -v volume [-e force] [-x NoRdchk]
機能説明
sdxfix は、異常が発生したオブジェクト (シャドウオブジェクトは除く) の状態の復旧を試みます。復旧したディスクまたはボリュームオブジェクト内のデータは整合性が失われている可能性があるため、復旧後、必要に応じてバックアップデータからのリストアまたは fsck コマンドによるチェックなどを行うことにより、整合性を修復してください。スーパユーザ権限を持つユーザだけが sdxfix コマンドを実行することができます。
基本オプション
以下の基本オプションのうち、いずれかを指定します。
Class
自ノードにおいて、閉塞状態の class を、閉塞していない状態に復旧します。
class 内に、正常にアクセス可能な構成データベースが存在し、かつ、class が以下のいずれかの条件を満たす場合、class の状態を復旧します。
ENABLE状態のディスクが 2 つ以下で、かつ、正常にアクセス可能なディスクが 1 つ以上の場合
ENABLE状態のディスクが 3 つ以上 5 つ以下で、かつ、正常にアクセス可能なディスクが 2 つ以上の場合
ENABLE状態のディスクが 6 つ以上で、かつ、正常にアクセス可能なディスクが 3 つ以上の場合
復旧後、class 内のオブジェクトの状態は、クラス閉塞前と同じ状態になります。ただし、class がローカルクラスの場合、クラス閉塞前に STOP 状態だったボリュームは、復旧後は ACTIVE 状態になります。また、class が共用クラスの場合、クラス閉塞前に ACTIVE 状態だったボリュームは、復旧後は STOP 状態になります。
Disk
I/O エラーが発生した状態のディスク disk を、I/O エラーが発生していない状態に復旧します。
disk の領域をすべてリードし、成功すれば disk の I/O エラー状態をクリアします。disk の領域をすべてリードするため、コマンドの応答には、disk のサイズに応じた時間がかかります。
disk の領域をリードせずに、オブジェクトの状態を復旧するには、 -x NoRdchk を指定してください。
disk が属している最上位グループにボリュームが存在する場合、および disk にシングルボリュームが存在する場合、ボリュームはすべてのノードで停止中 (STOP または INVALID) でなければなりません (-e online 指定時を除く)。
disk がスイッチグループに接続されている場合は復旧できません。スイッチグループに接続されているディスクの I/O エラー状態をクリアするには、sdxswap -O コマンドを使用してディスクを交換可能な状態にしてください。その後、sdxswap -I コマンドを使用して、ディスクを使用可能な状態に戻してください。
Volume
disk と volume との組合せまたは group と volume との組合せで指定されたデータ不当 (INVALID) 状態または、動作不可 (NOUSE) 状態のスライスを停止中 (STOP) の状態に復旧することによって、volume で指定されたデータ不当 (INVALID) 状態のボリュームを停止中 (STOP) の状態に復旧します。
volume はすべてのノードで停止中 (STOP または INVALID) でなければなりません。disk と volume との組合せまたは group と volume との組合せで指定されたスライスの状態は、データ不当 (INVALID) または動作不可 (NOUSE) 状態でなければなりません。
disk と volume との組合せまたは group と volume との組合せで指定されたスライスの先頭から終りまでをすべてリードして、成功すればスライスの状態をSTOPに変更し、停止中 (STOP) のスライスはデータ不当 (INVALID) 状態に変更されます。
サブオプション
以下のサブオプションが指定できます。
class には、復旧対象となるオブジェクトが属しているクラスのクラス名を指定します。
disk には、復旧対象となるディスクのディスク名を指定します。
volume がミラーボリュームの場合、disk には、volume が属しているミラーグループに接続されているディスクのうち、INVALID 状態から STOP 状態に復旧するミラースライスが存在しているディスクのディスク名を指定します。
volume がシングルボリュームの場合、disk には、volume が属しているシングルディスクのディスク名を指定します。
volume がスイッチボリュームの場合、disk には、volume が属しているスイッチグループに接続されている運用ディスクのディスク名を指定します。disk に待機ディスクのディスク名を指定することはできません。
volume がネットミラーボリュームの場合、停止しているノードが存在する場合でも、復旧を行います。ネットミラーボリューム以外のボリュームを指定して本オプションを使用することはできません。
本オプションは本書に記載されている手順以外では使用しないでください。
disk が属している最上位グループまたはdisk で指定されたシングルディスクに起動中 (ACTIVE) のボリュームが存在する場合でも、復旧を行います。
volume がミラーボリュームの場合、group には、volume が属しているミラーグループに接続されている下位グループのうち、INVALID 状態から STOP 状態に復旧するミラースライスが存在している下位グループのグループ名を指定します。
volume がストライプボリュームの場合、group には、volume が属している最上位ストライプグループのグループ名を指定します。
volume が最上位コンカチネーショングループに属している場合、group には、最上位コンカチネーショングループのグループ名を指定します。
volume には、復旧対象となるボリュームのボリューム名を指定します。
disk で指定されたサーバ間ミラーリングで使用するディスクのデバイス情報を修復します。
本オプションは本書に記載されている手順以外では使用しないでください。
disk の領域のリードチェックを行いません。
パスが抜けたことが原因でディスクがI/Oエラー状態になった場合など、リードチェックが不要な場合、本オプションを使用することで、復旧処理時間が短縮できます。
本オプションは、リードチェックが不要であることが明白な場合以外は使用しないでください。
disk と volume との組合せ、または group と volume との組合せで指定されたスライスのリードチェックを行いません。
本オプションは本書に記載されている手順以外では使用しないでください。
戻り値
正常終了した場合には 0 を返し、そうでない場合には 0 以外の値を返します。