Citrix ADC

ECMP(等価コスト複数パス)の使用

クラスタ展開で等価コストマルチパス (ECMP) メカニズムを使用することで、アクティブなクラスタノードは仮想サーバの IP アドレスをアドバタイズします。アドバタイズされたトラフィックを受信するクラスタノードは、トラフィックを処理する必要があるノードへのトラフィックを操縦します。スポッティングされた仮想サーバーと部分的にストライプされた仮想サーバーでは、冗長なステアリングが可能です。したがって、NetScaler 11以降では、スポットされた仮想サーバーIPアドレスと部分的にストライプされた仮想サーバーのIPアドレスが所有者ノードをアドバタイズするため、冗長なステアリングが減少します。

ECMP を使用するには、ルーティングプロトコルに関する詳細な知識が必要です。詳しくは、「ダイナミックルートの設定」を参照してください。クラスタでのルーティングの詳細については、「クラスタ内のルーティング」を参照してください。

ECMP を使用するには、まず以下を実行する必要があります。

  • クラスタ IP アドレスで必要なルーティングプロトコル(OSPF、RIP、BGP、または ISIS)を有効にします。
  • インターフェイスとスポッティング IP アドレス(ダイナミックルーティングが有効の場合)を VLAN にバインドします。
  • vtysh シェルを使用して、選択したルーティングプロトコルを設定し、ZebOS 上でカーネルルートを再配布します。

クラスタ IP アドレスおよび外部接続デバイス上で同様の構成を実行します。

  • クラスタ上のライセンスが動的ルーティングをサポートしていることを確認します。そうでない場合、ECMP は機能しません。
  • RHI はルータにアドバタイズするために VIP アドレスを必要とし、ワイルドカード仮想サーバには VIP アドレスが関連付けられていないため、ECMP はワイルドカード仮想サーバではサポートされません。

図1:ECMP トポロジ

ECMP トポロジ

クラスタ展開でトラフィック分散に ECMP メカニズムを使用すると、アクティブなクラスタノードは仮想サーバの IP アドレスをアップストリームルータにアドバタイズします。ECMP ルータは、SNIP0、SNIP1、または SNIP2 を介して VIP アドレスに到達できます。図 1 のトラフィックフローは、次のように説明されています。

  1. クライアントは、クラスタでホストされている VIP に要求を送信します。
  2. アップストリームルータは、VIP の学習ルートに基づいて、パケットをいずれかのノードに転送します。NS1とか言いそうノードNS1はフローレシーバです。
  3. フローレシーバ(NS1)は、フロープロセッサと呼ばれるトラフィックを処理する必要があるノードを決定します。たとえば、ノード NS2 はフロープロセッサです。
  4. SNIP1(97.131.0.2)を持つフローレシーバ(NS1)は、SNIP2(97.131.0.3)を持つフロープロセッサ(NS2)に要求を操縦する。
  5. フロープロセッサ(NS2)は、サーバとの接続を確立します。
  6. サーバーは要求を処理し、要求を送信した SNIP アドレスに応答を送信します。

メモ:

  • VIPルートをアドバタイズするのは、ACTIVE ノードだけです。
  • 非アクティブノードは、VIP ルートをアドバタイズしません。
  • すべての ACTIVE ノードがストライプされた VIP をアドバタイズします。
  • ACTIVE オーナーノードだけが、斑点または部分的にストライプされた VIP をアドバタイズします

コマンドラインインターフェイスを使用してクラスタで ECMP を構成するには

  1. クラスタ IP アドレスにログオンします。

  2. ルーティングプロトコルを有効にします。

    ns 機能の有効化 <geature>
    

    例: OSPF ルーティングプロトコルを有効にするには。

    ns 機能 ospf を有効にする
    
  3. VLAN を追加します。

    add vlan <id>
    

    VLAN 97 を追加
    
  4. クラスタノードのインターフェイスを VLAN にバインドします。

    bind vlan <id> -ifnum <interface_name>
    

    bind vlan 97 -ifnum 0/1/2 1/1/2 2/1/2
    
  5. 各ノードにスポッティング 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
    
  6. スポットのある 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 を実行する必要はありません。

  7. 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 コマンドを使用します。

  8. 外部スイッチで ECMP を設定します。次に、Cisco® Nexus 7000 C7010 リリース 5.2 (1) スイッチ用の設定例を示します。他のスイッチでも同様の設定を行う必要があります。

    //OSPF(IPv4アドレス)グローバル設定:端末  機能の設定 ospf    インターフェイス  設定:端末  インターフェイスの設定 Vlan10シャットダウン      なし      IPアドレス 97.131.0.5/8 端末    ルータ  の設定ospf 1  ネットワーク 97.0.0.0/8 エリア 0.0.0.0  —  
    
    //OSPFv3(IPv6アドレス)グローバル設定:ターミナル  機能の  設定 ospfv3 ターミナル    インターフェイスの  設定 Vlan10 シャットダウン      なし ipv      6 アドレス使用-リンクローカルのみ      ipv6 ルータ ospfv3 1 エリア 0.0.0.0    ターミナル  ルータ ospfv3 1 の設定
    

ECMP 導入におけるクラスタ・ノードを監視するルータ

クラスタセットアップで、スポッティングされた SNIP アドレス構成を持つ所有者ノードで、ownerDownResponse オプションを無効にできるようになりました。デフォルトでは、このオプションは有効になっており、ノードはアップストリームルータからの ICMP/ARP/ICMP6/ND6 要求に応答できます。このオプションを無効にすると、クラスタノードがアクティブか非アクティブかをルータが監視できるようになります。ルータが要求を送信するときに、このオプションが無効になっている場合、ルータは所有者ノードを非アクティブにし、トラフィックの分散に使用できないことを識別します。

コマンドラインインターフェイスを使用して ECMP をスタティックルートトラフィック分散に設定するには

add ns ip <ipddress> <netmask> -ownernode <node-id> –ownerDownResponse disable

ECMP(等価コスト複数パス)の使用