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

D.1.4 クラス状態に関する異常

クラスの状態が以下に該当する場合は、それぞれに記載されている対処を行ってください。

(1) 運用中にクラスが閉塞状態となる。

説明

クラス内のオブジェクトの構成や状態を格納している構成データベースの数が不足した場合、またはクラスタ環境でノード間の通信処理がエラーとなった場合に、クラスは閉塞状態となります。閉塞状態のクラスに存在しているオブジェクトには、一切アクセスすることができません。

構成データベースの不足は、以下の条件に合致した場合に発生します。

  1. ENABLE 状態のディスクが 2 本以下であれば、正常にアクセス可能なディスクが存在しない場合

  2. ENABLE 状態のディスクが 3 本から 5 本であれば、正常にアクセス可能なディスクが 1 本以下になってしまった場合

  3. ENABLE 状態のディスクが 6 本以上であれば、正常にアクセス可能なディスクが 2 本以下になってしまった場合

ただし、ルートクラスの場合は、正常にアクセス可能なディスクが存在しなくならない限り、閉塞されません。

なお、Dell EMC 社製ストレージ装置の BCV デバイスおよびターゲット (R2) デバイスは、コピー元のディスクのデータで上書きされるため、GDS の構成データベースを格納できません。したがって、BCV デバイスおよびターゲット (R2) デバイスは、上記の条件における「正常にアクセス可能なディスク」には該当しません。

対処

1) 運用中にクラスが閉塞したかどうかは、次の方法で確認できます。リブートあるいは sdxservd デーモンを再起動してしまうと確認できなくなるため注意してください。

# /etc/opt/FJSVsdx/bin/sdxdcdown
CLASS DOWN REASON NDK NEN NDB NLDB DEVNAM ------- ---- ------ --- --- --- ---- ------------------------------- Class1 no - 10 10 8 0 sda:sdb:sdc:sdd:sde:sdf:sdg:sdh Class2 yes Comm 10 10 8 0 sdi:sdj:sdk:sdl:sdm:sdn:sdo:sdp Class3 yes FewDB 10 10 1 7 sdq Class4 yes NoDB 10 10 0 8 -

この例では、DOWN フィールドが yes である、Class2、Class3、および Class4 が閉塞状態で、REASON フィールドに示されている閉塞の原因は次のとおりです。

(原因1)

Comm ノード間通信が失敗しました

(原因2)

FewDB 有効な構成データベースの数が不足しています

(原因3)

NoDB 有効な構成データベースがまったくありません


2) 詳細原因によっては、復旧が困難となる場合がありますので、まず調査資料を必ず採取してください。

調査資料の採取方法については、「D.2 トラブル調査資料の採取方法」を参照してください。

以下では、次の 2 つの場合に分けて対処方法を説明します。

  1. 通信エラーで閉塞した場合

  2. 構成データベースの不足で閉塞した場合


3a) (原因1) に該当する場合、当社の技術員へ連絡してください。


3b) (原因2) または (原因3) に該当する場合、クラスに登録されているすべての (あるいは大半の) ディスクが異常となっています。

クラスに登録されているディスクは、以下の方法で確認できます。

# sdxinfo -D -c Class3
OBJ NAME TYPE CLASS GROUP DEVNAM DEVBLKS DEVCONNECT STATUS ------ ------- ------ ------- ------- ------- -------- ---------------- ------- disk Disk31 mirror Class3 Group1 sda 8847360 * ENABLE disk Disk32 mirror Class3 Group1 sdb 8847360 * ENABLE disk Disk33 mirror Class3 Group2 sde 8847360 * ENABLE disk Disk34 mirror Class3 Group2 sdf 8847360 * ENABLE disk Disk35 mirror Class3 Group3 sdc 17793024 * ENABLE disk Disk36 mirror Class3 Group3 sdg 17793024 * ENABLE disk Disk37 mirror Class3 Group4 sdd 17793024 * ENABLE disk Disk38 mirror Class3 Group4 sdh 17793024 * ENABLE disk Disk39 spare Class3 Group1 sdr 17793024 * ENABLE disk Disk40 spare Class3 * sds 17727488 * ENABLE

この例では、クラス Class3 に Disk31 から Disk40 までの 10 本のディスクが登録されています。DEVNAM フィールドに物理ディスク名が示されているので、これらの物理ディスクで発生している異常原因をディスクドライバのログメッセージなどをもとにして特定してください。異常原因は、次の 2 つに分けられます。

(故障 1)

ディスク以外の部品が故障あるいは不良である場合

(故障 2)

ディスク部品が故障している場合


4b) (故障 1) に該当する場合、ディスク以外の部品故障 (I/O アダプタ、I/O ケーブル、I/O コントローラ、電源、ファン等の故障および不良) を復旧してください。


5b) ローカルクラスまたは共用クラスの場合は、クラスの状態を復旧するために、sdxfix コマンドを実行します。

