Application Delivery Management

高可用性展開の構成

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

展開シナリオ

シナリオ

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

重要

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

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

NetScaler ADMにおける高可用性展開の利点は次のとおりです。

  • プライマリノードとセカンダリノード間のハートビートを監視するための改善されたメカニズム
  • 論理的な双方向レプリケーションではなく、データベースの物理ストリーミングレプリケーションを提供
  • プライマリノードにフローティングIPアドレスを構成する機能により、個別のNetScalerロードバランサーの必要性を排除
  • フローティングIPアドレスを使用してNetScaler ADMユーザーインターフェイスに簡単にアクセス可能
  • NetScaler ADMユーザーインターフェイスはプライマリノードでのみ提供されます。プライマリノードを使用することで、セカンダリノードへのアクセスや変更のリスクを排除
  • フローティングIPアドレスを構成することでフェイルオーバー状況を処理し、インスタンスの再構成は不要
  • スプリットブレイン状況を検出して処理する組み込み機能を提供

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

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

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

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

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

HAアーキテクチャ

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

監視ツール

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

プライマリノード

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

セカンダリノード

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

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

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

ハートビートメッセージ

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

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

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

留意事項

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

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

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

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

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

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

  • データベース:

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

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

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

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

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

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

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

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

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

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

    ESXI MACアドレス

前提条件

NetScaler ADMノードの高可用性をセットアップする前に、次の前提条件に注意してください。

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

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

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

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

コンポーネント 要件
RAM 32 GB
仮想CPU 8 CPU
ストレージスペース Citrixは、NetScaler ADM展開にソリッドステートドライブ (SSD) テクノロジーを使用することを推奨します。デフォルト値は120 GBです。実際のストレージ要件は、NetScaler ADMのサイジング見積もりによって異なります。NetScaler ADMのストレージ要件が120 GBを超える場合は、追加のディスクを接続する必要があります。: 追加できるディスクは1つだけです。Citrixは、初期展開時にストレージを見積もり、追加ディスクを接続することを推奨します。詳細については、NetScaler ADMへの追加ディスクの接続方法を参照してください。
仮想ネットワークインターフェイス 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 ADMを高可用性モードでセットアップ

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

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

  3. 高可用性セットアップのためにプライマリノードとセカンダリノードを展開します。

最初のサーバー (プライマリノード) の登録と展開

最初のノードを登録するには:

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

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

    XVAファイル

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

    ファイルの開始

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

    ネットワーク構成

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

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

  5. プライマリノードを展開するには、「/mps/deployment_type.py」と入力します。NetScaler ADM展開構成メニューが表示されます。

    構成メニュー

  6. NetScaler ADMサーバーをプライマリノードとして登録するには、1を選択します。

    プライマリノードの登録

  7. コンソールはNetScaler ADMスタンドアロン展開を選択するように促します。高可用性としての展開を確認するには、Noと入力します。

    展開の確認

  8. コンソールは最初のサーバーノードを選択するように促します。ノードを最初のノードとして確認するには、Yesと入力します。

    ノードの確認

  9. コンソールはシステムの再起動を促します。再起動するには、Yesと入力します。

    システムの再起動

    システムが再起動し、NetScaler ADMユーザーインターフェイスにプライマリノードとして表示されます。

2番目のサーバー (セカンダリノード) の登録と展開

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

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

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

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

  4. セカンダリノードを展開するには、「/mps/deployment_type.py」と入力します。NetScaler ADM展開構成メニューが表示されます。

  5. NetScaler ADMサーバーをセカンダリノードとして登録するには、1を選択します。

  6. コンソールはNetScaler ADMをスタンドアロン展開として選択するように促します。高可用性としての展開を確認するには、Noと入力します。

  7. コンソールは最初のサーバーノードを選択するように促します。ノードを2番目のサーバーとして確認するには、Noと入力します。

    2番目のノードの確認

  8. コンソールはプライマリノードのIPアドレスとパスワードを入力するように促します。

    IPアドレスの入力

  9. コンソールはフローティングIPアドレスを入力するように促します。

    フローティングIPの入力

  10. コンソールはシステムの再起動を促します。再起動するには、Yesと入力します。

    • ノードの高可用性展開にはフローティングIPアドレスが必須です。

    • 構成に問題がある場合、システムはエラーメッセージを表示します。

    • システムは再起動し、構成が有効になるまでに数分かかります。

プライマリノードとセカンダリノードを高可用性ペアとして展開

登録後、プライマリノードとセカンダリノードの両方がNetScaler ADMユーザーインターフェイスに表示されます。これらのノードを高可用性ペアとして展開します。

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

  • 高可用性展開が完了したら、フローティングIPアドレスを使用してNetScaler ADMユーザーインターフェイスにアクセスします。

ノードを高可用性ペアとして展開するには:

  1. Webブラウザーを開き、最初のNetScaler ADMサーバーノードのIPアドレスを入力します。

  2. [ユーザー名] および [パスワード] フィールドに、管理者資格情報を入力します。

  3. ホームページで [開始] をクリックします。

  4. 展開タイプとして [高可用性モードで展開された2つのサーバー] を選択し、[次へ] をクリックします。

  5. [展開] ページで [展開] をクリックします。

  6. 確認メッセージが表示されます。[はい] をクリックします。

    NetScaler ADMが再起動し、構成が有効になるまでに約10分かかります。

    これでフローティングIPアドレスの使用を開始できます。

  7. 管理者資格情報を使用してNetScaler ADMにログオンし、ホームページで [開始] をクリックし、オプションで以下を完了します。

    1. NetScalerインスタンスを追加

    2. 顧客IDを構成

      後で完了するために [スキップ] をクリックし、[完了] をクリックすることもできます。

  8. [設定] > [展開] に移動して展開を検証します。

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

高可用性の無効化

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

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

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

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

  2. [ユーザー名] および [パスワード] フィールドに、管理者資格情報を入力します。

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

    ダイアログボックスが表示されます。高可用性展開を解除するには、[はい] をクリックします。

高可用性の再展開

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

注:

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

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

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

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

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

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

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

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

ログメッセージ

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

ログメッセージの同期

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

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

  • プライマリノードはプライマリとして動作を継続
  • ハートビートを受信できなかったため、セカンダリノードがプライマリとして引き継ぐ
  • 両ノードは個別のデータベースインスタンスを実行

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

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

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