等コスト・マルチパス (ECMP) の使用
クラスターデプロイメントで等価コストマルチパス (ECMP) メカニズムを使用することで、アクティブなクラスターノードは仮想サーバーのIPアドレスをアドバタイズします。アドバタイズされたトラフィックを受信するクラスターノードは、トラフィックを処理する必要があるノードにトラフィックを誘導します。スポッティングされた仮想サーバーや部分的にストライプされた仮想サーバーでは、冗長なステアリングが可能です。そのため、NetScaler 11以降では、スポットされた仮想サーバーIPアドレスと部分的にストライプされた仮想サーバーのIPアドレスが所有者ノードをアドバタイズするため、冗長なステアリングが軽減されます。
ECMP を使用するには、ルーティングプロトコルに関する詳細な知識が必要です。詳細については、 ダイナミックルートの設定を参照してください。クラスター内のルーティングの詳細については、「 クラスター内のルーティング」を参照してください。
ECMP を使用するには、まず以下を実行する必要があります。
- クラスタ IP アドレスで必要なルーティングプロトコル (OSPF、RIP、BGP、または ISIS) を有効にします。
- インターフェイスとスポッティング IP アドレス (ダイナミックルーティングが有効な場合) を VLAN にバインドします。
- 選択したルーティングプロトコルを設定し、VTYSHシェルを使用してZeBOS上のカーネルルートを再配布します。
クラスタ IP アドレスと外部接続デバイスでも同様の設定を行います。
注
- クラスターのライセンスが動的ルーティングをサポートしていることを確認してください。そうでない場合、ECMPは機能しません。
- RHIはルーターとワイルドカード仮想サーバーにアドバタイズするためのVIPアドレスを必要とするため、ECMPはワイルドカード仮想サーバーではサポートされていません。VIPアドレスが関連付けられていないためです。
図1:ECMP トポロジ
クラスターデプロイメントでトラフィック分散に ECMP メカニズムを使用すると、アクティブなクラスターノードは仮想サーバーの IP アドレスをアップストリームルーターにアドバタイズします。ECMP ルーターは SNIP0、SNIP1、または SNIP2 経由で VIP アドレスに到達できます。図 1 のトラフィックフローは次のとおりです。
- クライアントは、クラスターでホストされている VIP にリクエストを送信します。
- アップストリームルーターは、学習した VIP のルートに基づいて、パケットをいずれかのノードに転送します。NS1としましょう。ノード NS1 はフローレシーバーです。
- フローレシーバ (NS1) は、トラフィックを処理する必要があるノード (フロープロセッサ) を決定します。たとえば、ノード NS2 はフロープロセッサです。
- SNIP1(97.131.0.2)を備えたフローレシーバー(NS1)は、SNIP2(97.131.0.3)を備えたフロープロセッサ(NS2)にリクエストを誘導します。
- フロープロセッサ (NS2) はサーバーとの接続を確立します。
- サーバーは要求を処理し、要求を送信した SNIP アドレスに応答を送信します。
注記:
- アクティブノードのみが VIP ルートをアドバタイズします。
- 非アクティブノードは VIP ルートをアドバタイズしません。
- すべての ACTIVE ノードはストライプ VIP をアドバタイズします。
- アクティブな所有者ノードのみが、スポットされた VIP または部分的にストライプされた VIP をアドバタイズします。
コマンドラインインターフェイスを使用してクラスターで ECMP を構成するには
-
クラスタ IP アドレスにログオンします。
-
ルーティングプロトコルを有効にします。
enable ns feature <feature>
例: OSPF ルーティングプロトコルを有効にするには。
enable ns feature ospf
-
VLAN を追加します。
add vlan <id>
例
add vlan 97
-
クラスタノードのインタフェースをVLANにバインドします。
bind vlan <id> -ifnum <interface_name>
例
bind vlan 97 -ifnum 0/1/2 1/1/2 2/1/2
-
各ノードにスポッティング SNIP アドレスを追加し、そのノードで動的ルーティングを有効にします。
add ns ip <SNIP> <netmask> -ownerNode <positive_integer> -dynamicRouting ENABLED
例
add ns ip 97.131.0.1 255.0.0.0 -ownerNode 0 -dynamicRouting ENABLED -type SNIP add ns ip 97.131.0.2 255.0.0.0 -ownerNode 1 -dynamicRouting ENABLED -type SNIP add ns ip 97.131.0.3 255.0.0.0 -ownerNode 2 -dynamicRouting ENABLED -type SNIP
-
スポットのある SNIP アドレスの 1 つを VLAN にバインドします。1 つのスポット付き SNIP アドレスを VLAN にバインドすると、そのサブネット内のクラスタに定義されている他のすべてのスポット付き SNIP アドレスが自動的に VLAN にバインドされます。
bind vlan <id> -IPAddress <SNIP> <netmask>
例
bind vlan 97 -ipAddress 97.131.0.1 255.0.0.0
注
SNIP アドレスを追加する代わりに、クラスターノードの NSIP アドレスを使用できます。その場合は、手順 3 ~ 6 を実行する必要はありません。
-
VTYSHシェルを使用してZebOSでルーティングプロトコルを構成します。
例:
ノード ID 0、1、および 2 に OSPF ルーティングプロトコルを設定します。
vtysh ! interface vlan97 ! router ospf owner-node 0 ospf router-id 97.131.0.1 exit-owner-node owner-node 1 ospf router-id 97.131.0.2 exit-owner-node owner-node 2 ospf router-id 97.131.0.3 exit-owner-node redistribute kernel network 97.0.0.0/8 area 0 !
注
VIP アドレスがアドバタイズされるためには、次のように vServerRHilevel パラメータを使用して RHI 設定を行います。
add ns ip <IPAddress> <netmask> -type VIP -vserverRHILevel <vserverRHILevel>
OSPF 固有の RHI 設定では、次のような設定が可能です。
add ns ip <IPAddress> <netmask> -type VIP -ospfLSAType \( TYPE1 | TYPE5 ) -ospfArea <positive\_integer>
IPv6 アドレスに対して前述のコマンドを実行するには、add ns ip6 コマンドを使用します。
-
外部スイッチで ECMP を設定します。Cisco® Nexus 7000 C7010 リリース 5.2 (1) スイッチの設定例を以下に示します。他のスイッチでも同様の設定を行う必要があります。
//For OSPF (IPv4 addresses) Global config: Configure terminal feature ospf Interface config: Configure terminal interface Vlan10 no shutdown ip address 97.131.0.5/8 Configure terminal router ospf 1 network 97.0.0.0/8 area 0.0.0.0 --------------------------------- //For OSPFv3 (IPv6 addresses) Global config: Configure terminal feature ospfv3 Configure terminal interface Vlan10 no shutdown ipv6 address use-link-local-only ipv6 router ospfv3 1 area 0.0.0.0 Configure terminal router ospfv3 1
ECMP デプロイメントのルーター監視クラスターノード
クラスター設定で、スポットされた SNIP アドレス構成を持つ所有者ノードで、ownerDownResponse オプションを無効にできるようになりました。デフォルトでは、このオプションは有効になっており、ノードはアップストリームルーターからのICMP/ARP/ICMP6/ND6要求に応答できます。このオプションを無効にして、ルータがクラスタノードがアクティブか非アクティブかを監視できるようになりました。ルーターがリクエストを送信するときに、オプションが無効になっていると、所有者ノードが非アクティブでトラフィック分散に使用できないと識別されます。
コマンドラインインターフェイスを使用して ECMP をスタティックルートトラフィック分散に設定するには
add ns ip <ipddress> <netmask> -ownernode <node-id> –ownerDownResponse disable