Application Delivery Management

高可用性展開の構成

高可用性 (HA) とは、サービスの中断なく常にユーザーが利用できるシステムを指します。高可用性セットアップは、システムのダウンタイム、ネットワークまたはアプリケーションの障害時に不可欠であり、あらゆるエンタープライズにとって重要な要件です。同じ構成を持つ2つのNetScaler Consoleノードをアクティブ-パッシブモードで高可用性展開することで、中断のない運用が提供されます。

展開シナリオ

シナリオ

単一のNetScaler Console HA展開で検証済みの最大ストレージ制限は3 TBです。詳細については、展開ガイドを参照してください。

重要

HTTPSを使用してNetScaler Console 12.1ビルド48.18以降のバージョンにアクセスする場合:

高可用性モードでNetScaler ConsoleをロードバランシングするようにNetScalerインスタンスを構成している場合は、まずNetScalerインスタンスを削除します。次に、フローティングIPアドレスを構成して、高可用性モードでNetScaler Consoleにアクセスします。

NetScaler Consoleでの高可用性展開の利点は次のとおりです。

  • プライマリノードとセカンダリノード間のハートビートを監視するメカニズムの改善。

  • 論理的な双方向レプリケーションではなく、データベースの物理ストリーミングレプリケーションの提供。

  • 個別のNetScalerロードバランサーの必要性を排除するための、プライマリノードでのフローティングIPアドレスの構成機能。

  • フローティングIPアドレスを使用したNetScaler Consoleユーザーインターフェイスへの容易なアクセス。

  • NetScaler Consoleユーザーインターフェイスはプライマリノードでのみ提供。プライマリノードを使用することで、セカンダリノードへのアクセスや変更のリスクを排除。

  • フローティングIPアドレスの構成により、フェールオーバー状況を処理し、インスタンスの再構成は不要。

  • スプリットブレイン状況を検出および処理する組み込み機能の提供。

次の表は、高可用性展開で使用される用語について説明しています。

用語 説明
プライマリノード 高可用性展開に登録された最初のノード。
セカンダリノード 高可用性展開に登録された2番目のノード。
ハートビート 高可用性セットアップでプライマリノードとセカンダリノード間でメッセージを交換するために使用されるメカニズム。メッセージは、各ノード上のアプリケーションのステータスと健全性を判断。
フローティングIPアドレス フローティングIPは、同じサブネット内の1つのノードから別のノードに瞬時に移動できるIPアドレス。内部的には、プライマリノードのネットワークインターフェイス上のエイリアスとして設定。フェールオーバーが発生した場合、フローティングIPアドレスは古いプライマリから新しいプライマリにシームレスに移動。クライアントが単一のIPアドレスを使用して高可用性ノードと通信できるため、高可用性セットアップで有用。

注:

ポートとプロトコルの詳細については、ポートを参照してください。

高可用性アーキテクチャのコンポーネント

次の図は、高可用性モードで展開された2つのNetScaler Consoleノードのアーキテクチャを示しています。

HAアーキテクチャ

高可用性展開では、1つのNetScaler Consoleノードがプライマリノード (MAS 1) として構成され、もう1つがセカンダリノード (MAS 2) として構成されます。何らかの理由でプライマリノードがダウンした場合、セカンダリノードが新しいプライマリノードとして引き継ぎます。

監視ツール

監視ツールは、フェールオーバー状況を監視、アラート、および処理するために使用される内部プロセスです。このツールは、高可用性内の各ノードでアクティブに実行されています。サブシステムの起動、両ノードでのデータベースの初期化、フェールオーバー時のプライマリまたはセカンダリノードの決定などを担当します。

プライマリノード

プライマリノードは接続を受け入れ、インスタンスを管理します。AppFlow、SNMP、LogStream、syslogなどのすべてのプロセスはプライマリノードによって管理されます。NetScaler Consoleユーザーインターフェイスへのアクセスはプライマリノードで利用可能です。フローティングIPアドレスはプライマリノードで構成されます。

セカンダリノード

セカンダリノードは、プライマリノードから送信されるハートビートメッセージをリッスンします。セカンダリノード上のデータベースは読み取りレプリカモードのみです。セカンダリノードではどのプロセスもアクティブではなく、NetScaler Consoleユーザーインターフェイスはセカンダリノードではアクセスできません。

