ページの先頭行へ戻る
PRIMECLUSTER Global Link Services 説明書 4.2 (伝送路二重化機能編)

D.2.2 伝送路二重化機能の仮想インタフェースや各機能が使用できない

D.2.2.1 NIC切替方式のインタフェースが活性化されない

現象

以下のようなメッセージが出力されインタフェースの活性化に失敗する。

hanet: ERROR: 85700: polling information is not defined. devname = sha0(0)
原因および対策

NIC切替方式では、障害監視機能を使用して、ノード内およびノード間でのインタフェース切替制御を行います。したがって、hanetconfig createコマンドにより仮想インタフェース情報を定義しただけではNIC切替方式は動作しません。必ず、hanetpoll createコマンドにより監視先情報を設定する必要があります。監視先情報が設定されていない場合、引継ぎIPアドレスも活性化されません。また、クラスタ運用の場合、クラスタアプリケーションの起動に失敗します。
また、論理アドレス引継ぎ機能を使用する場合で、物理インタフェースを共有する場合、各仮想インタフェース情報単位に監視先情報が必要となります。このような場合は、最初に定義した仮想インタフェース情報および監視先情報をhanetconfig copyコマンドおよび、hanetpoll copyコマンドを用いて複製してください。

D.2.2.2 NIC切替方式で待機パトロールの復旧時に即時切戻しが行われない

現象

NIC切替方式で待機パトロールの復旧時に以下のメッセージが表示され、SecondaryインタフェースからPrimaryインタフェースへの即時切戻しが行われない。

hanet: INFO: 88500: standby interface recovered. (sha1)
hanet: INFO: 89700: immediate exchange to primary interface is canceled. (sha1)
原因および対策

伝送路異常によるPrimaryインタフェースからSecondaryインタフェースへの切替後、リンクアップ遅延時間(デフォルト60秒)が経過する前に待機パトロールが復旧した場合、PrimaryインタフェースとSecondaryインタフェースとの間の切替が無限に繰り返される恐れがあるため、上記のメッセージを表示し、Primaryインタフェースへの切替を中止します。これは、監視先にHUBではなくルータ等を設定した場合に、監視先の停止に伴うインタフェース切替の無限ループの発生を抑止することを目的としたもので、対処は必要ありません。

D.2.2.3 NIC切替方式で待機パトロールの異常検出メッセージが表示される

現象

NIC切替方式で待機パトロールを使用した場合、以下のメッセージが表示される。
「87500: standby interface failed.」

原因および対策

待機パトロール機能による監視を行う伝送路上に、VLANを設定したスイッチが存在する場合で、二重化したNICを異なるVLAN識別子のポートにそれぞれ接続した場合、または二重化したNICの片方もしくは両方をスイッチのタグ付きメンバのポートに接続した場合に、本現象が発生します。
VLANを設定したスイッチでは、VLAN識別子が異なるポート間の通信を行うことができないため、二重化したNICを異なるVLAN識別子のポートに接続した場合、待機パトロール機能の監視フレームが待機NICと運用NICの間で送受信できず、875番のメッセージを出力します。
また、VLAN識別子が同一のポートであっても、そのポートがタグ付きメンバに設定されていて、かつ、使用するNICがタグVLAN(IEEE802.1Q準拠)をサポートしていない場合は、スイッチからのタグ付きフレームを受信することができないため、この場合も待機パトロール機能の監視フレームを送受信できず、875番のメッセージを出力します。
本現象を解消するためには、スイッチのVLAN設定を見直し、二重化したNICを接続するポートのVLAN識別子が同一となるように設定してください。また、使用するNICがタグVLANをサポートしていない場合は、スイッチのポートをタグ無しメンバとして設定してください。

D.2.2.4 伝送路二重化機能が起動されずコマンドが異常終了してしまう

現象

hanetconfig create/deleteコマンド、hanetpoll create/deleteコマンド、dsphanetコマンドおよびdsppollコマンドを実行すると、以下のメッセージを表示して異常終了してしまう。
また、システム起動時に仮想インタフェースの活性化が行われない。

「hanet: 56100: internal error: daemon process does not exist.」
原因および対策

