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

D.1.10 クラスタシステムに関する異常

クラスタシステムに関する異常について、以下に該当する場合は、それぞれに記載されている対処を行ってください。

(1) "ERROR: class: cannot operate in cluster environment, ..." というエラーメッセージが出力され、クラス class が操作できない。

説明

クラスタ制御が起動していないときに作成されたローカルクラスを、そのままクラスタシステムで使用することはできません。クラスタ制御が起動されると、以下のエラーメッセージがシステムログおよび GDS デーモンのログファイルに出力され、そのローカルクラスは操作できなくなります。

ERROR: class: cannot operate in cluster environment, created when cluster control facility not ready

このエラーメッセージが出力されるのは、以下のいずれかの場合です。

対処

以下の方法で、ローカルクラスをクラスタシステムで再作成し、使用できるようにしてください。


1) Cluster Admin の CF メインウィンドウで、[ツール]:[CFの停止]メニューを実行し、CF を停止します。

2) 必要に応じて、ボリュームのデータをバックアップします。

3) クラスを削除します。

4) Cluster Admin の CF メインウィンドウで、[ドライバのロード]を実行し、CF を起動します。

5) 手順 3) で削除したクラスやボリュームを再作成します。

6) 必要に応じて、手順 2) でバックアップしたボリュームのデータをリストアします。


参照

Cluster Admin の CF メインウィンドウの操作については、「PRIMECLUSTER Cluster Foundation 導入運用手引書」を参照してください。


(2) PRIMECLUSTER CF の clinitreset(8) コマンドが 6675 番のエラーメッセージを出力して異常終了する。

説明

クラスタシステムにおいてクラスが存在する場合、PRIMECLUSTER CF の clinitreset コマンドを実行して PRIMECLUSTER のリソースデータベースを初期化しようとすると、clinitreset コマンドは以下のエラーメッセージを出力して異常終了します。

FJSVcluster: エラー: clinitreset: 6675: Cannot run thie command because Global Disk Services has already been set up.

シャドウクラスが存在するノードが、シャットダウンやパニックなどによって再起動されると、シャドウクラスは削除されますが、/dev/sfdsk/クラス名 ディレクトリは削除されません。この状態で clinitreset コマンドを実行した場合にも、clinitreset コマンドは上記のエラーメッセージを出力して異常終了します。

対処

  1. クラスタシステムのすべてのノードにおいて、オブジェクトの構成を確認し、クラスが存在する場合は削除します。クラスを削除すると、ボリュームのデータは失われます。必要に応じて、あらかじめボリュームのデータをバックアップしてください。

    参照

  2. クラスタシステムのすべてのノードにおいて、/dev/sfdsk ディレクトリにクラスのディレクトリが存在するかどうか確認し、存在する場合は削除します。以下に、クラス Class1 のディレクトリが存在する場合の例を示します。_adm と _diag は、GDS が使用する特殊ファイルなので、削除しないでください。

    # cd /dev/sfdsk
    # ls
    _adm _diag Class1
    # rm -rf Class1

(3) クラスタアプリケーションが Inconsistent 状態になる。

説明

共用クラスが RMS リソースとして使用しない設定になっている場合、そのクラスに含まれるボリュームは、ノード起動時に起動されます。そのため、そのボリュームを使用するクラスタアプリケーションを起動すると、すでにボリュームが起動された状態であるため、クラスタアプリケーションは Inconsistent 状態になります。デフォルトでは、クラスは RMS リソースとして使用しない設定になっており、以下の操作を行うことで、RMS リソースとして使用する設定にすることができます。

対処

以下の方法で、共用クラスを RMS リソースとして使用する設定に変更してください。その後、クラスタアプリケーションを再起動してください。

(4) GFS 共用ファイルシステムが、ノード起動時にマウントされない。

説明

共用クラスが RMS リソースとして使用する設定になっている場合、そのクラスに属しているボリュームは、ノード起動時に起動されません。そのため、そのボリューム上の共用ファイルシステムは、ノード起動時にマウントされません。デフォルトでは、クラスは RMS リソースとして使用しない設定になっていますが、以下の操作を行うと、RMS リソースとして使用する設定になります。

対処

以下のいずれかの対処を行ってください。

a) 共用クラスを RMS リソースとして使用する場合は、そのクラスのボリュームに共用ファイルシステムを作成することはできません。別のクラスのボリュームに共用ファイルシステムを作成してください。

b) 共用クラスを RMS リソースとして使用しない場合は、以下の方法で、クラスを RMS リソースとして使用しない設定に戻してください。その後、システムを再起動してください。

(5) "ERROR: class: cannot operate shared objects, ..." というエラーメッセージが出力され、共用クラス class が作成できない、または、"ERROR: cluster communication failure" というエラーメッセージが出力され、自動リソース登録が失敗する

説明

GDS パッケージがインストールされた状態で、PRIMECLUSTER HA Server または PRIMECLUSTER Enterprise Edition などをインストールして、クラスタシステムを構築した場合に、本現象が発生します。

本現象に該当するかどうかは、FJSVsdx-bas パッケージと FJSVclapi パッケージのインストール日時から判断します。FJSVsdx-bas パッケージのインストール日時が、FJSVclapi パッケージより前の日時である場合、本現象に該当します。