物理ストリーミングレプリケーション

プライマリノードとセカンダリノードは、ハートビートメカニズムを通じて同期します。データベースの物理ストリーミングレプリケーションにより、セカンダリノードは読み取りレプリカモードで起動します。セカンダリノードは、プライマリノードから受信したハートビートメッセージをリッスンします。セカンダリノードが180秒間ハートビートを受信しない場合、プライマリノードはダウンしていると見なされます。その後、セカンダリノードがプライマリノードとして引き継ぎます。

ハートビートメッセージ

ハートビートメッセージは、プライマリノードとセカンダリノード間で送受信されるユーザーデータグラムパケット (UDP) です。NetScaler Consoleのすべてのサブシステムとデータベースを監視し、ノードの状態、健全性、プロセスなどに関する情報を交換します。この情報は、高可用性ノード間で毎秒共有されます。フェールオーバーまたは高可用性状態の切断が発生した場合、管理者にはアラートとして通知が送信されます。

フローティングIPアドレス

フローティングIPアドレスは、高可用性セットアップのプライマリノードに関連付けられています。これは、クライアントがプライマリノードでNetScaler Consoleに接続するために使用できる、プライマリノードIPアドレスに与えられたエイリアスです。フローティングIPアドレスはプライマリノードで構成されているため、フェールオーバーの場合でもインスタンスの再構成は不要です。インスタンスは同じIPアドレスに再接続して、新しいプライマリに到達します。

重要なポイント

  • 高可用性セットアップでは、両方のNetScaler Consoleノードがアクティブ-パッシブモードで展開されます。これらは同じサブネット上にあり、同じソフトウェアバージョンとビルドを使用し、同じ構成である必要があります。

  • フローティングIPアドレス:

    • フローティングIPアドレスはプライマリノードで構成されます。

    • フェールオーバーが発生した場合でも、インスタンスを再構成する必要はありません。

    • ユーザーインターフェイスから高可用性ノードにアクセスするには、プライマリノードIPまたはフローティングIPアドレスのいずれかを使用できます。

      注:

      ユーザーインターフェイスにアクセスするには、フローティングIPアドレスを使用することをお勧めします。

  • データベース:

    • 高可用性セットアップでは、すべての構成ファイルがプライマリノードからセカンダリノードに1分間隔で自動的に同期されます。

    • データベースの同期は、データベースの物理レプリケーションによって即座に行われます。

    • セカンダリノード上のデータベースは読み取りレプリカモードです。

  • NetScaler Consoleのアップグレード:

    • 内部プロセスにより、NetScaler Consoleは以前のバージョンから暗黙的にアップグレードされます。

      注:

      アップグレードが成功した後、フローティングIPアドレスを構成する必要があります。

  • UDPデフォルトポート5005は、ハートビートの送受信のために両方のノードで利用可能です。

  • MACアドレス ハイパーバイザーの「MACアドレス変更」オプションの設定は、仮想マシンが受信するトラフィックに影響します。仮想スイッチでMACアドレス変更を有効にすることで、フェールオーバー後にフローティングIPアドレスが新しいプライマリノードにシームレスに移動するようにします。 たとえば、VMware ESXiで高可用性NetScaler Consoleを展開する場合、MACアドレスへの変更を許可するようにしてください。ESXiは、アクティブなMACアドレスを初期MACアドレス以外のものに変更する要求を許可するようになりました。

    注:

    ESXIバージョン6.7に展開されたNetScaler Consoleの場合、「MACアドレス変更」オプションを「拒否」に設定することもできます。フェールオーバー後、「MACアドレス変更」設定に関係なく、トラフィックは新しいプライマリノードにシームレスに流れます。したがって、MACアドレスへの変更を許可することは必須ではありません。

    NetScaler ConsoleがESXIバージョン6.7より低いバージョンに展開されている場合、「MACアドレス変更」オプションは「許可」にのみ設定されていることを確認してください。

    ESXI MACアドレス

前提条件

NetScaler Consoleノードの高可用性を設定する前に、次の前提条件に注意してください。

  • NetScaler Console高可用性展開は、NetScaler Consoleバージョン12.0ビルド51.24以降でサポートされています。

  • NetScalerサイトからNetScaler Consoleイメージファイル (.xva) をダウンロードします: https://www.citrix.com/downloads/

