スケーラビリティ
TCPの最適化はリソースを大量に消費するため、たとえハイエンドのアプライアンスであっても、単一のNetScalerアプライアンスでは高いGi-LANスループットを維持できない場合があります。ネットワークの容量を拡張するために、NetScalerアプライアンスをN+1クラスター構成で展開できます。クラスター展開では、NetScalerアプライアンスは単一のシステムイメージとして連携して機能します。クライアントトラフィックは、外部スイッチデバイスを使用してクラスタノード全体に分散されます。
トポロジ
図 1 は、4 つの T1300-40G ノードで構成されるクラスタの例です。
図 1 に示すセットアップには、次のプロパティがあります。
- すべてのクラスターノードは同じネットワーク (L2 クラスターとも呼ばれます) に属します。
- データプレーンとバックプレーンのトラフィックは異なるスイッチによって処理されます。
- Gi-LAN のスループットが 200 Gbps で、T1300-40G アプライアンスが 80 Gbps のスループットを維持できると仮定すると、3 台の T1300-40G アプライアンスが必要です。1つのクラスターノードに障害が発生した場合に冗長性を確保するために、合計4つのアプライアンスを導入しています。
- 各ノードは最大 67 Gbps のトラフィック(通常の動作状態では 50 Gbps、単一クラスタノード障害の場合は 67 Gbps)を受信するため、アップストリームスイッチへの 2 x 40 Gbps 接続が必要です。スイッチに障害が発生した場合に冗長性を確保するために、アップストリームスイッチを2、3台配置し、接続数を2倍にしています。
- クラスタリンクアグリゲーション (CLAG) は、クラスタノード全体にトラフィックを分散するために使用されます。1 つの CLAG がクライアントとサーバの両方のトラフィックを処理します。CLAG ではリンク冗長性が有効になっているため、一度に 1 つの「サブチャネル」だけが選択され、トラフィックを処理します。一部のリンクに障害が発生したり、スループットが指定されたしきい値を下回ったりすると、他のサブチャネルが選択されます。
- アップストリームスイッチは対称的なポートチャネルのロードバランシング(たとえば、Cisco IOS 7.0 (8) N1 (1) の source-dest-IP 専用アルゴリズム)を実行して、転送トラフィックフローと逆方向トラフィックフローが同じクラスタノードで処理されるようにします。このプロパティは、TCP のパフォーマンスを低下させるパケットの順序変更が不要になるので望ましいものです。
- データトラフィックの 50% はバックプレーンに送られると予想されます。つまり、各ノードは最大 34 Gbps (通常の動作状態では 25 Gbps、単一クラスタノードに障害が発生した場合は 34 Gbps)、他のクラスタノードに伝送されます。したがって、各ノードにはバックプレーンスイッチへの少なくとも4x10G接続が必要です。スイッチに障害が発生した場合に冗長性を確保するために、バックプレーンスイッチを2、3台配置し、接続数を2倍にしています。リンク冗長性は現在バックプレーンではサポートされていないため、スイッチレベルの冗長性を実現するには Cisco VPC または同等のテクノロジーが必要です。
- ステアリングパケットの MTU サイズは 1578 バイトなので、バックプレーンスイッチは 1500 バイトを超える MTU をサポートする必要があります。
注: 図 1 に示す設計は、T1120 および T1310 アプライアンスにも適用できます。T1310には10GbEポートがないため、バックプレーン接続には40GbEインターフェイスを使用します。
注: このドキュメントでは例として Cisco VPC を使用していますが、Cisco 以外のスイッチを使用する場合は、Juniper の MLAG などの同等の代替ソリューションを使用できます。
注: CLAG の代わりに ECMP などの他のトポロジも可能ですが、この特定のユースケースでは現在サポートされていません。
NetScaler T1000クラスターでのTCP最適化の構成
物理インストール、物理接続、ソフトウェアのインストール、およびライセンスが完了したら、実際のクラスタ構成に進むことができます。以下に説明する構成は、図 1 に示すクラスタに適用されます。
注:クラスター構成の詳細については、「 Citrix ADCクラスターの設定」を参照してください。
図 1 の 4 つの T1300 ノードには、次の NSIP アドレスがあるとします。
NSIP アドレスを持つ 4 つの T1300 ノード:
T1300-40-1: 10.102.29.60
T1300-40-2: 10.102.29.70
T1300-40-3: 10.102.29.80
T1300-40-4: 10.102.29.90
クラスタは、クラスタ IP (CLIP) アドレスを使用して管理されます。このアドレスは 10.78.16.61 であると想定されます。
クラスターのセットアップ
図 1 に示すクラスタの構成を開始するには、クラスタに追加する最初のアプライアンス (たとえば、T1300-40-1) にログオンし、次の操作を行います。
-
コマンドプロンプトで、次のコマンドを入力します。
コマンド:
> add cluster instance 1 > add cluster node 0 10.102.29.60 -state ACTIVE > add ns ip 10.102.29.61 255.255.255.255 -type clip > enable cluster instance 1 > save ns config > reboot –warm
-
アプライアンスが再起動したら、クラスタIP(CLIP)アドレスに接続し、残りのノードをクラスタに追加します。
コマンド:
> add cluster node 1 10.102.29.70 -state ACTIVE > add cluster node 2 10.102.29.80 -state ACTIVE > add cluster node 3 10.102.29.90 –state ACTIVE > save ns config
-
新しく追加された各ノードの NSIP アドレスに接続し、クラスタに参加します。
コマンド:
> join cluster -clip 10.102.29.61 -password nsroot > save ns config > reboot –warm
-
ノードが再起動したら、バックプレーン構成に進みます。クラスタ IP アドレスで次のコマンドを入力して、各クラスタノードのバックプレーンリンクの LACP チャネルを作成します。
コマンド:
> set interface 0/10/[1-8] –lacpkey 1 –lacpmode ACTIVE > set interface 1/10/[1-8] –lacpkey 2 –lacpmode ACTIVE > set interface 2/10/[1-8] –lacpkey 3 –lacpmode ACTIVE > set interface 3/10/[1-8] –lacpkey 4 –lacpmode ACTIVE
-
同様に、バックプレーンスイッチでダイナミック LA と VPC を設定します。バックプレーンスイッチインターフェイスの MTU が 1578 バイト以上であることを確認します。
-
チャネルが動作していることを確認します。
コマンド:
> show channel 0/LA/1 > show channel 1/LA/2 > show channel 2/LA/3 > show channel 3/LA/4
-
クラスタノードバックプレーンインターフェイスを設定します。
コマンド:
> set cluster node 0 -backplane 0/LA/1 > set cluster node 1 -backplane 1/LA/2 > set cluster node 2 -backplane 2/LA/3 > set cluster node 3 –backplane 3/LA/4
-
クラスタのステータスを確認し、クラスタが動作していることを確認します。
> show cluster instance > show cluster node
クラスターの設定の詳細については、「 Citrix ADCクラスターの設定」を参照してください。
クラスタノード間でのトラフィックの分散
NetScalerクラスターを形成したら、クラスターリンクアグリゲーション(CLAG)を展開してトラフィックをクラスターノードに分散します。1 つの CLAG リンクでクライアントトラフィックとサーバトラフィックの両方を処理できます。
クラスタ IP アドレスで、次のコマンドを実行して、図 1 に示すクラスタリンクアグリゲーション (CLAG) グループを作成します。
コマンド:
> set interface 0/40/[1-4] -lacpMode active -lacpKey 5 -lagType Cluster
> set interface 1/40/[1-4] -lacpMode active -lacpKey 5 -lagType Cluster
> set interface 2/40/[1-4] -lacpMode active -lacpKey 5 -lagType Cluster
> set interface 3/40/[1-4] -lacpMode active -lacpKey 5 -lagType Cluster
外部スイッチでダイナミックリンク集約を設定します。
次に、次のようにリンク冗長性を有効にします。
コード:
> set channel CLA/1 -linkRedundancy ON -lrMinThroughput 240000
最後に、次のように入力してチャネルのステータスを確認します。
コマンド:
> show channel CLA/1
チャネルは UP で、実際のスループットは 320000 である必要があります。
クラスタリンクアグリゲーションの詳細については、以下のトピックを参照してください。
MAC ベースフォワーディング(MBF)を使用するため、次のようにリンクセットを設定し、CLAG グループにバインドします。
コマンド:
> add linkset LS/1
> bind linkset LS/1 -ifnum CLA/1
リンクセットの詳細については、以下のトピックを参照してください。
VLAN と IP アドレスの設定
ストライプIP構成を使用します。これは、IPアドレスがすべてのノードでアクティブであることを意味します(デフォルト設定)。このトピックの詳細については 、「ストライプ、部分的にストライプ、およびスポッティングされた構成 」を参照してください。
-
入力および出力 SNIP を追加します。
コマンド:
> add ns ip 172.16.30.254 255.255.255.0 –type SNIP > add ns ip 172.16.31.254 255.255.255.0 –type SNIP > add ns ip6 fd00:172:16:30::254/112 –type SNIP > add ns ip6 fd00:172:16:31::254/112 –type SNIP
-
対応する入力 VLAN と出力 VLAN を追加します。
コマンド:
> add vlan 30 -aliasName wireless > add vlan 31 -aliasName internet
-
IP およびリンクセットを使用して VLAN をバインドします。
コマンド:
> bind vlan 31 -ifnum LS/1 -tagged > bind vlan 30 -ifnum LS/1 -tagged > bind vlan 30 -IPAddress 172.16.30.254 255.255.255.0 > bind vlan 31 -IPAddress 172.16.31.254 255.255.255.0 > bind vlan 30 -IPAddress fd00:172:16:30::254/112 > bind vlan 31 -IPAddress fd00:172:16:31::254/112
必要に応じて、さらに多くの入力 VLAN と出力 VLAN を追加できます。
TCP 最適化の設定
この時点で、クラスタ固有のコマンドをすべて適用しました。設定を完了するには、 TCP 最適化の設定で説明されている手順に従います。
ダイナミックルーティングの設定
NetScalerクラスターは、お客様のネットワークの動的ルーティング環境に統合できます。以下は、BGPルーティングプロトコルを使用した動的ルーティング設定の例です(OSPFもサポートされています)。
-
CLIPアドレスから、入力IPアドレスと出力IPアドレスでBGPと動的ルーティングを有効にします。
コマンド:
> enable ns feature bgp > set ns ip 172.16.30.254 –dynamicRouting ENABLED > set ns ip 172.16.31.254 –dynamicRouting ENABLED
-
vtysh を開き、出力側に BGP を設定します。
コード:
> shell root@ns# vtysh ns# configure terminal ns(config)# router bgp 65531 ns(config-router)# network 10.0.0.0/24 ns(config-router)# neighbor 172.16.31.100 remote-as 65530 ns(config-router)# neighbor 172.16.31.100 update-source 172.16.31.254 ns(config-router)# exit ns(config)# ns route-install propagate ns(config)# ns route-install default ns(config)# ns route-install bgp ns(config)# exit
-
デフォルトルートをCitrix ADCクラスタにアドバタイズするように、出力側BGPピアを設定します。例えば:
コマンド:
router bgp 65530 bgp router-id 172.16.31.100 network 0.0.0.0/0 neighbor 172.16.31.254 remote-as 65531
-
入力側を設定するには、同様の手順に従います。
-
vtysh から、次のように入力して、構成がすべてのクラスタノードに伝播されることを確認します。
コマンド:
ns# show running-config
-
最後に、各クラスタノードの NSIP アドレスにログオンし、BGP ピアからアドバタイズされたルートを確認します。
コマンド:
> show route | grep BGP