インストール日時の確認結果

  • FJSVsdx-bas パッケージのインストール日時

    # rpm -qi FJSVsdx-bas
    Name        : FJSVsdx-bas                  Relocations: (not relocatable)
    ~
    Install Date: Tue Jan 26 15:27:22 2010         Build Host: xxxxxxxx
                  ^^^^^^^^^^^^^^^^^^^^^^^^
    ~
  • FJSVclapi パッケージのインストール日時

    # rpm -qi FJSVclapi
    Name        : FJSVclapi                    Relocations: (not relocatable)
    ~
    Install Date: Wed Jan 27 19:08:13 2010         Build Host: xxxxxxxx
                  ^^^^^^^^^^^^^^^^^^^^^^^^
    ~

この場合、FJSVsdx-bas パッケージのインストール日時が、FJSVclapi パッケージより前の日時になっています。これにより、GDS パッケージがインストールされた状態で、PRIMECLUSTER HA Server、または、PRIMECLUSTER Enterprise Edition などがインストールされていることが確認できます。

対処

FJSVsdx-bas パッケージを上書きでインストールします。

  1. PRIMECLUSTER のインストール時に使用した CD2 を CD-ROM 装置にセットし、マウントします。以降、CD のマウントポイントを <CDROM_DIR> とします。

    # mount /media/cdrom
  2. FJSVsdx-bas パッケージを上書きでインストールします。

    # cd <CDROM_DIR>/Linux/pkgs
    # rpm -Uvh --force <パッケージ名>

    <パッケージ名> は、各ディストリビューションに対応しています。以下の対応表を参考に指定してください。

    ディストリビューション

    パッケージ名

    RHEL-AS4(IPF)

    FJSVsdx-bas.rhel4_ia64.rpm

    RHEL-AS4(x86)

    FJSVsdx-bas.rhel4_i386.rpm

    RHEL-AS4(EM64T)

    FJSVsdx-bas.rhel4_x86_64.rpm

    RHEL5(IPF)

    FJSVsdx-bas.rhel5_ia64.rpm

    RHEL5(x86)

    FJSVsdx-bas.rhel5_i386.rpm

    RHEL5(Intel64)

    FJSVsdx-bas.rhel5_x86_64.rpm

  3. システムをリブートします。

    # /sbin/shutdown -r now

(6) 共用ディスク上のファイルシステムの使用率が100%である。

説明

共用クラスのボリュームに作成された切替ファイルシステムの使用率が 100% になることがあります。

対処

復旧手順を以下に示します。

  1. ボリュームの状態確認

    復旧作業をしないノードで、復旧対象のファイルシステムが存在するボリュームが停止していることを確認します。

    復旧作業をしないノードで、以下のコマンドを実行します。

    # sdxinfo -V -c class

    例) クラス名「c0」、ボリューム名「v0」の場合

    # sdxinfo -V -c c0
    OBJ    NAME    CLASS   GROUP   SKIP JRM 1STBLK   LASTBLK  BLOCKS   STATUS
    ------ ------- ------- ------- ---- --- -------- -------- -------- --------
    ...
    volume v0      c0      g0      off  on  131072   163839   32768    STOP
    ...

    NAME が「v0」である行の STATUS がSTOPであることを確認します。

  2. ボリュームの起動

    復旧作業をするノードで、以下のコマンドを実行します。

    # sdxvolume -N -c class -v volume

    例) クラス名「c0」、ボリューム名「v0」の場合

    # sdxvolume -N -c c0 -v v0
  3. ファイルシステムのマウント

    復旧作業をするノードで、復旧対象のファイルシステムをマウントします。

    例)クラス名「c0」、ボリューム名「v0」、ファイルシステムタイプ「ext3」、マウントポイント「/mnt」の場合

    # mount -t ext3 /dev/sfdsk/c0/dsk/v0 /mnt
  4. 不要ファイルの削除

    復旧作業をするノードで、手順3.のマウントポイント配下の不要なファイルを削除します。

  5. ファイルシステムのアンマウント

    復旧作業をするノードで、復旧対象のファイルシステムをアンマウントします。

    例) マウントポイント「/mnt」の場合

    # umount /mnt
  6. ボリュームの停止

    復旧作業をするノードで、以下のコマンドを実行します。

    # sdxvolume -F -c class -v volume

    例)クラス名「c0」、ボリューム名「v0」の場合

    # sdxvolume -F -c c0 -v v0
  7. クラスタアプリケーションの Faulted 状態のクリア

    クラスタを構成する全ノードで、以下のコマンドを実行します。

    # hvutil -c userApplication_name

    例)クラスタアプリケーション名「app1」の場合

    # hvutil -c app1
  8. クラスタアプリケーションの起動

    運用系ノードで、以下のコマンドを実行します。

    # hvswitch userApplication_name SysNode

    例)node1 のクラスタアプリケーション「app1」の場合

    # hvswitch app1 node1RMS

参照

hvutil コマンドおよび hvswitch コマンドについては、「PRIMECLUSTER 活用ガイド <コマンドリファレンス編>」を参照してください。