スケジューリング動作とネットワーク遅延を改善するために、CPU優先度 (仮想マシンプロパティ内) を最高レベルに設定することをお勧めします。

次の表は、仮想コンピューティングリソースの最小要件を示しています。

コンポーネント 要件
RAM 32 GB
仮想CPU 8 CPU
ストレージ容量 NetScaler Console展開にはソリッドステートドライブ (SSD) テクノロジーを使用することをお勧めします。デフォルト値は120 GBです。実際のストレージ要件は、NetScaler Consoleのサイジング見積もりによって異なります。NetScaler Consoleのストレージ要件が120 GBを超える場合は、追加のディスクを接続する必要があります。注: 追加できるディスクは1つだけです。初期展開時にストレージを見積もり、追加のディスクを接続することをお勧めします。詳細については、NetScaler Consoleにディスクを追加する方法を参照してください。
仮想ネットワークインターフェイス 1
スループット 1 Gbpsまたは100 Mbps
ハイパーバイザー バージョン
Citrix Hypervisor 6.2および6.5
VMware ESXi 5.5および6.0
Microsoft Hyper-V 2012 R2
Linux KVM UbuntuおよびFedora

NetScaler Consoleを高可用性モードで設定する

バージョン14.1ビルド17.x以降では、プライマリノードのNetScaler Console GUIから直接高可用性セットアップを展開できます。

  1. 最初のサーバー (プライマリノード) を登録します。

  2. 2番目のサーバー (セカンダリノード) を登録します。

  3. プライマリノードGUIで高可用性セットアップを展開します。

最初のサーバー (プライマリノード) を登録する

プライマリノードを登録するには:

  1. NetScalerサイトからダウンロードした.xvaイメージファイルを使用し、ハイパーバイザーにインポートします。

    注:

    .xvaイメージファイルのインポートと起動には数分かかる場合があります。画面下部にステータスが表示されます。

    XVAファイル

  2. インポートが成功したら、右クリックして「開始」をクリックします。

    ファイルの開始

  3. コンソール」タブから、初期ネットワーク構成でNetScaler Consoleを構成します。

    ネットワーク構成

  4. 初期ネットワーク構成が完了すると、システムはログインを促します。次の資格情報を使用してログオンします – nsrecover/nsroot

    注:

    ログオン後、初期ネットワーク構成を更新したい場合は、「networkconfig」と入力し、構成を更新して保存します。

2番目のサーバー (セカンダリノード) を登録する

  1. NetScalerサイトからダウンロードした.xvaイメージファイルを使用し、ハイパーバイザーにインポートします。

  2. コンソール」タブから、次の画像に示すように初期ネットワーク構成でNetScaler Consoleを構成します。

  3. 初期ネットワーク構成が完了すると、システムはログインを促します。次の資格情報を使用してログオンします – nsrecover/nsroot

    注:

    • ログオン後、初期ネットワーク構成を更新したい場合は、「networkconfig」と入力し、構成を更新して保存します。
    • 構成に問題がある場合、システムはエラーメッセージを表示します。
    • システムは再起動し、構成が有効になるまでに数分かかります。

プライマリノードGUIから高可用性セットアップを展開する

プライマリノードとセカンダリノードの両方を登録した後、プライマリノードGUIにログインして高可用性ペアを設定します。

注:

  • ノードを高可用性ペアに展開する前に、初期ネットワーク構成後にセカンダリノードが再起動を完了していることを確認してください。

プライマリノードから高可用性ペアを展開するには、次の手順に従います。

  1. プライマリノードGUIにログインします。

  2. 設定 > 管理 > 高可用性設定 > NetScaler Console高可用性 (HA) の構成に移動します。

  3. NetScaler Console高可用性 (HA) の構成」ページで、セカンダリノードの次の詳細を入力します。

    • ピアノードIPアドレス
    • ピアノードパスワード
    • フローティングIPアドレス
  4. 「構成」をクリックします。

  5. 確認」ページで、「はい」をクリックします。

    HAペアの構成

    プライマリノードとセカンダリノードの両方が再起動し、高可用性ペアを形成します。通常、約10分かかります。

    注:

    • これで「フローティングIPアドレス」の使用を開始できます。
    • フローティングIPアドレスは、ノードの高可用性展開に必須です。
    • 高可用性展開が完了したら、フローティングIPアドレスを使用してNetScaler Consoleユーザーインターフェイスにアクセスします。
  6. 設定 > 展開に移動して、展開を検証します。

    注:

    セカンダリノードが起動するまでに約10分かかる場合があります。それまでは、セカンダリノードのステータスは「ダウン」と表示されます。

