以下のようなメッセージが出力されインタフェースの活性化に失敗する。
hanet: ERROR: 85700: polling information is not defined. devname = sha0(0) |
NIC切替方式では、障害監視機能を使用して、ノード内およびノード間でのインタフェース切替制御を行います。したがって、hanetconfig createコマンドにより仮想インタフェース情報を定義しただけではNIC切替方式は動作しません。必ず、hanetpoll createコマンドにより監視先情報を設定する必要があります。監視先情報が設定されていない場合、引継ぎIPアドレスも活性化されません。また、クラスタ運用の場合、クラスタアプリケーションの起動に失敗します。
また、論理アドレス引継ぎ機能を使用する場合で、物理インタフェースを共有する場合、各仮想インタフェース情報単位に監視先情報が必要となります。このような場合は、最初に定義した仮想インタフェース情報および監視先情報をhanetconfig copyコマンドおよび、hanetpoll copyコマンドを用いて複製してください。
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ではなくルータ等を設定した場合に、監視先の停止に伴うインタフェース切替の無限ループの発生を抑止することを目的としたもので、対処は必要ありません。
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をサポートしていない場合は、スイッチのポートをタグ無しメンバとして設定してください。
共有IPゾーンのネットワーク設定に、高速切替方式の仮想インタフェース、または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コマンド”および“G.1 インタフェース活性および非活性方法の変更について”を参照してください。
参考
ゾーン作成時、ゾーンのインストールを実施する時点でゾーン用のインタフェースが存在しない場合はエラーとなり、インストールに失敗します。このため、作成したゾーンをインストールする際、ゾーンのネットワーク設定で指定したインタフェースはあらかじめ活性化しておく必要があります。
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を使用している場合に、システムボードやNICに故障が発生した状態でシステムを再起動すると、IPアドレスが割り当てられないため、ネットワークサービス(svc:/network/physical)の起動に失敗します。その場合、伝送路二重化機能のサービス(svc:/network/fjsvhanet)を含めたネットワークサービスが起動されません。
図G.1 構成変更前のNIC切替方式の構成(Solaris 10の場合)
図G.2 構成変更前のNIC切替方式の構成(Solaris 11以降の場合)
NICやシステムボードが故障している状態でシステムを再起動する場合は、以下の手順に従って、故障している物理インタフェースに設定されているIPアドレスを、故障していない物理インタフェースに設定されるように変更してシステムを再起動するか、svcadm(1M)コマンドを実行してサービスを修復してください。
復旧手順
故障している物理インタフェースに設定されているIPアドレスを、故障していない物理インタフェースに割り当てます。
1-1)Solaris 10の場合
# mv /etc/hostname.hme0 /etc/hostname.hme3 # mv /etc/hostname.hme1 /etc/hostname.hme2 |
1-1)Solaris 11以降の場合
# /usr/sbin/ipadm delete-ip hme0 # /usr/sbin/ipadm create-ip hme3 # /usr/sbin/ipadm create-addr -T static -a host11/24 hme3/v4 # /usr/sbin/ipadm delete-ip hme1 # /usr/sbin/ipadm create-ip hme2 # /usr/sbin/ipadm create-addr -T static -a host12/24 hme2/v4 |
システムの再起動を行うか、またはネットワークサービスの修復を行います。
# /usr/sbin/shutdown -y -i6 -g0 |
または、
# svcadm clear svc:/network/physical:default |
参照
svcadm(1M)コマンド、ipadm(1M)コマンドについては、Solarisのマニュアルを参照してください。
推奨構成への変更手順
図G.1 構成変更前のNIC切替方式の構成(Solaris 10の場合)のように、物理インタフェースに設定するIPアドレスが1つのシステムボードにだけ設定されている場合は、システムボードごとにPrimaryインタフェースをもつ構成に変更することを推奨します。
図G.3 構成変更後のNIC切替方式の構成(Solaris 10の場合)
図G.4 構成変更後のNIC切替方式の構成(Solaris 11以降の場合)
変更手順は、以下のとおりです。
HUB監視機能を停止します。
# /opt/FJSVhanet/usr/sbin/hanetpoll off |
すべての仮想インタフェースを非活性化します。
# /opt/FJSVhanet/usr/sbin/stphanet |
構成情報を変更します。
hanetconfig modifyコマンドを実行して、sha1で二重化している物理インタフェース(Primary:hme1 , Secondary:hme2)を入れ替えます。
# /opt/FJSVhanet/usr/sbin/hanetconfig modify -n sha1 -t hme2,hme1 |
物理インタフェースに設定するIPアドレスがシステムボードごとに分散されるように変更します。なお、復旧手順を実行し、物理インタフェースに設定するIPアドレスがシステムボードごとに分散されるように変更されている場合は、本手順を実施する必要はありません。
4-1)Solaris 10の場合
/etc/hostname.*** のファイル名を変更します。
二重化している物理インタフェースの入れ替えに伴い、/etc/hostname.hme1のファイル名を/etc/hostname.hme2 に変更します。
# mv /etc/hostname.hme1 /etc/hostname.hme2 |
4-1)Solaris 11以降の場合
hme1に設定しているIPアドレスを、hme2に設定するように変更します。
# /usr/sbin/ipadm delete-ip hme1 # /usr/sbin/ipadm create-ip hme2 # /usr/sbin/ipadm create-addr -T static -a host12/24 hme2/v4 |
システムを再起動します。
# /usr/sbin/shutdown -y -i6 -g0 |
Solaris 10 において、システム起動時に/optがマウントできなかった場合、以下のメッセージが出力され、伝送路二重化機能のサービス起動を停止するときがあります。
hanet: ERROR: 98400: file system is inconsistent. (details) |
GLSサービスが起動する時点で、/optのファイルシステムに不整合が検出されたため、GLSサービスの起動が停止しました。
/optファイルシステムの不整合が解消され、/optがマウントされていることを確認してください。確認した後に、以下のいずれかを実施してください。
システムを再起動する
GLSサービスを起動する
# svcadm clear fjsvhanet |
なお、GLSサービスを起動した後に、業務が正常に開始できない場合には、伝送路二重化機能を利用するTCP/IPアプリケーションが起動に失敗している可能性がありますので、システムを再起動してください。
以下の定義を例として現象を説明します。
例) # /opt/FJSVhanet/usr/sbin/hanetconfig print [IPv4,Patrol] Name Hostname Mode MAC Adder/Phys ip Interface List +-----------+---------------+----+-----------------+---------------------------+ [IPv6] Name Hostname/prefix Mode Interface List +-----------+---------------------------------+----+---------------------------+ sha0 fc00:199::1/64 d net3,net4 |
strhanetコマンドが失敗しエラーメッセージ(*1)が出力され、仮想インタフェースが活性化されていない(*2)。
また、この時のプライマリインタフェースにリンクローカルアドレスが設定されていない(*3)。
# /opt/FJSVhanet/usr/sbin/strhanet hanet: 22310: operation error: failed to activate interface. name=sha0 (*1) # # /opt/FJSVhanet/usr/sbin/dsphanet [IPv4,Patrol] Name Status Mode CL Device +----------+--------+----+----+------------------------------------------------+ [IPv6] Name Status Mode CL Device +----------+--------+----+----+------------------------------------------------+ sha0 Inactive d OFF net3(OFF),net4(OFF) (*2) # # /usr/sbin/ifconfig net3 inet6 net3: flags=120002000860<NOTRAILERS,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 7 inet6 ::/0 (*3) |
hanetnic changeコマンドは成功している(*4)が、切替え先インタフェースnet4がONとなっていない(*5)。
また、この時のセカンダリインタフェースにリンクローカルアドレスが設定されていない(*6)。
# /opt/FJSVhanet/usr/sbin/dsphanet [IPv4,Patrol] Name Status Mode CL Device +----------+--------+----+----+------------------------------------------------+ [IPv6] Name Status Mode CL Device +----------+--------+----+----+------------------------------------------------+ sha0 Active d OFF net3(ON),net4(OFF) # # /opt/FJSVhanet/usr/sbin/hanetnic change -n sha0 hanet: 00000: information: normal end. (*4) # # /opt/FJSVhanet/usr/sbin/dsphanet [IPv4,Patrol] Name Status Mode CL Device +----------+--------+----+----+------------------------------------------------+ [IPv6] Name Status Mode CL Device +----------+--------+----+----+------------------------------------------------+ sha0 Active d OFF net3(OFF),net4(OFF) (*5) # # /usr/sbin/ifconfig net4 inet6 net4: flags=120002000860<NOTRAILERS,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 8 inet6 ::/0 (*6) |
また、HUB監視機能による異常検出時のNIC切替えの場合も同様に、切替え先インタフェースの活性化に失敗する。
なお、現象1および現象2は、hanetparam -d の設定がPlumbの場合に発生する。
# /opt/FJSVhanet/usr/sbin/hanetparam print ・・・・・ NIC switching mode(d) :Plumb ・・・・・ |
現象1および現象2は、仮想インタフェース定義時のipadmコマンドによるインタフェースの設定に誤りがあります。
ipadmコマンドによる設定を正しく行ってください。
プライマリインタフェースの設定
以下の設定を行います。
# /usr/sbin/ipadm create-ip net3 # /usr/sbin/ipadm create-addr -T addrconf netX/v6 (*7) |
hanetparam -d の設定がPlumbの場合、(*7)の設定が必要です。
設定しない場合は、仮想インタフェースの活性化に失敗します。
セカンダリインタフェースの設定
プライマリインタフェースのような設定は不要です。
プライマリインタフェースの設定で、ipadm create-ip コマンドしか行われていません。
以下のようにipadm create-addr コマンドを実行し、(*8)および(*9)のリンクローカルアドレスが設定されたことを確認してください。
確認後、仮想インタフェースを活性化してください。
# /usr/sbin/ipadm NAME CLASS/TYPE STATE UNDER ADDR ・・・・・ net3 ip down -- -- ・・・・・ # /usr/sbin/ipadm create-addr -T addrconf net3/v6 # # /usr/sbin/ipadm NAME CLASS/TYPE STATE UNDER ADDR ・・・・・ net3 ip ok -- -- net3/v6 addrconf ok -- fe80::xxxx:xxxx:xxxx:xxxx/10 (*8) ・・・・・ # # /usr/sbin/ifconfig net3 inet6 net3: flags=120002004860<NOTRAILERS,RUNNING,MULTICAST,DHCP,IPv6,PHYSRUNNING> mtu 1500 index 7 inet6 fe80::xxxx:xxxx:xxxx:xxxx/10 (*9) # # /opt/FJSVhanet/usr/sbin/strhanet hanet: 00000: information: normal end. name=sha0 # # /opt/FJSVhanet/usr/sbin/dsphanet [IPv4,Patrol] Name Status Mode CL Device +----------+--------+----+----+------------------------------------------------+ [IPv6] Name Status Mode CL Device +----------+--------+----+----+------------------------------------------------+ sha0 Active d OFF net3(ON),net4(OFF) # # /usr/sbin/ifconfig -a6 ・・・・・ net3: flags=120002004861<UP,NOTRAILERS,RUNNING,MULTICAST,DHCP,IPv6,PHYSRUNNING> mtu 1500 index 7 inet6 fe80::xxxx:xxxx:xxxx:xxxx/10 ether xx:xx:xx:xx:xx:xx net3:1: flags=120002000861<UP,NOTRAILERS,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 7 inet6 fc00:199::1/64 ・・・・・ |
セカンダリインタフェースの設定で誤って ipadm create-ip コマンドが実行されています。
以下のようにipadm delete-ip コマンドを実行し、設定が削除されたこと(*10)を確認してください。
確認後、再度運用を開始してください。
# /usr/sbin/ipadm NAME CLASS/TYPE STATE UNDER ADDR ・・・・・ net4 ip down -- -- ・・・・・ # # /usr/sbin/ipadm delete-ip net4 # # /usr/sbin/ipadm NAME CLASS/TYPE STATE UNDER ADDR ・・・・・ net4の設定が表示されない(*10) ・・・・・ # # /opt/FJSVhanet/usr/sbin/resethanet -s hanet: 00000: information: normal end. # # /usr/sbin/ipadm NAME CLASS/TYPE STATE UNDER ADDR ・・・・・ net4 ip down -- -- net4/v6 addrconf down -- fe80::xxxx:xxxx:xxxx:xxxx/10 ・・・・・ # # /usr/sbin/ifconfig -a6 ・・・・・ net3: flags=120002004861<UP,NOTRAILERS,RUNNING,MULTICAST,DHCP,IPv6,PHYSRUNNING> mtu 1500 index 7 inet6 fe80::xxxx:xxxx:xxxx:xxxx/10 ether xx:xx:xx:xx:xx:xx net3:1: flags=120002000861<UP,NOTRAILERS,RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 7 inet6 fc00:199::1/64 net4: flags=100002000840<RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 8 inet6 fe80::xxxx:xxxx:xxxx:xxxx/10 ether xx:xx:xx:xx:xx:xx |