# sdxfix -C -c Class3
SDX:sdxfix: INFO: Class3: class recovery completed successfully

6b) エディタを使って、GDS の構成パラメタファイルを開きます。

# vim /etc/opt/FJSVsdx/sdx.cf

ファイルの最後に、次の 1 行を追加します。

SDX_DB_FAIL_NUM=0


7b) システムを再起動します。


8b) クラス内のオブジェクトがアクセス可能になったことを確認します。

# sdxinfo -c Class3

何も表示されていなければ、復旧できていません。この場合は、当社の技術員へ連絡してください。
正常に表示されていれば、以降の手順を進めてください。


9b) (故障 2) に該当する場合、すなわちディスク部品が故障している場合は、「7.3.1.2 操作手順」または「B.1.8 sdxswap - ディスクの交換」に従って、ディスクを交換します。


10b) (故障 1) および (故障 2) の復旧が完了した時点で、次の方法により有効な構成データベースの数を確認します。

# /etc/opt/FJSVsdx/bin/sdxdcdown
CLASS DOWN REASON NDK NEN NDB NLDB DEVNAM ------- ---- ------ --- --- --- ---- --------------------------------------- Class1 no - 10 10 8 0 sda:sdb:sdc:sdd:sde:sdf:sdg:sdh Class2 no - 10 10 8 0 sdi:sdj:sdk:sdl:sdm:sdn:sdo:sdp Class3 no - 10 10 8 0 sdq:sdr:sds:sdt:sdu:sdv:sdw:sdx Class4 no - 10 10 8 0 sdaa:sdab:sdac:sdad:sdae:sdaf:sdag:sdah

NLDB フィールドは、不足している構成データベースの数を示しています。この値が 0 であれば問題ありません。この値が 1 以上の場合、まだ復旧できていないディスクが存在していることを示しています。上記の例では、すべてのクラスの NLDB フィールドが 0 であり、復旧は完了したことを表しています。
手順 6b) を実施していない場合は、以降の手順は不要です。


11b) エディタを使って、GDS の構成パラメタファイルを開きます。

# vim /etc/opt/FJSVsdx/sdx.cf

手順 6b) で追加した、次の 1 行を削除してください。

SDX_DB_FAIL_NUM=0


12b) システムを再起動します。


これまでに説明した手順で復旧できない場合は、当社の技術員へ連絡してください。

(2) システムの起動時にクラスが起動できない。

説明

システムの起動時に、ディスクの I/O エラーなどが原因で、クラス内のオブジェクトの構成および状態を格納している構成データベースにアクセスできない場合、クラスは未起動状態となります。

未起動状態のクラスに存在するオブジェクトには、一切アクセスできません。また、未起動状態のクラスは、sdxinfo コマンドを実行しても、クラス情報など、関連するオブジェクトが表示されません。

対処

1) コンソールに出力されている、sfdsk ドライバのメッセージおよびディスクドライバのメッセージを参考に、故障原因を特定して復旧させてください。

2) 「D.1.2 ディスク状態に関する異常」の「(1) ディスクが DISABLE 状態である。」の (原因 a) と (原因 b) を参照し、それぞれの原因に応じた対処を実施してください。

注意

ノードのシャットダウン

当該クラスをクラスタアプリケーションに登録している場合、ノードをシャットダウンする前に以下の手順を実施してください。

本手順を実施しない場合、userApplication の Offline 処理が完了せず、シャットダウン処理が待たされる場合があります。

  1. 各ノードで userApplication の 状態を確認します。

    # hvdisp -a

    Unknown 状態の userApplication がない場合、手順2. 以降は必要ありません。

    通常の手順でノードをシャットダウンしてください。

  2. RMS を停止後、ノードをシャットダウンします。

    クラスの状態に応じて手順が異なります。

    a) 全ノードに未起動のクラスがある場合

    a-1) 全ノードで Unknown 状態以外の userApplication を停止します。

    # hvutil -f userApplication名

    a-2) 全ノードで RMS を停止します。

    全ノードで以下のコマンドを実行してください。

    # hvshut -L

    実行時に表示される警告メッセージには "yes" と入力してください。

    a-3) 全ノードをシャットダウンします。

    b) すべてのクラスが起動しているノードがある場合

    b-1) クラスが未起動であるノードで Unknown 状態以外の userApplication がある場合、userApplication をクラスが起動しているノードに切り替えます。

    # hvswitch userApplication名 クラスが起動しているSysNode名

    b-2) RMS を停止します。

    クラスが未起動であるノードで以下のコマンドを実行してください。

    # hvshut -L

    実行時に表示される警告メッセージには "yes" と入力してください。

    b-3) クラスが未起動であるノードをシャットダウンします。

各コマンドの詳細については、「PRIMECLUSTER 活用ガイド<コマンドリファレンス編>」 を参照してください。

以下の場合、該当するクラスを強制削除してから、クラスを再作成する必要があるため、当社技術員に連絡してください。