この章では,LAN (ローカル・エリア・ネットワーク) ハードウェアをクラスタ・インターコネクトで使うための構成方法を説明します。扱う項目は以下のとおりです。
この章では,LAN ハードウェアをクラスタ・インターコネクトとして構成することに焦点を置いています。
6.1 構成のガイドライン
100 Mb/秒または 1000 Mb/秒 (ギガビット・イーサネット) の標準 LAN で動作するイーサネット・アダプタ,スイッチまたはハブであれば,LAN インターコネクトですべて動作します。
注意
FDDI (Fiber Distributed Data Interface),ATM LANE (LAN Emulation) および 10 Mb/秒のイーサネットは,LAN インターコネクトではサポートされていません。
イーサネット・ハードウェアをクラスタ LAN インターコネクトで使用する場合は,以下の条件が必要です。
クラスタ・メンバだけがその LAN インターコネクトを使用できること。 つまり,あるクラスタ・メンバの LAN インターコネクト・アダプタから送信されるパケットは,同じクラスタの他のメンバにある LAN インターコネクト・アダプタだけで受信できるようにする必要があります。
LAN インターコネクトとして,2 つのクラスタ・メンバ間を全二重で直接接続できるか,またはスイッチかハブ (スイッチとハブの混在は不可) を使って接続できること。3 つ以上のメンバから構成されるクラスタや,メンバがクラスタのインターコネクト・デバイスに NetRAIN (redundant array of independent network adapters) 仮想インタフェースを使うクラスタでは,スイッチが必要です。
注意
ハブとスイッチはほとんどの LAN インターコネクト構成において置き換え可能ですが,性能とスケーラビリティの点で,スイッチの方をお勧めします。ハブは半二重モードで動作するので,LAN インターコネクトで使うとクラスタの性能が制限されます。また,ハブには LAN インターコネクトの二重冗長構成に必要な機能がありません (付録 B を参照)。そのため,3 つ以上のメンバから構成されるクラスタでは,LAN インターコネクトでスイッチを使う方がハブを使う場合よりスケーラビリティがはるかに向上します。
アダプタとスイッチのポートは,100 Mb/秒または 1000 Mb/秒の全二重動作に関して互換性があるように構成すること。
DE60x
ファミリのアダプタ (コンソール名の形が
ei
x0
) または DEGPA-xx
アダプタを備えたスイッチを使う場合は,自動折衝をサポートしているスイッチを使ってください。DE50x
ファミリのネットワーク・アダプタ (コンソール名の形が
ew
x0
) は自動折衝を正しく行えないので,このアダプタを備えたスイッチを使う場合は,自動折衝を無効にできるスイッチを使ってください。構成が間違っている LAN ハードウェアのトラブルシューティングについては,『クラスタ管理ガイド』を参照してください。
完全に冗長性のある LAN クラスタ・インターコネクト (図 6-3 と図 6-4 を参照) で 2 つのスイッチを 2 本のクロス・ケーブルを使って接続すると,2 つ目のリンクによってルーティング・ループが形成されます。そのため,このループが原因で発生するパケット転送の問題を回避できるようにスイッチを構成する必要があります。以下に示すように,スイッチ間の並列リンクをサポートする方法は 3 つありますが,一般的なスイッチであれば,少なくともその 1 つを備えています。それらを有効な順に説明すると,以下のとおりです。
2 つのスイッチの間にある複数の物理的なリンクのうち,1 つのリンクをアクティブ・リンクにし,残りのリンクをスタンバイ・リンクにして,それらの間でフェイルオーバを行う。
スイッチの要件とそれぞれの方法に適した構成オプションについての詳細は,付録 B を参照してください。
スイッチ間に並列リンクがある場合は,そこに使われているスイッチ・ポートを通してルーティング・ループが形成されます。スパニング・ツリー・プロトコル (STP) は,こうしたループを避けるために有効です。しかし,メンバが単一のアダプタを使うか NetRAIN デバイスに含まれている複数のアダプタを使うかに関係なく,クラスタ・メンバに接続されているすべてのイーサネット・スイッチ・ポートで STP を無効にしておく必要があります。そうしない場合,クラスタ・メンバへブロードキャスト・メッセージが大量に送りつけられます。その結果,クラスタはサービスを提供できなくなります。スパニング・ツリー・プロトコルが,NetRAIN ポートで有効になっていた問題については,『クラスタ管理ガイド』を参照してください。
どのクラスタ・メンバも,他のすべてのメンバとポイント・ツー・ポイントで接続していること。あるメンバで LAN インターコネクトに使われているイーサネット・アダプタに障害が起こると,そのメンバは他のどのメンバとも通信できなくなります。あるメンバから来るインターコネクト・トラフィックを別のサブネットに転送するようにクラスタ・インターコネクトを構成することはできません。つまり,スイッチの機能をメンバ・システムに行わせることはできません。
LAN インターコネクトでは,Tru64 UNIX の機能 (lagconfig
コマンドを含む) を使ったイーサネット・アダプタのリンク集約はサポートされていません。
クラスタ全体にわたって同一の媒体を使用しなければなりません。つまり,すべてのケーブルはシングル・モード光ファイバまたは銅線でなけばなりません。
管理を単純にするために,すべてのクラスタ・メンバで LAN インターコネクトのネットワーク・アダプタを対称に構成してください。他のネットワーク・アダプタについても,すべてのメンバで同じタイプのアダプタを同じ相対位置にインストールすれば,どのクラスタ・メンバでもアダプタの名前が同じようになります。相互接続した 2 つ以上のスイッチと NetRAIN 仮想インタフェースをメンバのインターコネクト・デバイスとして使った,完全に冗長性のある LAN インターコネクト構成では,すべてのメンバで,それぞれの NetRAIN にリストされている最初のネットワーク・アダプタを最初のスイッチに,2 番目のネットワーク・アダプタを 2 番目のスイッチに,という具合に,同じ順序で接続してください。こうすることで,監視や保守を行う際にアダプタを簡単に識別することができます。また,クラスタが最初にブートするとき,どのメンバのアクティブ・アダプタも同じスイッチに接続されます。6.3.3 項で説明するように,LAN インターコネクトのすべてのアクティブ・アダプタが同じスイッチに接続するようにしておけば,障害が発生しても,クラスタのネットワークが分断がされないように保護することができます。
6.2 イーサネット・スイッチ・アドレス・エージングを 15 秒に設定
イーサネット・スイッチでは,MAC (媒体アクセス制御) アドレス (および仮想 LAN (VLAN) 識別子)とポートを関連付けるテーブルを持っているので,パケットを効率よく転送することができます。これらの転送に関するデータ・ベース (別名ユニキャスト・アドレス・テーブル) を使うことで,動的に学習して得られた転送に関するデータを,古くなったとして無効にする時間間隔を設定できます。この時間をエージング・タイムと呼ぶことがあります。
LAN インターコネクトに関係しているすべてのイーサネット・スイッチでは,エージング・タイムは 15 秒に設定します。
設定しなかった場合,(NetRAIN フェイルオーバなどにより) MAC アドレスが別のポートに移動した後でもスイッチは指定の MAC アドレス向けのパケットを,転送テーブルにリストされたポートに対して間違って送信し続けることがあります。そのためクラスタ通信が中断され,1 つまたは複数のノードが削除されることがあります。その結果として,クォーラムの喪失により 1 つまたは複数のノードがハングし,たとえば次のようなパニック・メッセージが表示される場合があります。
CNX MGR: this node removed from cluster CNX QDISK: Yielding to foreign owner
TruCluster Server は現在,クラスタが LAN または Memory Channel のどちらを使用しているかに関係なく,最大で 8 メンバまでのクラスタをサポートしています。第 1 章に,Memory Channel または LAN インターコネクトを使ったクラスタの汎用的な構成例が載っています。以降の各項では,その章を補うかたちで,以下の LAN インターコネクト構成を説明します。
1 本のクロス・ケーブルを使って,一方のメンバのイーサネット・アダプタをもう一方のメンバのイーサネット・アダプタに直接接続する (2 メンバ・クラスタのみ)。 (6.3.1 項)
2〜8 メンバを 1 個のスイッチで接続する。 (6.3.2 項)
クロス・ケーブルで接続した 2 つのスイッチと,各メンバにある 2 つ以上のイーサネット・アダプタで,NetRAIN 仮想インタフェースを構成する。ただし,どのメンバも両方のスイッチに接続する。 (6.3.3 項)
注意
NetRAIN を推奨しますが,必須ではありません。
クラスタ構成の AlphaServer DS10L システム。 (6.3.5 項)
6.3.1 1 本のクロス・ケーブルで直接接続された 2 つのクラスタ・メンバ
図 6-1
に示すように,2 メンバで構成するクラスタでは,各メンバのイーサネット・アダプタどうしを 1 本のクロス・ケーブルで接続することによって,LAN インターコネクトを構成できます。この図に示されている IP アドレスについては,『クラスタ・インストレーション・ガイド』を参照してください。
図 6-1: 1 本のクロス・ケーブルで直接接続された 2 つのクラスタ・メンバ
注意
2 つのメンバの間にスイッチもハブも置かない場合は,それぞれのメンバのネットワーク・アダプタどうしを,ポイント・ツー・ポイントのイーサネット接続に使うクロス・ケーブルで直接接続する必要があります。
メンバから見ると,このクラスタは LAN インターコネクトの構成要素が冗長化されていない,つまり,どちらのメンバもイーサネット・アダプタが 1 つで,しかも 1 本のケーブルだけでこれらのメンバが接続されているので,LAN インターコネクトの接続が切断されると (たとえば,イーサネット・アダプタの保守やケーブルの接続外れ),そのメンバはクラスタから孤立することになります。しかし,このクラスタに 1 ボート (投票権) を持つクォーラム・ディスクを構成しておけば,メンバまたはクォーラム・ディスクのどちらかに障害が起こった場合や,LAN インターコネクトの接続が切断された場合でも,クラスタ自体は動作を維持できます。また,一方のメンバにボートを持たせ,もう一方のメンバにボートを与えないでおけば,非投票メンバか LAN インターコネクトの接続に障害が起こっても,クラスタは動作を維持できます。
この構成を拡張して 2 つのメンバの間にスイッチを追加することができます。スイッチは以下の場合に必要です。
クラスタのメンバを 3 つ以上に増やす場合 (たとえば,6.3.2 項で説明する構成)。
それぞれのメンバに 2 つ目のイーサネット・アダプタを追加して,クラスタのインターコネクト・デバイスを NetRAIN 仮想インタフェースとして構成する場合。単純に 2 つ目のアダプタとクロス・ケーブルを追加しただけでは,あらゆる状況の NetRAIN フェイルオーバに対応できる接続は得られないので,お勧めできません。
2〜8 のメンバを 1 つのイーサネット・ハブまたはスイッチで接続してクラスタを構成することができます。3 つ以上のメンバで構成するクラスタでは,最適な性能を得るためにスイッチを使うことをお勧めします。
イーサネット・アダプタが複数個あるメンバでは,それらのアダプタを,LAN インターコネクト・インタフェースで使う NetRAIN セットとして構成できます。そうすれば,LAN インターコネクトへつながる内部接続が切断された場合でも,これらのメンバはクラスタ・メンバとして動作を維持することができます。
図 6-2
に示す 3 メンバ・クラスタでは,LAN インターコネクトに 1 つのイーサネット・スイッチを使っています。どのメンバのクラスタ・インターコネクトでも,2 つのネットワーク・アダプタで NetRAIN 仮想インタフェースが構成されています。図に示されている IP アドレスについては,『クラスタ・インストレーション・ガイド』を参照してください。
図 6-2: イーサネット・スイッチを 1 つ使う 3 メンバ・クラスタ
それぞれのメンバが 1 ボート (1 票の投票権) を持っていると,1 つのメンバに障害が起こるか,メンバの LAN インターコネクト接続が 1 箇所切断されても (たとえば,イーサネット・アダプタの保守やケーブルの接続外れ),このクラスタは動作を維持できます。メンバから見ると,LAN インターコネクトの接続が 1 箇所切断されても,すべてのメンバが動作を維持することになります。ただし,スイッチの保守や障害の場合は,クラスタが動作しなくなります。6.3.1 項で推奨したクォーラム・ディスクを使う 2 メンバ構成でない限り,スイッチの障害がクラスタ全体のダウンの原因になります。したがって,図 6-2 に示すクラスタはお勧めできません。
6.3.3 項で説明するように,このクラスタに 2 つ目のスイッチを追加して,それぞれのメンバから両方のスイッチへ LAN インターコネクト・アダプタを接続すれば,スイッチに障害が起こってもクラスタ全体がダウンすることがなくなり,クラスタの信頼性を向上させることができます。
6.3.3 完全に冗長性のある LAN インターコネクト・ハードウェアを使うクラスタ
相互接続されているスイッチとそれぞれのメンバとの間に冗長性のあるパスを設定するとともに,NetRAIN を使用することで,完全に冗長性のある LAN インターコネクトを構成することができます。図 6-3
と図 6-4
に示す 4 メンバ・クラスタでは,それぞれのメンバで,2 つのイーサネット・アダプタが NetRAIN 仮想インタフェースとして構成されるとともに,2 つのスイッチが 2 本のクロス・ケーブルで相互接続されています。また,それぞれのメンバから出ているイーサネットがどちらのスイッチにも接続されています。
図 6-3: リンク集約またはリンク復元を使う完全に冗長性のある推奨 LAN インターコネクト構成
図 6-4: スパニング・ツリー・プロトコルを使う完全に冗長性のある推奨 LAN インターコネクト構成
注意
製造元の異なるスイッチを混在させて使う場合は,互換性について製造元に確認してください。
6.3.2 項で説明した 3 メンバ・クラスタのように,このクラスタは,1 つのメンバに障害が発生するか,メンバの LAN インターコネクト接続が 1 箇所切断されても (たとえば,イーサネット・アダプタの保守やケーブルの接続外れ),クラスタ全体はダウンしません (どのメンバも 1 ボート持ち,クォーラム・ディスクが構成されていない場合)。また,このクラスタは,スイッチの一方に障害が起こるかスイッチ間のクロス・ケーブルが切断されても,動作を維持することができます。
NetRAIN では,非アクティブな LAN インターコネクト・アダプタをスイッチ間にまたがって探査しなくてはならないので,スイッチ間のクロス・ケーブル接続が重要です。2 本のクロス・ケーブルを使うよう,強くお勧めします。図 6-3 と図 6-4 で示すように,2 本のクロス・ケーブルを使えば,1 本のクロス・ケーブルが使えなくなってもクラスタには分かりません。付録 B で説明していますが,スイッチ間でこのような並列リンクを使う場合は,スイッチで行えるスイッチ間のルーティング・ループ検出または回避方法を使用しなければなりません。これらの図では,スイッチで行える最も一般的な方法に適したポート設定が示されています。利用できる方法は,リンク集約 (ポート・トランキングとも言う),リンク復元,およびスパニング・ツリー・プロトコル (STP) です。リンク集約とリンク復元は図 6-3 に示されています。STP は図 6-4 に示されています。図の中の IP アドレスについての説明は,『クラスタ・インストレーション・ガイド』を参照してください。
構成によっては (たとえば,図 6-5 に示すように 1 本のクロス・ケーブルしか使わない非推奨の構成),クロス接続が切断されるとネットワークが分断されます。クロス接続が完全に切断されると,NetRAIN は,クロス接続を経由して非アクティブなアダプタへパケットを送信することができなくなります。このような状況になってもクラスタはダウンしませんが,NetRAIN セットにあるアダプタの間でフェイルオーバが行えなくなります。
たとえば,図 6-5
に示す構成では,メンバ 1 とメンバ 2 のアクティブな LAN インターコネクト・アダプタは,現在,スイッチ 1 に接続されています。一方,メンバ 3 とメンバ 4 のアクティブな LAN インターコネクト・アダプタは,現在,スイッチ 2 に接続されています。クラスタがこのような状態にあるときにクロス接続が切断されると,メンバ 1 とメンバ 2 は,お互いを認識できますが,メンバ 3 とメンバ 4 を認識できなくなります。その結果,メンバ 3 とメンバ 4 をクラスタから外してしまいます。一方,メンバ 3 とメンバ 4 は,お互いを認識できますが,メンバ 1 とメンバ 2 を認識できなくなります。その結果,メンバ 1 とメンバ 2 をクラスタから外してしまいます。仕様上は,こうなると,どちらのクラスタもクォーラム (必要な定足数) に足りません。3 ボート必要なうち,2 ボートしか持っていないからです。その結果,どちらのクラスタもクォーラム喪失でハングします。
図 6-5: 推奨できない LAN インターコネクトの冗長構成
スイッチを二重構成にしたクラスタでは,ネットワークの分断に対する耐性を高めるために,以下の手順の一部またはすべてを実行してください。
図 6-3 に示すように,クラスタのスイッチどうしを 2 本のクロス・ケーブルで接続します。この構成にするとネットワークの分断に対する耐性は高まりますが,2 つ目のリンクがあるためにルーティング・ループができてパケットの転送に問題が発生します。そのため,この問題を回避できるようにスイッチを構成する必要が出てきます。スイッチの要件と構成方法についての詳細は,付録 B を参照してください。
クラスタでネットワークの分断が発生すると,クォーラム喪失のためにクラスタがハングすることがあります。この事態を避けるために,ボートを持つメンバの数を奇数にするか,1 ボートを持つクォーラム・ディスクを用意して,ボートが奇数になるようにクラスタを構成してください。
ケーブルやアダプタの交換などでネットワークを保守した後や,NetRAIN のフェイルオーバが発生したと考えられる場合は,クラスタ・インターコネクト上の NetRAIN デバイスにあるアクティブなネットワーク・アダプタの接続を調べてください。それぞれのメンバで,LAN インターコネクトの NetRAIN 仮想インタフェースで
ifconfig
コマンドを実行し,各メンバのアクティブな LAN インターコネクト・アダプタが同じスイッチに接続されていることを確認します。すべてのメンバで,最初のネットワーク・アダプタを最初のスイッチに,また,2 番目のネットワーク・アダプタを 2 番目のスイッチにそれぞれ接続すれば,スイッチに接続されているメンバのアダプタを簡単に識別できるようになります。アクティブなアダプタが同じスイッチに接続されていない場合は,それらを 1 つのスイッチへ統合するために,適宜,ifconfig nr
x
switch
を実行してください。
すべてのイーサネット・ハブ (つまりイーサネット・スイッチと区別するための共用ハブ) は,半二重モードで動作します。ハブを LAN インターコネクトで使用する場合,それに接続するイーサネット・アダプタを半二重モードで 100 Mb/秒に設定 (または自動折衝) しなければなりません (DE50x と DE60x ファミリのアダプタに関する詳細は,『クラスタ管理ガイド』を参照)。
LAN インターコネクトでのイーサネット・ハブの使用は,次のようにサポートされています。
各メンバの 1 つのイーサネット・アダプタ (または NetRAIN 仮想インタフェースとして構成された複数のアダプタ) を 1 つのイーサネット・ハブに接続します。この構成で NetRAIN を使用すると,メンバの NetRAIN セット内の単一アダプタ障害をガードします。ハブは単一の障害ポイントになります。
各メンバで NetRAIN 仮想インタフェースとして構成された複数のイーサネット・アダプタを,1 つのクロス・ケーブルで接続された 2 つのイーサネット・ハブに,図 6-5で示されているように接続します。この構成は,メンバ・アダプタの単一障害またはハブの単一障害をガードします。ただし,ハブ間のクロス・ケーブル・リンクに障害が発生した場合,クラスタ・ネットワーク・パーティションの障害につながることがあるのでお勧めしません (6.3.3 項を参照)。
イーサネット・ハブはイーサネット・スイッチとは異なり,ネットワーク・パーティションの障害を避けるために並列クロス・ケーブルを複数使用して構成することはできません。ハブにはルーティング・ループを検知し応答する機能がありません。
イーサネット・ハブは,その性能上小さなクラスタ (2 〜 3 メンバ) でのみ使用してください。
6.3.5 AlphaServer DS10L システムのクラスタ構成
LAN インターコネクトをサポートしたことで,HP AlphaServer DS10L のような基本的な AlphaServer システムも,クラスタ構成ができるようになりました。AlphaServer DS10L は,10/100 Mb/秒のイーサネット・ポート × 2,64 ビット PCI 拡張スロット × 1,内部固定 IDE ディスク × 1 の構成で出荷されるエントリ・レベルのシステムです。AlphaServer DS10L は,サイズが 44.7 × 52.1 × 4.5 cm (17.6 × 20.5 × 1.75 インチ (1U)) で,1 つの M シリーズ・キャビネットに多数搭載できるので,そのクラスタ構成は,アプリケーション (特に Web ベースのアプリケーション) にとって魅力的なオプションです。
AlphaServer DS10L をクラスタ構成にする場合は,1 つの PCI 拡張スロットを共用ストレージ (ここにクラスタ・ルート,メンバ・ブート・ディスク,オプションのクォーラム・ディスクを収容) のためのホスト・バス・アダプタに,また,イーサネット・ポートの 1 つを外部ネットワークに,そして,もう 1 つのイーサネット・ポートを LAN インターコネクトに,それぞれ使うことをお勧めします。図 6-6
に,4 台の AlphaServer DS10L で構成した,非常に基本的なローエンドのクラスタを示します。
図 6-6: ローエンドの AlphaServer DS10L クラスタ
図 6-6 に示す構成は,コスト・パフォーマンスの高いエントリ・レベルのクラスタですが,LAN インターコネクトまたは共用 SCSI ストレージ・バスに障害が起こると,クラスタとして使えなくなります。
図 6-7 に示す構成では,こうした単一機器障害によるクラスタ全体のダウンを避けるために,2 台の AlphaServer ES40 がクラスタのメンバとして追加され,さらに,スイッチ間の接続が二重化されています。2 台の AlphaServer DS10L メンバは,イーサネット・ポートを経由して,LAN インターコネクトの一方のスイッチに接続され,別の 2 台はもう一方のスイッチに接続されています。前の構成にあった共用 SCSI ストレージは,冗長 Fibre Channel スイッチを使った Fibre Channel ファブリックで置き換えられています。
図では明確に示されていませんが,2 台の DS10L のホスト・バス・アダプタは一方の Fibre Channel スイッチに,また,別の 2 台の DS10L のホスト・バス・アダプタはもう一方の Fibre Channel スイッチに,それぞれ接続されています。
図 6-7: AlphaServer DS10L と AlphaServer ES40 の両方をメンバとして含むクラスタ構成
2 台の AlphaServer ES40 メンバそれぞれにある物理的な LAN インターコネクト・デバイスは,NetRAIN 仮想インタフェースとして構成した 2 つのイーサネット・アダプタから構成されています。どちらの ES40 でも,一方のアダプタが最初のイーサネット・スイッチに,そして,もう一方のアダプタが 2 番目のイーサネット・スイッチにそれぞれケーブル接続されています。また,どちらの ES40 にも 2 つのホスト・バス・アダプタがあり,Fibre Channel ファブリックへ同じようにケーブル接続されています。つまり,一方のホスト・バス・アダプタが 1 番目の Fibre Channel スイッチに,また,もう一方のアダプタが 2 番目の Fibre Channel スイッチにそれぞれ接続されています。
このクラスタでボートを配分する方法は,以下に示すように何通りかあります。
各 AlphaServer ES40 メンバにボートを与え,AlphaServer DS10L メンバにはボートを与えない。1 ボートを持つクォーラム・ディスクを共用ストレージに構成する。こうすることによって,1 台の AlphaServer ES40 メンバ,クォーラム・ディスク,または AlphaServer DS10L メンバの一部あるいはすべてに障害が起こっても,クラスタは動作を維持できる。
各メンバにボートを与える。1 ボートを持つクォーラム・ディスクを共用ストレージに構成する。こうすることにより,2 台の AlphaServer ES40 メンバまたは 3 台の AlphaServer DS10L メンバに障害が起こっても,クラスタは動作を維持できる。言いかえると,AlphaServer ES40 メンバは,クォーラムを維持するために,最低でも 1 つの AlphaServer DS10L メンバのボートとクォーラム・ディスクのボートを必要とする。