この付録では,以下の項目について説明します。
クラスタ・インターコネクトに使用する NetRAIN 仮想インタフェースの構成 (D.1 節)
LAN インターコネクトの性能を最適化するためのチューニング (D.2 節)
ネットワーク・アダプタ構成情報の取得 (D.3 節)
LAN インターコネクト上の動作の監視 (D.4 節)
Memory Channel インターコネクトから LAN インターコネクトへの移行 (D.5 節)
LAN インターコネクトから Memory Channel インターコネクトへの移行 (D.6 節)
高速イーサネット LAN からギガビット・イーサネット LAN への移行 (D.7 節)
LAN インターコネクトで起こる問題のトラブルシューティング (D.8 節)
D.1 クラスタ LAN インターコネクトに使用する NetRAIN 仮想インタフェースの構成
クラスタをインストールするときに NetRAIN (redundant array of independent network adapters) 仮想インタフェースからクラスタ・インターコネクトを構成しなくても,後から構成することができます。ただし,クラスタ・インターコネクトで NetRAIN 仮想インタフェースを構成するための要件と規則は,Tru64 UNIX 『ネットワーク管理ガイド:接続編』 で説明されているものと異なります。
通常の NetRAIN 仮想デバイスとは異なり,クラスタ・インターコネクトに使用する NetRAIN デバイスは,/etc/rc.config
ではなく
/etc/sysconfigtab
にある
ics_ll_tcp
カーネル・サブシステムの中に設定します。そうすれば,ブートの非常に早い段階でインターコネクトを確立できるので,クラスタ構成要素をメンバとして早く組み込んで入出力を始めたいという要求に応えることができます。
警告
メンバのクラスタ・インターコネクト用 NetRAIN デバイスの属性は,
/etc/sysconfigtab
ファイル以外で変更しないでください。つまり,ifconfig
コマンドまたは SysMan Station を使って変更したり,/etc/rc.config
ファイルの中の定義を追加または変更してネットワークを再起動したりしないでください。そのようにすると,クラスタで NetRAIN デバイスを制御できなくなり,メンバ・システムがクラスタから削除されてしまうことがあります。
クラスタをインストールした後でクラスタ・インターコネクト用に NetRAIN インタフェースを構成する場合は,各メンバで以下の手順を実行してください。
クラスタ・インターコネクトでは,LAN インターコネクトに障害が起きてもシステム全体がダウンしないようにする必要があります。そのため,NetRAIN セットとして構成するメンバの冗長イーサネット・アダプタとは別に,イーサネット・スイッチが必要です (LAN インターコネクトを NSPOF (No Single Point of Failure) 構成にする場合は 2 つ必要)。ネットワーク・ハードウェアを追加してインストールする必要がある場合は,そのメンバ・システムを停止し,電源を切ってください。その状態で,そのメンバにネットワーク・カードをインストールし,そのカードを,『クラスタ・ハードウェア構成ガイド』で推奨しているように,異なるスイッチへそれぞれケーブル接続します。その後,スイッチの電源を入れ,メンバをリブートします。追加ハードウェアをインストールする必要がない場合は,この手順を省略します。
ifconfig -a
コマンドを使って,NetRAIN セットに使うイーサネット・アダプタの名前を調べます。
既存の NetRAIN セットをクラスタ・インターコネクトに構成する場合は,最初に,次のようにして現在の構成を無効にする必要があります。
rcmgr delete
コマンドを使って,メンバの
/etc/rc.config
ファイルからデバイスに関係する以下の変数を削除します。
NRDEV_
x
NRCONFIG_
x
NETDEV_
x
IFCONFIG_
x
rcmgr set
コマンドを使って,NR_DEVICES
変数と
NUM_NETCONFIG
変数の値を減らします。
/etc/sysconfigtab
ファイルを編集して,新しいアダプタを追加します。たとえば,次のように変更します。
ics_ll_tcp: ics_tcp_adapter0 = alt0
を
ics_ll_tcp: ics_tcp_adapter0 = nr0 ics_tcp_nr0[0] = alt0 ics_tcp_nr0[1] = alt1
のように変更。
メンバをリブートして,メンバが NetRAIN 仮想インタフェースを物理クラスタ・インターコネクトとして使えるようにします。
たとえば,次のように
ifconfig
コマンドを使って,CLUIF
フラグで定義されている NetRAIN デバイスを表示させます。
# ifconfig nr0 nr0: flags=1000c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX,CLUIF> NetRAIN Attached Interfaces: ( alt0 alt1 ) Active Interface: ( alt0 ) inet 10.1.0.2 netmask ffffff00 broadcast 10.1.0.255 ipmtu 1500
この手順を,残りのメンバについて繰り返します。
この節では,LAN インターコネクトのチューニングについて,そのガイドラインを示します。
警告
クラスタ・インターコネクトで使っている NetRAIN 仮想インタフェースのチューニングは,他の NetRAIN デバイスに対して使用する方法で行わないでください。使用してはならない方法には,
ifconfig
,niffconfig
,niffd
の各コマンド・オプションやnetrain
,またはics_ll_tcp
カーネル・サブシステム属性も含まれます。この制約に従わなければ,クラスタの運用が中断する可能性があります。クラスタ・インターコネクトで使われている NetRAIN デバイスは,クラスタ・ソフトウェアによって,クラスタの運用が最適になるようにすでにチューニングされています。
D.2.1 ipmtu 値の設定によるクラスタ・インターコネクトの性能改善
アプリケーションによっては,各メンバのクラスタ・インターコネクト仮想インタフェース (ics0
) で使用している IP の MTU (最大伝送単位) を物理インタフェース (member
n-tcp0
) で使用している値と同じ値に設定することにより,性能を改善できるものがあります。推奨値は,使用しているクラスタ・インターコネクトの種類によって異なります。
高速イーサネットまたはギガビット・イーサネットの場合は,ipmtu
の値を 1500 に設定します。
注意
LAN インターコネクトは,ギガビット・イーサネットによる大きな MTU サイズ (ジャンボ・フレーム) の性能特性を得るようには構成できません。
Memory Channel の場合は,ipmtu
の値を 7000 に設定します。
仮想および物理クラスタ・インターコネクト・デバイスに現在設定されている
ipmtu
の値を調べる場合は,次のコマンドを使います。
# ifconfig -a ee0: flags=1000c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX,CLUIF> inet 10.1.0.100 netmask ffffff00 broadcast 10.1.0.255 ipmtu 1500 ics0: flags=1100063<UP,BROADCAST,NOTRAILERS,RUNNING,NOCHECKSUM,CLUIF> inet 10.0.0.1 netmask ffffff00 broadcast 10.0.0.255 ipmtu 7000
このクラスタ・メンバは,物理クラスタ・インターコネクト・デバイスに
ee0
イーサネット・デバイスを使っているので,仮想クラスタ・インターコネクト・デバイス (ics0
) の
ipmtu
を 7000 から 1500 に変更します。
ics0
仮想デバイスの
ipmtu
値を変更する場合は,以下の手順を実行します。
ipmtu
の値が設定されている各メンバの
/etc/inet.local
ファイルに,次の行を追加します。
ifconfig ics0 ipmtu value
rcinet restart
コマンドを使って,各メンバでネットワークを再起動させます。
D.2.2 イーサネット・スイッチ・アドレス・エイジングに 15 秒を設定する
イーサネット・スイッチは,MAC アドレス (および仮想 LAN (VLAN) 識別子) をポートに関連付けるテーブルを保持しており,それによって,スイッチはパケットを効率的に転送できるようになります。これらの転送データベース (ユニキャスト・アドレス・テーブルとも呼ばれる) では,動的に取得した転送情報が古くなって無効になる時間間隔を設定するメカニズムを提供します。このメカニズムは,エイジング・タイムとも呼ばれます。
LAN インターコネクトに関連するすべてのイーサネット・スイッチに対して,エイジング・タイムは 15 秒に設定します。
転送情報の更新に失敗すると,スイッチは,(たとえば,NetRAIN のフェイルオーバによって) MAC アドレスが別のポートへ移動した後,転送テーブル内にリストされているポートへの MAC アドレスにパケットを誤って転送し続けることになります。これは,クラスタの通信を混乱させ,ノードのいくつかがクラスタから削除されたのと同じ結果になります。このため,クォーラムを喪失して,1 つ以上のノードがハングします。また,いくつかのパニック・メッセージが発生します。例を次に示します。
CNX MGR: this node removed from cluster CNX QDISK: Yielding to foreign owner
ネットワーク・アダプタ用データリンク・ドライバから名前,速度,動作モードといった情報を取得して表示させる場合は,SysMan Station または
hwmgr -get attr -cat network
コマンドを使います。次に示すのはその例で,tu2
が 10 Mb/秒の半二重モードで動作しているクライアント・ネットワーク・アダプタであることと,ee0
と
ee1
が LAN インターコネクトとして構成されているNetRAIN 仮想インタフェースであって,100 Mb/秒の全二重モードで動作していることが分かります。
# hwmgr -get attr -cat network | grep -E 'name|speed|duplex' # hwmgr -get attr -cat network | grep -E 'name|speed|duplex' name = ee0 media_speed = 100 full_duplex = 1 user_name = (null) (settable) name = ee1 media_speed = 100 full_duplex = 1 user_name = (null) (settable) name = tu0 media_speed = 10 full_duplex = 1 user_name = (null) (settable) name = tu1 media_speed = 10 full_duplex = 0 user_name = (null) (settable) name = tu2 media_speed = 10 full_duplex = 0 user_name = (null) (settable) name = tu3 media_speed = 10 full_duplex = 0 user_name = (null) (settable) name = alt0 media_speed = 1000 full_duplex = 1 user_name = (null) (settable)
LAN インターコネクト上のトラフィックの監視には
netstat
コマンドを使います。次にその例を示します。
# netstat -acdnots -I nr0 nr0 Ethernet counters at Mon Apr 30 14:15:15 2001 65535 seconds since last zeroed 3408205675 bytes received 4050893586 bytes sent 7013551 data blocks received 6926304 data blocks sent 7578066 multicast bytes received 115546 multicast blocks received 3182180 multicast bytes sent 51014 multicast blocks sent 0 blocks sent, initially deferred 0 blocks sent, single collision 0 blocks sent, multiple collisions 0 send failures 0 collision detect check failure 0 receive failures 0 unrecognized frame destination 0 data overruns 0 system buffer unavailable 0 user buffer unavailable nr0: access filter is disabled
NetRAIN 仮想インタフェースのステータスがアクティブまたは非アクティブのどちらであるかを監視する場合は,次の例に示すように,ifconfig -a
コマンドと
niffconfig -v
コマンドを使います。
# ifconfig -a ee0: flags=1000c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX,CLUIF> NetRAIN Virtual Interface: nr0 NetRAIN Attached Interfaces: ( ee1 ee0 ) Active Interface: ( ee1 ) ee1: flags=1000c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX,CLUIF> NetRAIN Virtual Interface: nr0 NetRAIN Attached Interfaces: ( ee1 ee0 ) Active Interface: ( ee1 ) ics0: flags=1100063<UP,BROADCAST,NOTRAILERS,RUNNING,NOCHECKSUM,CLUIF> inet 10.0.0.200 netmask ffffff00 broadcast 10.0.0.255 ipmtu 15u00 lo0: flags=100c89<UP,LOOPBACK,NOARP,MULTICAST,SIMPLEX,NOCHECKSUM> inet 127.0.0.1 netmask ff000000 ipmtu 4096 nr0: flags=1000c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX,CLUIF> NetRAIN Attached Interfaces: ( ee1 ee0 ) Active Interface: ( ee1 ) inet 10.1.0.2 netmask ffffff00 broadcast 10.1.0.255 ipmtu 1500 sl0: flags=10<POINTOPOINT> tu0: flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> inet 16.140.112.176 netmask ffffff00 broadcast 16.140.112.255 ipmtu 1500 tun0: flags=80<NOARP>
# niffconfig -v Interface: ee1, description: NetRAIN internal, status: UP, event: ALERT, state: GREEN t1: 3, dt: 2, t2: 10, time to dead: 3, current_interval: 3, next time: 1 Interface: nr0, description: NetRAIN internal, status: UP, event: ALERT, state: GREEN t1: 3, dt: 2, t2: 10, time to dead: 3, current_interval: 3, next time: 1 Interface: ee0, description: NetRAIN internal, status: UP, event: ALERT, state: GREEN t1: 3, dt: 2, t2: 10, time to dead: 3, current_interval: 3, next time: 2 Interface: tu0, description: , status: UP, event: ALERT, state: GREEN t1: 20, dt: 5, t2: 60, time to dead: 30, current_interval: 20, next time: 20
D.5 Memory Channel から LAN への移行
この節では,クラスタ・インターコネクトとして Memory Channel インターコネクトを使っているクラスタを LAN インターコネクトへ移行する方法を説明します。
Memory Channel インターコネクトを LAN インターコネクトで置き換えるときは,クラスタをしばらくダウンさせる必要があるので,サービスが一時中断します。
注意
『クラスタ・インストレーション・ガイド』の説明に従って ローリング・アップグレードする際に,Memory Channel を LAN インターコネクトで置き換える作業も一緒に行う場合は,各メンバでロールするときに LAN ハードウェアをインストールするように計画してください。そうすれば,以下に示す手順のうち,1〜4 を省略することができます。
Memory Channel インターコネクトを使っている既存のクラスタを LAN インターコネクトを使うように移行する場合は,準備段階として,それぞれのクラスタ・メンバで以下の手順を実行してください。
クラスタ・メンバを停止し,電源を切ります。
ネットワーク・アダプタをインストールし,必要なスイッチまたはハブを構成します。
クラスタ・メンバの電源を入れます。
Memory Channel を使って,genvmunix
カーネルでメンバをブートして,クラスタへ組み込みます。
doconfig
を使用して
vmunix
カーネルを再構築します。
ルート (/
) ディレクトリに新しいカーネルをコピーします。
新しくインストールしたイーサネット・ハードウェアは,この時点で,すべてのクラスタ・メンバで共用するプライベートな従来型サブネットとして構成できます。LAN インターコネクトをセットアップする前に,ハードウェアが適切に構成されていて正しく動作することを確認してください。rcmgr
コマンドを使用したり
/etc/rc.config
ファイルを静的に編集したりして,このネットワークを永続的に設定してはなりません。この試験用ネットワークは LAN インターコネクト上でクラスタをリブートしたときに残っていないようにする必要があります。したがって,各メンバで設定を行うときは,ifconfig
コマンドを使ってください。
LAN インターコネクトを構成する場合は,以下の手順を実行してください。
注意
クラスタから Memory Channel ハードウェア (特にハブ) を削除しようとする場合,次の手順の最初からの 7 ステップを実行します。すべてのメンバを停止した後で,各メンバの電源を切ります。そうすると,Memory Channel のハードウェアを削除できます。手順 8 で説明されているとおり,すべてのメンバの電源を入れて,1 つづつブートします。
実行中のクラスタで Memory Channel ハブをシャット・オフすると,LAN インターコネクトを使用しているのがたった 1 つであっても,クラスタ全体でパニックを引き起こします。ハブからメンバの Memory Channel ケーブルを切断すると,そのメンバにパニックを引き起こします。
各メンバで,メンバ固有の
/etc/sysconfigtab
ファイルと
/etc/rc.config
ファイルについてバックアップ・コピーを作成します。
各メンバで,メンバ固有の
/etc/rc.config
ファイルを検査します。特に,NETDEV_
x
構成変数と
NRDEV_
x
構成変数に注意してください。LAN インターコネクトで使うネットワーク・アダプタは,ブート手順の非常に早い段階で構成されるので,/etc/rc.config
ではなく
/etc/sysconfigtab
(次の手順を参照) で定義してください。これは NetRAIN デバイスにも当てはまります。LAN インターコネクトとして,新しいデバイスを構成するのか以前のデバイスを再構成するのかを決めます。以前のデバイスを再構成する場合は,NRDEV_
x,NRCONFIG_
x,NETDEV_
x,IFCONFIG_
x,NR_DEVICES
,および
NUM_NETCONFIG
の各変数を適切に編集して,/etc/sysconfigtab
ファイルの
ics_ll_tcp
スタンザと
/etc/rc.config
ファイルに同じネットワーク・デバイス名が現れないようにしてください。
各メンバで,clubase
カーネル属性の
cluster_interconnect
に
tcp
を設定し,以下の
ics_ll_tcp
カーネル属性を,メンバのネットワーク構成に合わせて設定します。たとえば,次のようにします。
clubase: cluster_interconnect = tcp # ics_ll_tcp: ics_tcp_adapter0 = nr0 ics_tcp_nr0[0] = ee0 ics_tcp_nr0[1] = ee1 ics_tcp_inetaddr0 = 10.1.0.1 ics_tcp_netmask0 = 255.255.255.0
TruCluster Server バージョン 5.1 からロールしたクラスタでも,clubase
カーネル・サブシステムの
cluster_node_inter_name
属性を編集します。たとえば,次のように編集します。
clubase: cluster_node_inter_name = pepicelli-ics0
クラスタ単位の
/etc/hosts
ファイルを編集して,クラスタ・インターコネクトの下位レベル TCP インタフェースにおける IP 名と IP アドレスを設定します。たとえば,次のように設定します。
127.0.0.1 localhost 16.140.112.238 pepicelli.zk3.dec.com pepicelli 16.120.112.209 deli.zk3.dec.com deli 10.0.0.1 pepicelli-ics0 10.1.0.1 member1-icstcp0 10.0.0.2 pepperoni-ics0 10.1.0.2 member2-icstcp0 16.140.112.176 pepperoni.zk3.dec.com pepperoni
TruCluster Server バージョン 5.1 からロールしたクラスタでは,クラスタ単位の
/etc/hosts.equiv
ファイルと
/.rhosts
ファイルを編集して,mc0
エントリを
ics0
エントリに変更します。たとえば,次のように変更します。
deli.zk3.dec.com pepicelli-mc0 pepperoni-mc0
を
deli.zk3.dec.com pepicelli-ics0 member1-icstcp0 pepperoni-ics0 member2-icstcp0
に変更。
TruCluster Server バージョン 5.1 からロールしたクラスタでは,rcmgr set
コマンドを使って,各メンバの
/etc/rc.config
ファイルにある
CLUSTER_NET
変数を変更します。たとえば,次のようにします。
# rcmgr get CLUSTER_NET pepicelli-mc0 # rcmgr set CLUSTER_NET pepicelli-ics0
すべてのクラスタ・メンバを停止させます。
すべてのクラスタ・メンバを一度に 1 つずつブートします。
D.6 LAN から Memory Channel への移行
この節では,クラスタ・インターコネクトに LAN インターコネクトを使っているクラスタを Memory Channel へ移行する方法を説明します。
Memory Channel を構成する場合は,以下の手順を実行してください。
すべてのメンバの電源を切ります。
『クラスタ・ハードウェア構成ガイド』に説明されているように,Memory Channel アダプタ,ケーブル,およびハブをインストールして構成します。
LAN インターコネクトを使用して,genvmunix
カーネルで各メンバをリブートし,クラスタへ組み込みます。
doconfig
を使用して,各メンバの
vmunix
カーネルを再構築します。
メンバのルート (/
) ディレクトリに各メンバの新しいカーネルをコピーします。
各メンバで,メンバ固有の
/etc/sysconfigtab
ファイルについて,そのバックアップ・コピーを作成します。
各メンバで,clubase
カーネル属性の
cluster_interconnect
を
mct
に設定します。
すべてのクラスタ・メンバを停止させます。
すべてのクラスタ・メンバを一度に 1 つづつリブートします。
D.7 高速イーサネット LAN からギガビット・イーサネット LAN への移行
この節では,高速イーサネット LAN インターコネクトを使うクラスタを,ギガビット・イーサネット LAN インターコネクトを使うようにするための移行方法について説明します。
高速イーサネット LAN インターコネクトをギガビット・イーサネット LAN インターコネクトで置き換えるときは,クラスタをしばらくダウンさせる必要があるので,サービスが一時中断します。
高速イーサネット LAN インターコネクトを使用する既存のクラスタを,ギガビット・イーサネット LAN インターコネクトへ移行する準備作業は,それぞれのクラスタで以下の手順で行います。
クラスタ・メンバを停止し,電源を切ります。
ギガビット・イーサネット・ネットワーク・アダプタをインストールし,必要なスイッチ,またはハブを構成します。
クラスタ・メンバの電源を入れます。
高速イーサネット LAN インターコネクトを使用し,genvmunix
カーネルでメンバをリブートして,クラスタへ組み込みます。
doconfig
コマンドを使用して,メンバの
vmunix
カーネルを再構築します。
メンバのルート (/
) ディレクトリに新しいカーネルをコピーします。
新しくインストールしたイーサネット・ハードウェアは,この時点で,すべてのクラスタ・メンバで共用するプライベートな従来型サブネットとして構成できます。LAN インターコネクトとしてセットアップする前に,ハードウェアが適切に構成されていて正しく動作することを検証できます。rcmgr
コマンドを使用したり,/etc/rc.config
ファイルを手動で編集したりして,永続的なネットワーク設定にしてはなりません。この試験用ネットワークは LAN インターコネクトを使用してクラスタをリブートしたときに存在していないようにする必要があります。したがって,各メンバで設定を行うときは,ifconfig
コマンドを使用します。
ギガビット・イーサネット LAN インターコネクトを構成するには,次の手順で行います。
それぞれのメンバで,メンバ固有の
/etc/sysconfigtab
ファイルのバックアップ・コピーを作ります。
それぞれのメンバで,メンバ固有の
/etc/rc.config
ファイルを調べます。特に,NETDEV_
x
構成変数と
NRDEV_
x
構成変数に注意します。LAN インターコネクトで使うネットワーク・アダプタは,ブート手順の非常に早い段階で構成されるので,/etc/sysconfigtab
(次の手順を参照) で定義されます。/etc/rc.config
で定義してはなりません。これは NetRAIN デバイスにも当てはまります。LAN インターコネクト用に新しいデバイスを構成するのか以前のデバイスを再構成するのかを決めます。以前のデバイスを再構成する場合は,NRDEV_
x,NRCONFIG_
x,NETDEV_
x,IFCONFIG_
x,NR_DEVICES
,および
NUM_NETCONFIG
の各変数を適切に編集して,/etc/sysconfigtab
ファイルの
ics_ll_tcp
スタンザと
/etc/rc.config
ファイルに同じネットワーク・デバイス名が現れないようにします。
それぞれのメンバで,ics_ll_tcp
カーネル属性をメンバのネットワーク構成に合わせて設定します。たとえば,次のようにします。
clubase: cluster_interconnect = tcp # ics_ll_tcp: ics_tcp_adapter0 = nr0 ics_tcp_nr0[0] = alt0 ics_tcp_nr0[1] = alt1 ics_tcp_inetaddr0 = 10.1.0.100 ics_tcp_netmask0 = 255.255.255.0
すべてのクラスタ・メンバを停止します。
すべてのクラスタ・メンバを一度に 1 つづつブートします。
この節では,LAN インターコネクトを誤って構成したときに起こる次のような問題について説明し,その解決方法を示します。
メンバをブートすると,ブロードキャスト・エラーが多発して,既存メンバがパニックに陥る (D.8.1 項)。
ifconfig
nrx
スイッチ・コマンドの実行が失敗して,「No such device nr0」というメッセージが出る (D.8.2 項)。
クラスタで動作するアプリケーションが,既知のポートへバインドできない (D.8.3 項)。
D.8.1 新しいメンバをブートすると,ブロードキャスト・エラーが多発して既存メンバがパニックに陥る
スパニング・ツリー・プロトコル (STP) は,クラスタ・メンバのアダプタに接続されているすべてのイーサネット・スイッチ・ポートで無効にしなければなりません。この設定は,スイッチ・ポートが単一のアダプタに接続しているか NetRAIN 仮想インタフェースに含まれる複数のアダプタに接続しているかに関係なく行う必要があります。そうしない場合,クラスタ・メンバにブロードキャスト・メッセージが溢れ,クラスタは,実質的にサービスを提供できなくなります。最初のメンバのブートから最後のメンバのブートまで,次のようなメッセージが大量に表示されることがあります。
arp: local IP address 10.1.0.100 in use by hardware address 00-00-00-00-00-00
これらのメッセージに続いて,以下のメッセージが表示されます。
CNX MGR: cnx_pinger: broadcast problem: err 35
新しいメンバをブートしてこのクラスタに追加すると,既存のメンバがハングしたりパニックに陥ったりする可能性があります。特に,クォーラム・ディスクが構成されていると,その可能性は高くなります。この場合は,ブート時に次のメッセージが表示されます。
CNX MGR: cannot form: quorum disk is in use. Unable to establish contact with members using disk.
ただし,既存メンバがハングしたりパニックに陥ったりしても,30 秒ほど経過すれば,メンバがクォーラム・ディスクの検出に成功して,クラスタを形成することもあります。
D.8.2 NetRAIN 仮想インタフェースのデバイスを手動でフェイルオーバできない
NetRAIN は,非アクティブ側のインタフェースがパケットを受信しているかどうかを判定することで,そのインタフェースの正常性を監視します。その場合,必要に応じて,探査パケットをアクティブ・インタフェースから送信します。非アクティブ側のインタフェースが切断されると,NetRAIN は,そのインタフェースに
DEAD
のマークを付けます。アクティブ側のアダプタのケーブルを引き抜くと,NetRAIN は
DEAD
状態のスタンバイ・アダプタをアクティブにしようとします。このアダプタに問題が発生していなければ,フェイルオーバは正しく行われます。
ただし,手動による NetRAIN の切り替え操作 (たとえば,ifconfig nr0 switch
) は,異なった動作をします。この場合,正常なスタンバイ・アダプタがなければ,NetRAIN は
DEAD
状態のアダプタへフェイルオーバしようとはしません。ifconfig nr0 switch
コマンドを実行すると,次のようなメッセージが返ってきます。
ifconfig ioctl (SIOCIFSWITCH) No such device nr0
デュアル・スイッチ構成で,一方のスイッチに電源を再投入した後すぐに,もう一方のスイッチから手動でアクティブ・アダプタをフェイルオーバしようとすると,この現象が見られます。電源を投入して初期化が行われた後 (2〜3 分かかる) に手動で NetRAIN のフェイルオーバを行えば,正しい動作が行われます。フェイルオーバが正しく行われない場合は,スイッチのケーブル接続やアダプタを調べるとともに,ifconfig
コマンドや
niffconfig
コマンドを使ってインタフェースの状態を調べてください。
D.8.3 アプリケーションをポートにマップできない
LAN インターコネクトを使うクラスタの通信サブシステムでは,特に指定しなければ,クラスタのブロードキャスト・トラフィック用ランデブー・ポートとしてポート 900 が使われ,ポート 901〜910 および 912〜917 が非ブロードキャスト・チャネル用に予約されます。アプリケーションがこの範囲のポートを固定的に参照するように作られていると,そのポートにバインドできません。
この状況は,LAN インターコネクトで使うポートを変更することによって解決します。ics_ll_tcp
サブシステムの
ics_tcp_rendezvous_port
属性と
ics_tcp_ports
属性を
sys_attrs_ics_ll_tcp
(5)