PRIMECLUSTER Global Disk Services 説明書 4.1 (Solaris(TM) オペレーティングシステム版) |
目次
![]() ![]() |
付録F トラブルシューティング | > F.1 トラブルへの対処方法 |
クラスタシステムに関する異常について、以下に該当する場合は、それぞれに記載されている対処を行ってください。
クラスタ制御が起動していないときに作成されたローカルクラスを、そのままクラスタシステムで使用することはできません。クラスタ制御が起動されると、以下のエラーメッセージがシステムログおよびGDSデーモンのログファイルに出力され、そのローカルクラスは操作できなくなります。
ERROR: class: cannot operate in cluster environment, created when cluster control facility not ready
このエラーメッセージが出力されるのは、以下のいずれかの場合です。
クラスタ初期構成設定が完了していないノードで、ローカルクラス class を作成した後に、クラスタ初期構成設定を実行した。
シングルユーザモードでローカルクラス class を作成した。
ローカルクラス class が作成されているシングルノードをクラスタシステムに移行した。
以下の方法a) または方法b) のいずれかの方法で、ローカルクラスをクラスタシステムで使用できるようにしてください。通常は方法a) で行いますが、ボリュームデータのバックアップ/リストアを避けたい場合には、方法b) で行ってください。
1) ノードをシングルユーザモードで起動します。
2) 必要に応じて、ボリュームのデータをバックアップします。
3) クラスを削除します。
4) ノードをマルチユーザモードに移行して、クラスタ制御を再起動します。
5) 手順3)で削除したクラスやボリュームを再作成します。
6) 必要に応じて、手順2)でバックアップしたボリュームのデータをリストアします。
以下の手順で、ローカルクラスをクラスタシステム用に変換してください。以下では、クラス名が Class1 である場合の例を示します。
1) ノードをシングルユーザモードで起動します。
ok boot -s |
2) GDSの管理デーモン sdxservd を停止します。
# /etc/opt/FJSVsdx/bin/sdx_stop -S |
以下の方法で、sdxservdデーモンが停止したこと(sdxservdデーモンのプロセスに関する情報が表示されないこと)を確認します。
# ps -e | grep sdxservd |
3) ローカルクラス Class1 の構成データベースを退避します。
# rm -rf /var/opt/FJSVsdx/backup/DB/Class1 sdxsavedb: INFO: /dev/rdsk/c0t1d0s0: backup succeeded sdxsavedb: INFO: /dev/rdsk/c1t1d0s0: backup succeeded sdxsavedb: INFO: Class1: backup succeeded # cd /var/opt/FJSVsdx/backup/DB/Class1 -rw-r--r-- 1 root other 14164992 May 6 09:00 c0t1d0s0 -rw-r--r-- 1 root other 14164992 May 6 09:00 c1t1d0s0 |
/var/opt/FJSVsdx/backup/DB 配下に150[MB]以上の空き領域があるか確認し、不足している場合は拡張してください。
エラーが発生した場合、以降の手順に進まず、方法a) に従ってローカルクラス Class1 を再作成してください。
4) ローカルクラス Class1 の構成データベースをクラスタシステム用に変換します。
# /etc/opt/FJSVsdx/bin/sdxcltrandb -C -c Class1 sdxconvertdb: INFO: /dev/rdsk/c0t1d0s0: conversion succeeded sdxconvertdb: INFO: /dev/rdsk/c1t1d0s0: conversion succeeded sdxconvertdb: INFO: Class1: conversion succeeded |
エラーが発生した場合、7-3) 以降の手順を実施して構成データベースを復元した後、方法a) に従ってローカルクラス Class1 を再作成してください。
5) ノードをマルチユーザモードにすることにより、クラスタ制御を再起動します。
# init 0 |
シャットダウン中に以下のメッセージが表示されますが、問題はありません。
SDX:sdxshutdown: INFO: waiting for a response from sdxservd daemon... |
6) ローカルクラス Class1 の構成データベースが正しく変換できたことを確認します。
# sdxinfo -C -c Class1 OBJ NAME TYPE SCOPE SPARE ------ ------- -------- ----------- ----- class Class1 local Node1 0 |
SCOPEフィールドにノード識別名が正しく表示されることを確認します。正しく表示されていれば、作業完了です。
SCOPEフィールドの表示が正しくない場合、Class1 の構成データベースは正しく変換できていません。その場合は、7-1) 以降の手順を実施して構成データベースを復元した後、方法a) に従ってローカルクラス Class1 を再作成してください。
7) 手順4) または手順6) でエラーが発生した場合、手順3) で退避した構成データベースを復元します。
7-1) ノードをシングルユーザモードで起動します。
ok boot -s |
7-2) GDSの管理デーモン sdxservd を停止します。
# /etc/opt/FJSVsdx/bin/sdx_stop -S sfdsk: received shutdown request |
以下の方法で、sdxservd デーモンが停止したこと(sdxservd デーモンのプロセスに関する情報が表示されないこと)を確認します。
# ps -e | grep sdxservd |
7-3) ローカルクラス Class1 の構成データベースを復元します。
# /etc/opt/FJSVsdx/bin/sdxcltrandb -R -c Class1 sdxrestoredb: INFO: /dev/rdsk/c0t1d0s0: restore succeeded sdxrestoredb: INFO: /dev/rdsk/c1t1d0s0: restore succeeded sdxrestoredb: INFO: Class1: restore succeeded |
7-4) ノードをシングルユーザモードで再起動します。
# init 0 |
シャットダウン中に以下のメッセージが表示されますが、問題はありません。
SDX:sdxshutdown: INFO: waiting for a response from sdxservd daemon... |
7-5) ローカルクラス Class1 の構成データベースが正しく復元できたことを確認します。
# sdxinfo -C -c Class1 OBJ NAME TYPE SCOPE SPARE ------ ------- -------- ----------- ----- class Class1 local Node1 0 |
SCOPEフィールドにノード識別名が正しく表示されることを確認します。正しく表示されていれば、復元は完了です。
クラスタシステムにおいてクラスが存在する場合、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コマンドは上記のエラーメッセージを出力して異常終了します。
クラスタシステムのすべてのノードにおいて、オブジェクトの構成を確認し、クラスが存在する場合は削除します。クラスを削除すると、ボリュームのデータは失われます。必要に応じて、あらかじめボリュームのデータをバックアップしてください。
GDS 運用管理ビューを使用する場合、「削除」を参照してください。
コマンドを使用する場合、「コマンドリファレンス」を参照してください。
クラスタシステムのすべてのノードにおいて、/dev/sfdskディレクトリにクラスのディレクトリが存在するかどうか確認し、存在する場合は削除します。以下に、クラスClass1のディレクトリが存在する場合の例を示します。
_admと_diagは、GDSが使用する特殊ファイルなので、削除しないでください。
# cd /dev/sfdsk |
共用クラスが RMS リソースとして使用しない設定になっている場合、そのクラスに含まれるボリュームは、ノード起動時に起動されます。そのため、そのボリュームを使用するクラスタアプリケーションを起動すると、すでにボリュームが起動された状態であるため、クラスタアプリケーションは Inconsistent 状態になります。デフォルトでは、クラスは RMS リソースとして使用しない設定になっており、以下のいずれかの操作を行うことで、RMS リソースとして使用する設定にすることができます。
Web-Based Admin View の userApplication Configuration Wizardで、クラスをクラスタアプリケーションで使用するリソースに登録
クラスを指定して hvgdsetup -aコマンドを実行
以下のいずれかの方法で、共用クラスを RMS リソースとして使用する設定に変更してください。その後、クラスタアプリケーションを再起動してください。
クラスがクラスタアプリケーションで使用するリソースに登録されていない場合は、userApplication Configuration Wizardで登録してください。
クラスがクラスタアプリケーションで使用するリソースに登録されている場合は、以下のコマンドを実行してください。
# /usr/opt/reliant/bin/hvgdsetup -a クラス名 |
共用クラスが RMS リソースとして使用する設定になっている場合、そのクラスに属しているボリュームは、ノード起動時に起動されません。そのため、そのボリューム上の共用ファイルシステムは、ノード起動時にマウントされません。デフォルトでは、クラスは RMS リソースとして使用しない設定になっていますが、以下のいずれかの操作を行うと、RMS リソースとして使用する設定になります。
Web-Based Admin View の userApplication Configuration Wizardで、クラスをクラスタアプリケーションで使用するリソースに登録
クラスを指定して hvgdsetup -aコマンドを実行
以下のいずれかの対処を行ってください。
a) 共用クラスを RMS リソースとして使用する場合は、そのクラスのボリュームに共用ファイルシステムを作成することはできません。別のクラスのボリュームに共用ファイルシステムを作成してください。
b) 共用クラスを RMS リソースとして使用しない場合は、以下のいずれかの方法で、クラスを RMS リソースとして使用しない設定に戻してください。その後、システムを再起動してください。
クラスがクラスタアプリケーションで使用するリソースに登録されている場合は、userApplication Configuration Wizard で削除してください。
クラスがクラスタアプリケーションで使用するリソースに登録されていない場合は、以下のコマンドを実行してください。
# /usr/opt/reliant/bin/hvgdsetup -d クラス名 |
目次
![]() ![]() |