誤操作等によって伝送路二重化機能の初期化スクリプトのシンボリックリンクが切れたために、システム起動時に伝送路二重化機能の初期化スクリプトが走行せず、制御デーモンの起動、および仮想インタフェースの活性化が行われなくなっています。また、この場合コマンドについても制御デーモンが動作していないため異常終了します。
以下の復旧手順にて/etc/rc2.dおよび/etc/rc3.d配下に初期化スクリプトに対するシンボリックリンクを作成し、システムをリブートしてください。

復旧手順

# ln -s /etc/init.d/hanet /etc/rc2.d/S32hanet
# ln -s /etc/init.d/hanet99 /etc/rc3.d/S99hanet

D.2.2.5 GS/SURE連携方式の仮想IPアドレスを使用した通信ができない

現象

GS/SURE連携方式において、システム起動時にルーティングデーモンが起動されず、仮想IPアドレスを使用した通信ができない。

原因および対策

Solaris 8 または Solaris 9 では、/etc/defaultrouterファイルが存在しない場合、/usr/sbin/in.rdisc(1M)を実行してRDISC(ルータ検索プロトコル)による照会処理を行います。このため、ネットワーク上のルータがRDISCを実行していると、ルーティングプロトコルとしてRIPではなくRDISCが選択され、/usr/sbin/in.routed(1M)が起動されない場合があります。対策として、/usr/sbin/in.rdiscファイルの名前を/usr/sbin/in.rdisc.savedなどに変更し、RDISC(ルータ検索プロトコル)による照会処理を実行しないようにしてください。
なお、Solaris 10 で本現象が発生している場合は、/usr/sbin/routeadm(1M)を実行して、ルーティングデーモンとして/usr/sbin/in.routed(1M)が起動されるように、設定を変更してください。
詳しくはSolarisのマニュアルを参考にしてください。

解析方法

以下の条件の場合、本現象が発生していると判断できます。

Solaris 8 または Solaris 9 の場合:

  1. /etc/notrouterファイル(空ファイル)が存在し、かつ、

  2. /etc/defaultrouterファイルが存在せず、かつ、

  3. システム起動後、ルーティングデーモン(/usr/sbin/in.routed)が存在せず、かつ、

  4. ルーティングテーブルにデフォルト経路が存在する場合。

Solaris 10 の場合:

  1. /usr/sbin/routeadm(1M)でルーティングデーモンが“/usr/sbin/in.rdisc”に設定されている、かつ、

  2. システム起動後、ルーティングデーモン(/usr/sbin/in.routed)が存在せず、かつ、

  3. ルーティングテーブルにデフォルト経路が存在する場合。

ルーティングデーモン存在有無の確認方法

以下のコマンドを実行し、/usr/sbin/in.routedのプロセス名が表示された場合には、ルーティングデーモンが存在していると判断できます。

# ps -ef | grep in.routed

デフォルト経路存在有無の確認方法

以下のコマンドを実行し、Destination情報としてdefaultが表示される場合、デフォルト経路が存在していると判断できます。

# netstat -rn | grep default
default              192.168.70.254       UG        1      1  hme0

D.2.2.6 Solarisコンテナのゾーンを起動することができない

現象

ゾーンのネットワーク設定に、高速切替方式の仮想インタフェース、またはNIC切替方式で二重化する物理インタフェースを指定した場合、ゾーン起動時に以下のエラーメッセージを出力し、ゾーンの起動に失敗する。

# zoneadm -z zone0 boot
could not verify net address=192.168.80.10 physical=sha0: No such device or address
zoneadm: zone zone0 failed to verify

または

# zoneadm -z zone0 boot
zoneadm: zone 'zone0': hme0:1: could not bring interface up: address in use by zone 'global': Cannot assign requested address
zoneadm: zone 'zone0': call to zoneadmd failed
原因および対策

ゾーン起動時、ゾーンのネットワーク設定で指定したインタフェースが存在しない場合、またはゾーンのネットワーク設定で指定したIPアドレスと同一のIPアドレスがすでに存在している場合は、ゾーンを起動することができません。指定したインタフェースが存在しているか、または指定したIPアドレスがすでに存在していないかを、ifconfig(1M)コマンドを使用して確認してください。また、NIC切替方式の場合は待機インタフェースの非活性方法がゾーンで使用するための設定値に変更されているかどうかを確認してください。詳細については“7.6 hanetparamコマンド”および“D.1 インタフェース活性および非活性方法の変更について”を参照してください。

参考

ゾーン作成時、ゾーンのインストールを実施する時点でゾーン用のインタフェースが存在しない場合はエラーとなり、インストールに失敗します。このため、作成したゾーンをインストールする際、ゾーンのネットワーク設定で指定したインタフェースはあらかじめ活性化しておく必要があります。

