Application Delivery Management

高可用性展開の構成

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

導入シナリオ

Scenario

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

重要

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

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

Citrix ADM での高可用性展開の利点は次のとおりです:

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

  • 論理的な双方向レプリケーションの代わりに、データベースの物理ストリーミングレプリケーションを行います。

  • プライマリノードにフローティングIPアドレスを構成できるため、個別のCitrix ADC ロードバランサーが不要になります。

  • フローティングIPアドレスを使用してCitrix ADM ユーザーインターフェイスに簡単にアクセスできます。

  • NetScaler ADM ユーザーインターフェイスは、プライマリノードでのみ提供されます。1 次ノードを使用することで、2 次ノードにアクセスして変更を行うリスクを排除できます。

  • フローティング IP アドレスを設定するとフェイルオーバーの状況に対処でき、インスタンスを再設定する必要はありません。

  • スプリットブレインの状況を検出して処理する機能が組み込まれています。

次の表は、高可用性導入で使用される用語をまとめたものです。

利用規約 説明
プライマリノード 高可用性デプロイメントに登録された最初のノード。
2 次ノード 2 番目のノードが高可用性デプロイメントに登録されました。
ハートビート 高可用性セットアップでプライマリノードとセカンダリノード間でメッセージを交換するために使用されるメカニズム。メッセージは、個々のノード上のアプリケーションのステータスとヘルスを決定します。
フローティング IP アドレス フローティングIPは、同じサブネット内のあるノードから別のノードに即座に移動できるIPアドレスです。内部的には、プライマリノードのネットワークインターフェースのエイリアスとして設定されます。フェイルオーバーが発生すると、フローティングIPアドレスは古いプライマリから新しいプライマリにシームレスに移動されます。これは、クライアントが 1 つの IP アドレスを使用して高可用性ノードと通信できるようにするため、高可用性セットアップに役立ちます。

(注)

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

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

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

高可用性アーキテクチャ

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

監視ツール

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

プライマリノード

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

2 次ノード

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

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

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

ハートビートメッセージ

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

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

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

注意すべき重要なポイント

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

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

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

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

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

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

  • データベース:

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

    • データベースの同期は、データベースを物理的に複製することによって即座に行われます。

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

  • NetScaler ADM アップグレード:

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

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

  • UDPのデフォルトポート5005は、ハートビートを送信するノードとメッセージを受信するノードの両方で使用できます。

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

    注:

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

    NetScaler ADM が6.7より低いバージョンのESXIに展開されている場合は、[ MACアドレスの変更 ]オプションが[ 承認 のみ]に設定されていることを確認します。

    ESXi MAC アドレス

前提条件

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

  • Citrix ADM 高可用性デプロイメントは、Citrix ADM バージョン 12.0 ビルド 51.24 からサポートされています。

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

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

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

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

Citrix ADM を高可用性モードでセットアップするには

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

  2. 2 番目のサーバー (2 次ノード) を登録してデプロイします。

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

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

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

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

    注:

    .xva イメージファイルをインポートして開始するまでに数分かかる場合があります。画面下部にステータスが表示されます。

    XVA ファイル

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

    開始ファイル

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

    ネットワーク構成

  4. 初期ネットワーク設定が完了すると、ログインのプロンプトが表示されます。次の認証情報( nsrecover/nsroot)を使用してログオンします。

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

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

    [構成] メニュー

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

    プライマリノードの登録

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

    展開の確認

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

    ノードの確認

  9. コンソールに、システムの再起動を求めるメッセージが表示されます。「Yes」 と入力して再起動します。

    システムを再起動します

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

2 台目のサーバー (2 次ノード) を登録してデプロイします

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

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

  3. 初期ネットワーク設定が完了すると、システムはログインを要求します。次の認証情報( nsrecover/nsroot)を使用してログオンします。

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

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

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

  6. コンソールでは、Citrix ADM をスタンドアロン展開として選択するよう求められます。No と入力して、展開を高可用性として確認します。

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

    2番目のノードを確認

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

    IP アドレスを入力

  9. コンソールに、フローティング IP アドレスの入力を求めるプロンプトが表示されます。

    フローティング IP を入力してください

  10. コンソールに、システムの再起動を求めるメッセージが表示されます。「Yes」 と入力して再起動します。

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

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

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

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

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

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

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

ノードを高可用性ペアとしてデプロイするには:

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

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

  3. ホームページの「 はじめに 」をクリックします。

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

  5. [配置] ページで、[配置] をクリックします。

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

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

    これで、Floating IP アドレスの使用を開始できます。

  7. 管理者資格情報を使用してCitrix ADM にログオンし、ホームページで「 はじめに 」をクリックし、オプションで次の操作を行います:

    1. NetScaler ADC インスタンスの追加

    2. カスタマー ID の設定

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

  8. [ システム ] > [ 配置 ] に移動して、配置を検証します。

    詳細については、「 よく寄せられる質問」を参照してください。

高可用性の無効化

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

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

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

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

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

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

    ダイアログボックスが表示されます。[ はい ] をクリックすると、高可用性デプロイが中断されます。

高可用性を再デプロイ

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

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

フェールオーバーが実行されるのは、次のいずれかの状態が検出された場合です。

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

  • アプリケーションの正常性障害:プライマリノードが稼働していますが、NetScaler ADM プロセスの1つが停止しています。

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

ネットワークリンクのダウンタイムが原因で両方のノード間で通信が切断された場合は、次のようになります。

  • プライマリノードは引き続きプライマリとして動作します

  • ハートビートを受信できなかったため、セカンダリノードがプライマリノードを引き継ぎます

  • 両方のノードが個別のデータベースインスタンスを実行します

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

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

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