クラスタシステムを運用する上で、基本的な設定が行われていないことが原因で発生するトラブルについて説明します。
■トラブル一覧
No. | 現象 | Solaris | Linux |
---|---|---|---|
運用ノードで異常が発生したが、フェイルオーバが行われなかった | ○ | ○ | |
RMS 構成が正しく設定されているにもかかわらず、フェイルオーバが行われない | ○ | ○ | |
リソース作成後、RMS が起動できない。エラーメッセージ「FATAL ERROR: RMS has failed to start!」が表示される | ○ | ○ | |
運用中にパニックが発生し、その後、パニックしたノードが自動的に再起動される | ○ | - | |
引継ぎネットワークリソースを MAC アドレス引継ぎ設定ありで設定している NIC の物理インタフェースが ifconfig -a から見えなくなる場合がある | ○ | - | |
OS 設定で local-mac-address を true から false にしたところ、クラスタから切り離されて再起動を繰り返す | ○ | - | |
クラスタインタコネクトが二本ある環境で、片方の LAN ケーブルだけを抜くと、ノードの強制停止が発生する | ○ | ○ | |
Cmdline リソースが起動スクリプトでタイムアウトとなり、リソース故障が発生した。Cmdline リソースの起動スクリプトのタイムアウト値を変更する方法を知りたい | ○ | ○ | |
クラスタインタコネクトの CIP を活性化すると、運用ノードの業務LANの通信が不安定になる | ○ | ○ | |
PRIMECLUSTER へ Systemwalker Operation Manager を登録後、リソース異常が発生する | ○ | ○ | |
ifconfig -a を実行して CIP ネットワークインタフェースの状態を表示すると、CF 構築時に設定したネットマスクと異なる値が表示される | ○ | - | |
PRIMECLUSTERで利用しているポート番号が他製品のポート番号と重複している | ○ | ○ |
待機ノードで、RMS が起動されていない可能性があります。
または、userApplicationのAutoSwitchOver 属性が設定されていない可能性があります。
待機ノードで、RMS が起動されているかを確認してください。
または、userApplicationのAutoSwitchOver 属性で "HostFailure"、"ResourceFailure"、"ShutDown" を指定してください。
待機ノードで、RMS が起動されていない可能性があります。
または、userApplicationのAutoSwitchOver 属性が設定されていない可能性があります。
待機ノードで RMS が起動されているかを確認してください。
または、userApplicationのAutoSwitchOver 属性で "HostFailure"、"ResourceFailure"、"ShutDown" を指定してください。
クラスタアプリケーションが作成されていない場合、RMS は起動できません。
クラスタアプリケーションを作成してから、RMS を起動してください。
RMS 構成の作成(Generate)、および配布(Activate)が正常に完了していない場合、RMS は起動できません。
RMS 構成の設定を見直した後、再度、RMS 構成の作成(Generate)および配布(Activate)を実施し、処理が正常に終了したことを確認してから、RMS を起動してください。
/etc/system に以下の設定を行い、再起動してください。
set halt_on_panic=1
本設定により、パニック発生後、ノードは OBP モードで停止します。
MAC アドレス引継ぎを設定しているにもかかわらず、引継ぎ IP アドレスのインタフェース属性において、BASE フラグの設定を "virtual" にしているためです。
設定値を "virtual" から "base" に変更してください。
OS 起動時に、クラスタインタコネクトが使用する NIC が、half-duplex で起動することが原因です。
Switching Hub の Port の設定または、ノードの NIC の negotiation の設定を見直してください。
クラスタインタコネクトで使用しているインタフェースに IP アドレスが設定されているため、クラスタインタコネクトとして使用できていないと考えられます。
全ノードの /etc/inet/hosts(Solaris)または /etc/hosts(Linux)ファイルの設定を変更し、IPアドレスを設定しないようにしてください。
RMS 環境変数 "SCRIPTS_TIME_OUT" をデフォルト 300 秒から、ユーザ環境に合わせた値に変更してください。
系間パスの LAN と業務 LAN が混同している可能性があります。
系間パスの LAN と業務 LAN の結線を見直してください。
"Systemwalker Operation Manager11.0 クラスタ適用ガイド PRIMECLUSTER 編" にある、"2.2.3 デーモンの自動起動・停止設定の解除" および "2.2.4 クラスタ情報の登録" を実施せずに、PRIMECLUSTER への登録を行っている可能性があります。
Systemwalker Operation Manager の手順書に従って、PRIMECLUSTER への登録処理を行ってください。
CIP に設定されたネットマスクが、CF 構築時に設定したネットマスクと異なってます。
Interstage Security Director がインストールされている場合、CIP のネットマスクが変更される場合があります。
本現象が発生した場合、/etc/inet/netmasks に CIP のネットワークアドレス、ネットマスクを追記してください。ネットワークアドレス、ネットマスクを追記した後、クラスタノードを再起動してください。
なお CIP のネットワークアドレス、ネットマスクは以下の手順で確認することができます。
/etc/cip.cf から、CIP ノード名とネットマスクを取得します。
下記の例のように記載されている場合、以下のようになります。
node0 node0RMS:netmask:255.255.255.0
CIP ノード名 : node0RMS
ネットマスク : 255.255.255.0
/etc/inet/hosts ファイルから、手順 1.で取得した CIP ノード名の IP アドレスを取得します。
下記の例のように記載されている場合、以下のようになります。
192.168.1.1 node0RMS
IP アドレス : 192.168.1.1
手順 1.で取得したネットマスクと、手順 2. で取得した IP アドレスからネットワークアドレスを取得します。例の場合、以下のようになります。
IP アドレス : 192.168.1.1
ネットマスク : 255.255.255.0
上記からネットワークアドレスは、以下のようになります。
ネットワークアドレス : 192.168.1.0
上記手順で取得したネットマスクとネットワークアドレスを /etc/inet/netmasks に追記します。
重複しているポート番号に応じて、以下の手順を実施してください。
<Solaris, Linux共通>
fjwv-hサービスの場合
"PRIMECLUSTER Web-Based Admin View操作手引書"の"httpポート番号を変更する"に記載された手順を実施してください。
fjwv_g, fjwv_n, fjwv_s, fjwv_cサービスの場合
"PRIMECLUSTER Web-Based Admin View操作手引書"の"RMIポート番号を変更する"に記載された手順を実施してください。
sfadvサービスの場合
全ノードで以下のコマンドを実施してください。
# sdtool -e
全ノードで sfadvサービスのポート番号を変更してください。
変更後のポート番号は全ノードで同じ値にしてください。
Solarisの場合は /etc/inet/servicesファイルを変更してください。
Linuxの場合は /etc/servicesファイルを変更してください。
デフォルト値は以下のように設定されています。
₋ Solaris、Linux 4.3A20以前
sfadv 2316/udp # SMAWsf package
- Linux 4.3A30以降
sfadv 9382/udp # SMAWsf package
全ノードで以下のコマンドを実施してください。
# sdtool -b
rmshbサービスの場合
任意の1ノードで以下のコマンドを実施してください。
# hvshut -a
全ノードで rmshbサービスのポート番号を変更してください。
変更後のポート番号は全ノードで同じ値にしてください。
Solarisの場合は /etc/inet/servicesファイルを変更してください。
Linuxの場合は /etc/servicesファイルを変更してください。
デフォルト値は以下のように設定されています。
rmshb 9786/tcp # SMAWRrms package
任意の1ノードで以下のコマンドを実施してください。
# hvcm -a
ポート番号 8000番の場合
任意の1ノードで以下のコマンドを実施してください。
# hvshut -a
全ノードで、/opt/SMAW/SMAWRrms/bin/hvenv.local ファイルにRMS グローバル環境変数 HV_COM_PORT で変更したいポート番号を定義します。
変更後のポート番号は全ノードで同じ値にしてください。
例
ポート番号を 10000 に変更する場合
# vi /opt/SMAW/SMAWRrms/bin/hvenv.local export HV_COM_PORT 10000
RMS グローバル環境変数 HV_COM_PORT の詳細は、"RMS 導入運用手引書"の"RMS グローバル環境変数"を参照してください。
任意の1ノードで以下のコマンドを実施してください。
# hvcm -a
<Solaris の場合>
dcmcom, dcmsync, dcmlck, dcmfcp, dcmmst, dcmevmサービスの場合
全ノードをシングルユーザモードで起動してください。
全ノードで /etc/inet/servicesに記載されているサービスのポート番号を変更してください。
変更後のポート番号は全ノードで同じ値にしてください。
全ノードを再起動してください。
sftrapサービスの場合
"PRIMECLUSTER 導入運用手引書 (Oracle Solaris)"の"SNMPに関するポート番号の変更"に記載された手順を実施してください。
<Linux の場合>
dcmcom, dcmcom2, dcmsync, dcmlck, dcmlck2, dcmfcp, dcmmst, dcmevmサービスの場合
全ノードをシングルユーザモードで起動してください。
全ノードで /etc/servicesに記載されているサービスのポート番号を変更してください。
変更後のポート番号は全ノードで同じ値にしてください。
全ノードを再起動してください。