D.2.2.7 伝送路二重化機能のサービスが起動されない(NICが故障した場合)

現象

Solaris 10 OSにおいて、NICやシステムボードが故障した場合にシステムの再起動を行うと、以下のメッセージが出力され、伝送路二重化機能のサービスが起動されないときがあります。

Failed to plumb IPv4 interface(s): hme0
svc.startd[7]: svc:/network/physical:default: Method "/lib/svc/method/net-physical" failed with exit status 96.
svc.startd[7]: network/physical:default misconfigured: transitioned to maintenance (see 'svcs -xv' for details)
原因および対策

以下の構成で、NICやシステムボードに故障が発生した状態でシステムの再起動を行うと、ネットワークサービス(svc:/network/physical)の起動に失敗します。その場合、伝送路二重化機能のサービス(svc:/network/fjsvhanet)を含めたネットワークサービスが起動されません。

図D.1 構成変更前のNIC切替方式の構成

NICやシステムボードが故障している状態でシステムの再起動を行う場合は、以下の手順に従って、故障している物理インタフェースのネットワーク設定ファイル(/etc/hostname.interfaceファイル、または/etc/hostname6.interfaceファイル)を削除してください。その後、故障していない物理インタフェースのネットワーク設定ファイルを作成してシステムの再起動を行うか、svcadm(1M)コマンドを実行して、サービスを修復してください。

復旧手順

  1. 故障している物理インタフェースのネットワーク設定ファイルを、故障していない物理インタフェースのネットワーク設定ファイルに変更します。

    # mv /etc/hostname.hme0 /etc/hostname.hme3
    # mv /etc/hostname.hme1 /etc/hostname.hme2
  2. システムの再起動を行うか、またはネットワークサービスの修復を行います。

    # /usr/sbin/shutdown -y -i6 -g0

    または、

    # svcadm clear svc:/network/physical

参照

svcadm(1M)コマンドについては、Solarisのマニュアルを参照してください。

推奨構成への変更手順

図D.1 構成変更前のNIC切替方式の構成のように、ネットワーク設定ファイルが1つのシステムボードにだけ作成されている場合は、システムボードごとにPrimaryインタフェースをもつ構成に変更することを推奨します。

図D.2 構成変更後のNIC切替方式の構成

変更手順は、以下のとおりです。

  1. HUB監視機能を停止します。

    # /opt/FJSVhanet/usr/sbin/hanetpoll off
  2. すべての仮想インタフェースを非活性化します。

    # /opt/FJSVhanet/usr/sbin/stphanet
  3. 構成情報を変更します。
    hanetconfig modifyコマンドを実行して、sha1で二重化している物理インタフェース(Primary:hme1 , Secondary:hme2)を入れ替えます。

    # /opt/FJSVhanet/usr/sbin/hanetconfig modify -n sha1 -t hme2,hme1
  4. /etc/hostname.*** のファイル名を変更します。
    二重化している物理インタフェースの入れ替えに伴い、/etc/hostname.hme1のファイル名を/etc/hostname.hme2 に変更します。なお、復旧手順を実行し、設定ファイルを変更済みの場合は、本手順を実施する必要はありません。

    # mv /etc/hostname.hme1 /etc/hostname.hme2
  5. システムを再起動します。

    # /usr/sbin/shutdown -y -g0 -i6

D.2.2.8 伝送路二重化機能のサービスが起動されない(ファイルシステムに不整合がある場合)

現象

Solaris 10 OSにおいて、システム起動時に/optがマウントできなかった場合、以下のメッセージが出力され、伝送路二重化機能のサービス起動を停止するときがあります。

hanet: ERROR: 98400: file system is inconsistent. (details)
原因および対策

GLSサービスが起動する時点で、/optのファイルシステムに不整合が検出されたため、GLSサービスの起動が停止しました。
/optファイルシステムの不整合が解消され、/optがマウントされていることを確認してください。確認した後に、以下のいずれかを実施してください。

  • システムを再起動する

  • GLSサービスを起動する

    # svcadm clear fjsvhanet

なお、GLSサービスを起動した後に、業務が正常に開始できない場合には、伝送路二重化機能を利用するTCP/IPアプリケーションが起動に失敗している可能性がありますので、システムを再起動してください。