Application Delivery Management

高可用性展開の構成

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

導入シナリオ

Scenario

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

重要

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

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

NetScaler ADMで高可用性を導入するメリットは次のとおりです。

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

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

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

  • フローティングIPアドレスを使用してNetScaler 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 などのすべてのプロセスはプライマリノードによって管理されます。NetScaler ADM ユーザーインターフェイスにはプライマリノードからアクセスできます。フローティング IP アドレスはプライマリノードで設定されます。

2 次ノード

セカンダリノードは、プライマリノードから送信されたハートビートメッセージを聞きます。セカンダリノードのデータベースは読み取り/レプリカモードのみです。セカンダリノードではどのプロセスもアクティブではなく、セカンダリノードでは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 アドレス変更」オプションの設定は、仮想マシンが受信するトラフィックに影響します。仮想スイッチで MAC アドレスの変更を有効にして、フェールオーバー後にフローティング IP アドレスが新しいプライマリノードにシームレスに移動できるようにします。 たとえば、NetScaler ADMをVMware ESXiの高可用性上に展開する場合は、MACアドレスの変更を受け入れるようにしてください。ESXi では、アクティブ MAC アドレスを初期 MAC アドレス以外に変更する要求が許可されるようになりました。

    注:

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

    NetScaler ADM が6.7より低いバージョンのESXiに展開されている場合は、[ 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)テクノロジーを使用することを推奨しています。デフォルト値は120GBです。実際のストレージ要件は、NetScaler ADM のサイズ設定の見積もりによって異なります。NetScaler ADM ストレージ要件が 120 GB を超える場合は、追加のディスクを接続する必要があります。注: 追加できるディスクは 1 つだけです。初期展開の時点で、記憶域を見積もり、追加のディスクを接続することをお勧めします。詳しくは、「 NetScaler 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

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

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

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

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

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

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

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

    注:

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

    XVA ファイル

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

    開始ファイル

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

    ネットワーク構成

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

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

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

    [構成] メニュー

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

    プライマリノードの登録

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

    展開の確認

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

    ノードの確認

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

    システムを再起動します

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

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

    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分かかります。

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

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

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

    2. カスタマー ID の設定

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

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

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

高可用性の無効化

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

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

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

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

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

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

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

高可用性を再デプロイ

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

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

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

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

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

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

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

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

ログメッセージ

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

ログメッセージの同期

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

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

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

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

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

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

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

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