等コストマルチパス(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ルートをアドバタイズするのは、ACTIVE ノードだけです。
- 非アクティブノードは、VIP ルートをアドバタイズしません。
- すべての ACTIVE ノードがストライプされた VIP をアドバタイズします。
- ACTIVE オーナーノードだけが、斑点または部分的にストライプされた 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 にバインドします。スポッティング SNIP アドレスを 1 つの 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