レイヤ 3 クラスタリングの構成
L3クラスターを理解する
高可用性の展開を拡張し、L3クラスターを確立するためにガイドされたさまざまなネットワーク間でクライアントトラフィックのスケーラビリティを向上させるという要求。L3クラスターを使用すると、Citrix ADCアプライアンスを個々のサブネット間でグループ化できます(L2クラスター)。
L3クラスターは、「独立ネットワーク構成(INC)モードのクラスター」とも呼ばれます。L3クラスター展開では、同じネットワーク内のクラスターノードがグループ化されてノードグループを形成します。L3 クラスタは、GRE トンネリングを使用して、ネットワーク間でパケットを操縦します。L3クラスター全体のハートビートメッセージがルーティングされます。
このドキュメントでは、次の詳細について説明します。
- アーキテクチャ
- 例
アーキテクチャ
L3クラスターアーキテクチャは、次のコンポーネントで構成されています。
-
ノードグループ。次の図に示すように、各ネットワーク(n1、n2)および(n3、n4)のクラスターノードはグループ化されてノードグループを形成します。これらのノードグループは、ネットワークのいずれかの側のレイヤー3スイッチで終端されます。
- クラスタは、クラスタノードとクライアント側の接続 デバイス間の物理接続を介してクライアントと通信します。これらの物理接続の論理的なグループ化は、クライアントデータプレーンと呼ばれます。
- クラスタは、クラスタノードとサーバ側の接続デバイス間の物理接続を介してサーバと通信します。これらの物理接続の論理的なグループ化は、 サーバデータプレーンと呼ばれます。
- バックプレーンスイッチ。同じネットワーク内のクラスタノードは、クラスタバックプレーンを使用して相互に通信します。バックプレーンは、各ノードの 1 つのインターフェイスが共通のスイッチ(クラスタバックプレーンスイッチ)に接続されている一連のインターフェイスです。
- GRE トンネル。L3 クラスタ内のノード間のパケットは、ルーティングのために送信元ノードと宛先ノードの NSIP アドレスを使用する暗号化されていない GRE トンネルを介して交換されます。異なるネットワークに属するノードのステアリングメカニズムが変わります。パケットは、MAC を書き換えるのではなく、GRE トンネルを介して他のサブネット上のノードに操縦されます。
例
以下で構成される L3 クラスタ展開の例を考えてみましょう。
- 3つのCitrix ADCアプライアンス(n1、n2、およびn3)ノードがNodegroup1にグループ化されます。
- 同様に、ノードn4とn5は、ノードグループ2にグループ化されています。3番目のネットワークには、2つのノードグループがあります。ノードグループ3にはn6とn7が含まれており、ノードグループ4にはn8とn9が含まれています。
- 同じネットワークに属するCitrix ADCアプライアンスは、ノードグループを形成するために結合されます。
L3クラスターを構成する前に考慮すべきポイント
Citrix ADCアプライアンスでL3クラスターを構成する前に、次の点を考慮してください。
- L3 サブネットの設定時には、バックプレーンは必須ではありません。バックプレーンが指定されていない場合、ノードはバックプレーン障害状態になりません。
注
同じL2ネットワークに複数のノードがある場合は、バックプレーンインターフェイスを定義する必要があります。バックプレーンインターフェイスが言及されていない場合、ノードはバックプレーン障害状態になります。
-
L2機能とストライプSNIPは、L3クラスターではサポートされていません。
- L3クラスターの外部トラフィック分散は、Equal Cost Multiple Path(ECMP)のみをサポートします。
- L3クラスター展開でステアリングが無効になっている場合、ICMPエラーとフラグメンテーションは処理されません。
- ネットワークエンティティ(
route, route6, pbr
、およびpbr6
)は、構成ノードグループにバインドする必要があります。 - VLAN、RNAT、およびIPトンネルを構成ノードグループにバインドすることはできません。
- 構成ノードグループには、常にプロパティSTRICT“ YES。
- 「addclusternode」コマンドを使用して、クラスターノードを構成ノードグループに追加しないでください。
-
add cluster instance -INC enabled
コマンドは、ネットワークエンティティ(route、route6、PBR、pb6、RNAT、IPトンネル、ip6tunnel)をクリアします。 -
clear config extended+
コマンドは、L3クラスター内のエンティティ(route、route6、PBR、pb6、RNAT、IPトンネル、ip6tunnel)をクリアしません。
L3 クラスターの設定
L3クラスター構成では、clusterコマンドには、ノードおよびノードグループに基づいて構成するさまざまな属性があります。L3 クラスタ構成には、IPv4 プロファイルとは別に IPv6 プロファイルも含まれます。
Citrix ADCアプライアンスでのL3クラスターの構成は、次のタスクで構成されます。
- クラスターインスタンスの作成
- L3クラスターにノードグループを作成する
- Citrix ADCアプライアンスをクラスターに追加し、ノードグループ
でグループ化します- クラスタIPアドレスをノードに追加します - クラスターインスタンスの有効化
- 構成を保存します
- 既存のノードグループにノードを追加する
- L3クラスターにノードグループを作成する
- 新しいノードを新しく作成されたノードグループにグループ化します
- ノードをクラスタに結合する
CLIを使用して以下を構成する
-
クラスターインスタンスを作成するには
add cluster instance <clid> -inc (<ENABLED|DISABLED>) [-processLocal <ENABLED | DISABLED]
-
L3 クラスタでノードグループを作成するには
add cluster nodegroup <name>
-
Citrix ADCアプライアンスをクラスタに追加し、ノードグループに関連付けるには
add cluster node <nodeid> <nodeip> -backplane <interface_name> node group <ng>
-
このノードでクラスタ IP アドレスを追加するには
add ns ip <IPAddress> <netmask> -type clip
-
クラスターインスタンスの有効化
enable cluster instance <clId>
-
構成を保存します
save ns config
-
アプライアンスのウォームリブート
reboot -warm
-
既存のノードグループに新しいノードを追加するには
add cluster node <nodeid> <nodeip> -nodegroup <ng>
-
L3クラスターに新しいノードグループを作成するには
add cluster nodegroup <ng>
-
新規ノードを新規作成したノードグループにグループ化するには
add cluster node <nodeid> <nodeip> -nodegroup <ng>
-
ノードをクラスタに参加させるには
join cluster –clip <ip_addr> -password <password>
add cluster instance 1 –inc ENABLED –processLocal ENABLED
Done
<!--NeedCopy-->
注
L3クラスターでは、「inc」パラメーターをENABLEDにする必要があります。
add cluster nodegroup ng1
Done
> add cluster node 0 1.1.1.1 –state ACTIVE -backplane 0/1/1 –nodegroup ng1
Done
> add ns ip 1.1.1.100 255.255.255.255 –type clip
Done
> enable cluster instance 1
Done
> save ns config
Done
> add cluster node 1 1.1.1.2 –state ACTIVE –nodegroup ng1
Done
> add cluster nodegroup ng2
Done
> add cluster node 4 2.2.2.1 –state ACTIVE –nodegroup ng2
Done
> add cluster node 5 2.2.2.2 –state ACTIVE –nodegroup ng2
Done
> join cluster -clip 1.1.1.100 -password nsroot
<!--NeedCopy-->
L3クラスターのアドバタイズクラスターIPアドレス
アップストリームルーターにアドバタイズされるクラスターIPアドレスを構成して、任意のサブネットからクラスター構成にアクセスできるようにします。クラスタIPアドレスは、ノードに設定された動的ルーティングプロトコルによってカーネルルートとしてアドバタイズされます。
クラスタ IP アドレスのアドバタイズは、次のタスクで構成されます。
- クラスタ IP アドレスのホストルートオプションを有効にします。ホストルートオプションは、動的ルーティングプロトコルを介したカーネルルート再配布のために、クラスターIPアドレスをZebOSルーティングテーブルにプッシュします。
- ノードでの動的ルーティングプロトコルの構成。 ダイナミックルーティングプロトコルは、クラスタ IP アドレスをアップストリームルータにアドバタイズします。ダイナミックルーティングプロトコルの設定の詳細については、ダイナミックルートの設定を参照してください。
CLIを使用してクラスターIPアドレスのホストルートオプションを有効にするには
コマンドプロンプトで、次のように入力します。
- add nsip <IPAddress> <netmask> -hostRoute ENABLED
- show nsip <IPAddress>
> add ns ip 10.102.29.60 255.255.255.255 -hostRoute ENABLED
Done
<!--NeedCopy-->
L3 クラスタで部分的にストライピングされた構成にスポッティング
L3クラスターの斑点および部分的に縞模様の構成は、L2クラスターとはわずかに異なります。ノードが異なるサブネット上に存在するため、構成はノードごとに異なる場合があります。ネットワーク構成はL3クラスター内でノード固有である可能性があるため、以下のパラメーターに基づいて、スポット構成または部分的にストライプ化された構成を構成する必要があります。
L3クラスター上のCitrix ADCアプライアンスで、スポットされた部分的にストライプ化された構成を構成するには、次のタスクを実行します。
- クラスター所有者グループをIPv4静的ルーティングテーブルに追加します
- クラスター所有者グループをIPv6静的ルーティングテーブルに追加します
- クラスター所有者グループをIPv4ポリシーベースルーティング(PBR)に追加する
- クラスター所有者グループをIPv6PBRに追加します
- VLAN の追加
- VLANをクラスターノードグループの特定の所有者グループにバインドします
CLIを使用して以下を構成する
-
Citrix ADCアプライアンスのIPv4静的ルートテーブルにクラスター所有者グループを追加するには
add route <network> <netmask> <gateway> -owner group <ng>
-
Citrix ADCアプライアンスのIPv6静的ルートテーブルにクラスター所有者グループを追加するには
add route6 <network> -owner group <ng>
-
クラスター所有者グループをIPv4PBRに追加するには
add pbr <name> <action> -owner group <ng>
-
クラスター所有者グループをIPv6PBRに追加するには
add pbr6 <name> <action> -owner group <ng>
-
VLAN を追加するには
add vlan <id>
-
VLAN をクラスタノードグループの特定の所有者グループにバインドするには
bind vlan <id> -ifnum – [IPAddress <ip_addr | ipv6_addr> [-owner group <ng>]
次のコマンドは、CLIを使用して設定できるスポット設定および部分ストライプ設定のサンプル例です。
> add route 10.102.29.0 255.255.255.0 10.102.29.2 –ownergroup ng2
Done
> add route6 fe80::9404:60ff:fedd:a464/64 –ownergroup ng1
Done
> add pbr pbr1 allow –ownergroup ng1
Done
> add pbr6 pbr2 allow –ownergroup ng2
Done
> add vlan 2
Done
> bind vlan 2 –ifnum 1/2 –[IPAddress 10.102.29.80 | fe80::9404:60ff:fedd:a464/64-ownergroup ng1
Done
<!--NeedCopy-->
ノードグループを構成する
L3クラスターでは、同じ構成セットを複数のノードグループに複製するには、次のコマンドを使用します。
CLUを使用して以下を構成する
-
Citrix ADCアプライアンスのルーティングテーブルにIPv4静的ルートを追加するには
add route <network> <netmask> <gateway> -ownerGroup <ng>
設定例:
add route 0 0 10.102.53.1 –ownerGroup ng1
add route 0 0 10.102.53.1 –ownerGroup ng2
<!--NeedCopy-->
上記の構成をサポートするために新しいノードグループ「all」を定義し、次のコマンドを構成する必要があります。
CLIを使用して以下を構成する
-
strictパラメーターを使用してクラスターに新しいノードグループを追加するには
add cluster node group <name> -strict <YES | NO>
-
クラスタノードまたはエンティティを指定されたノードグループにバインドするには
bind cluster nodegroup <name> -node <nodeid>
-
すべての所有者グループにIPv4静的ルートを追加するには
add route <network> <netmask> <gateway> -ownerGroup <ng>
設定例:
add cluster nodegroup all –strict YES
bind cluster nodegroup all –node 1
bind cluster nodegroup all –node 2
add route 0 0 10.102.53.1 –ownerGroup all
<!--NeedCopy-->
L3 クラスタ内のトラフィック分散
クラスター設定では、外部ネットワークはCitrix ADCアプライアンスのコレクションを単一のエンティティとして表示します。したがって、クラスターは、トラフィックを受信する必要がある単一のノードを選択する必要があります。L3 クラスタでは、この選択は ECMP を使用して行われます。選択されたノードをフロー受信機と呼びます。
注
L3クラスター(異なるネットワークにまたがるノード)の場合、ECMPトラフィック分散のみを使用できます。
フローレシーバはトラフィックを取得し、内部クラスタロジックを使用してトラフィックを処理する必要があるノードを決定します。このノードをフロープロセッサと呼びます。フローレシーバーとフロープロセッサーが同じネットワーク上にある場合、フローレシーバーはバックプレーンを介してトラフィックをフロープロセッサーに誘導します。フローレシーバーとフロープロセッサーが異なるネットワーク上にある場合、トラフィックはトンネルを介してステアリングされます。
注
フローレシーバとフロープロセッサは、トラフィックを処理できるノードである必要があります。
NetScaler 11以降では、クラスタバックプレーンでステアリングを無効にできます。詳細については、 クラスタバックプレーンでのステアリングの無効化を参照してください。
前の図は、クラスターを流れるクライアント要求を示しています。クライアントは、仮想 IP(VIP)アドレスに要求を送信します。クライアントデータプレーンに設定されたトラフィック分散メカニズムは、クラスタノードの 1 つをフローレシーバとして選択します。フローレシーバは、トラフィックを受信し、トラフィックを処理する必要があるノードを決定し、そのノードに要求を操縦します(フローレシーバが自身をフロープロセッサとして選択しない限り)。フロープロセッサとフローレシーバが同じノードグループにある場合、パケットはバックプレーン上でステアリングされます。また、フロープロセッサとフローレシーバが異なるノードグループに属している場合、パケットはルーテッドパスを介してトンネルを通過します。
フロープロセッサは、サーバとの接続を確立します。サーバは要求を処理し、要求をサーバに送信したサブネット IP(SNIP)アドレスに応答を送信します。L3 クラスタでは SNIP は常にスポッティングされた SNIP であるため、SNIP アドレスを所有するノードはサーバからの応答を受信します。