詳細については、よくある質問を参照してください。

高可用性の無効化

NetScaler Console高可用性ペアの高可用性を無効にし、ノードをスタンドアロンのNetScaler Consoleサーバーに変換できます。

注:

プライマリノードから高可用性を無効にします。

高可用性を無効にするには:

  1. Webブラウザで、NetScaler ConsoleサーバープライマリノードのIPアドレスを入力します。

  2. ユーザー名」フィールドと「パスワード」フィールドに、管理者資格情報を入力します。

  3. システム」タブで、「展開」に移動し、「HAを解除」をクリックします。

    ダイアログボックスが表示されます。「はい」をクリックして高可用性展開を解除します。

高可用性の再展開

高可用性をスタンドアロン展開に無効にした後、再度高可用性モードに再展開できます。高可用性の再展開は、高可用性の初回展開と同様です。詳細については、「プライマリノードGUIから高可用性セットアップを展開する」を参照してください。

注:

NetScaler® Console高可用性を無効にした後、1つのコンソールノードのみをスタンドアロンライセンスサーバーとして使用します。2番目のノードは再プロビジョニングする必要があります。

高可用性フェールオーバーシナリオ

次のいずれかの条件が発生した場合にフェールオーバーが発生します。

  • ノード障害: プライマリノードがダウンし、180秒間プライマリノードからハートビートが検出されない場合。

  • アプリケーション健全性障害: プライマリノードは稼働中だが、NetScaler Consoleプロセスが1つダウンしている場合。

データベース同期ログメッセージの表示

NetScaler Console HAペアでは、構成ファイルはプライマリノードからセカンダリノードに自動的に同期され、データベースの物理ストリーミングレプリケーションが行われます。

ただし、ストリーミングレプリケーションエラーが発生した場合、「データベースの同期」ボタンが表示されます。このボタンをクリックすると、データベース同期プロセスを開始できます。

ログメッセージ

データベース同期の進行状況を表示するには、「ログの表示」をクリックします。「データベース同期ログ」メッセージが表示され、同期の進行状況の詳細をリアルタイムで確認できます。

ログメッセージの同期

スプリットブレインシナリオ

ネットワークリンクのダウンタイムにより両ノード間の通信がない場合:

  • プライマリノードはプライマリとして動作を継続。

  • セカンダリノードはハートビートの受信失敗によりプライマリとして引き継ぎ。

  • 両ノードはそれぞれ独自のデータベースインスタンスを実行。

たとえば、エンタープライズで2つのNetScaler Consoleノードがプライマリとセカンダリとして展開されているとします。ネットワークリンクのダウンタイムの可能性により、2つのNetScaler Consoleノード間の通信が完全に途絶えます。180秒以上ハートビート交換がないため、両ノードは自身をプライマリノードと見なします。両ノードはアクティブノードとして機能し、それぞれ独自のデータベースインスタンスを実行します。

NetScaler Console 12.1以降のリリースでは、ネットワークリンクとハートビートが復元された後、このスプリットブレイン状況は適切に処理されます。高可用性同期は自動的に復元されます。回復時間は、データとノード間のリンク速度によって異なります。

注:

スプリットブレイン状態の間、古いプライマリノードで発生した変更は、高可用性に再結合されたときに新しいプライマリでリセットされます。スプリットブレイン中に新しいプライマリノードで発生した変更はそのまま維持されます。

ライセンス

NetScaler Consoleサーバーには、VIP、CICO、およびプールされた容量ライセンスを含めることができます。ライセンスがNetScaler Consoleサーバーに発行されると、ライセンスはサーバーホストIDにバインドされます。異なるNetScaler Consoleサーバーへのライセンスの割り当ては制限されています。

NetScaler Console高可用性ペアをライセンスサーバーとして構成した場合、プライマリに適用されたライセンスファイルはセカンダリに同期されます。

注:

  • リリース12.1-50.x以降では、NetScaler Consoleライセンスはプライマリからセカンダリノードに自動的に同期されます。