高可用性 (HA) とは、サービスが中断されることなくユーザーが常に利用できるシステムを指します。 高可用性の設定は、システムのダウンタイム、ネットワークまたはアプリケーションの障害時に非常に重要であり、あらゆる企業にとって重要な要件です。 同じ構成のアクティブ/パッシブ モードで 2 つの NetScaler コンソール ノードを高可用性で展開すると、中断のない操作が実現します。
注記
単一の NetScaler Console HA 展開の検証済み最大ストレージ制限は 3 TB です。 詳細については、 デプロイメント ガイドを参照してください。
重要
HTTPS を使用して NetScaler Console 12.1 ビルド 48.18 以降のバージョンにアクセスするには:
NetScaler インスタンスを高可用性モードで NetScaler Console の負荷分散するように構成している場合は、まず NetScaler インスタンスを削除します。 次に、高可用性モードで NetScaler コンソールにアクセスするためのフローティング IP アドレスを構成します。
NetScaler コンソールでの高可用性展開の利点は次のとおりです。
プライマリノードとセカンダリノード間のハートビートを監視するためのメカニズムが改善されました。
論理的な双方向レプリケーションの代わりに、データベースの物理的なストリーミング レプリケーションを提供します。
プライマリ ノードでフローティング IP アドレスを構成して、個別の NetScaler ロード バランサーの必要性を排除する機能。
フローティング IP アドレスを使用して、NetScaler コンソール ユーザー インターフェイスに簡単にアクセスできます。
NetScaler コンソール ユーザー インターフェイスは、プライマリ ノードでのみ提供されます。 プライマリ ノードを使用することで、セカンダリ ノードにアクセスして変更を加えるリスクを排除できます。
フローティング IP アドレスを構成するとフェイルオーバー状況が処理され、インスタンスを再構成する必要がなくなります。
スプリットブレイン状況を検出して処理する組み込み機能を提供します。
次の表では、高可用性展開で使用される用語について説明します。
条項 | 説明 |
---|---|
プライマリノード | 高可用性展開に登録された最初のノード。 |
セカンダリノード | 高可用性展開に登録された 2 番目のノード。 |
ハートビート | 高可用性セットアップでプライマリ ノードとセカンダリ ノード間でメッセージを交換するために使用されるメカニズム。 メッセージは、各ノード上のアプリケーションのステータスと健全性を判断します。 |
フローティングIPアドレス | フローティング IP は、同じサブネット内のあるノードから別のノードに瞬時に移動できる IP アドレスです。 内部的には、プライマリ ノードのネットワーク インターフェイス上のエイリアスとして設定されます。 フェイルオーバーが発生した場合、フローティング IP アドレスは古いプライマリから新しいプライマリにシームレスに移動されます。 これは、クライアントが単一の IP アドレスを使用して高可用性ノードと通信できるようにするため、高可用性セットアップに役立ちます。 |
注記:
ポートとプロトコルの詳細については、「 ポート」を参照してください。
次の図は、高可用性モードで展開された 2 つの NetScaler コンソール ノードのアーキテクチャを示しています。
高可用性展開では、1 つの NetScaler コンソール ノードがプライマリ ノード (MAS 1) として構成され、もう 1 つがセカンダリ ノード (MAS 2) として構成されます。 何らかの理由でプライマリ ノードがダウンした場合、セカンダリ ノードが新しいプライマリ ノードとして引き継ぎます。
監視ツールは、フェイルオーバー状況を監視、警告、および処理するために使用される内部プロセスです。 ツールはアクティブであり、高可用性の各ノードで実行されています。 サブシステムの起動、両方のノードでのデータベースの初期化、フェイルオーバーが発生した場合のプライマリノードまたはセカンダリノードの決定などを担当します。
プライマリ ノードは接続を受け入れ、インスタンスを管理します。 AppFlow、SNMP、LogStream、syslog などのすべてのプロセスは、プライマリ ノードによって管理されます。 NetScaler コンソール ユーザー インターフェイス アクセスはプライマリ ノードで利用できます。 フローティング IP アドレスはプライマリ ノードで構成されます。
セカンダリ ノードは、プライマリ ノードから送信されたハートビート メッセージをリッスンします。 セカンダリ ノード上のデータベースは、読み取りレプリカ モードのみです。 セカンダリ ノードではどのプロセスもアクティブではなく、セカンダリ ノードでは NetScaler コンソール ユーザー インターフェイスにアクセスできません。
プライマリノードとセカンダリノードはハートビートメカニズムを通じて同期します。 データベースの物理的なストリーミング レプリケーションでは、セカンダリ ノードは読み取りレプリカ モードで起動します。 セカンダリ ノードは、プライマリ ノードから受信したハートビート メッセージをリッスンします。 セカンダリ ノードが 180 秒間ハートビートを受信しない場合、プライマリ ノードはダウンしていると見なされます。 その後、セカンダリ ノードがプライマリ ノードとして引き継ぎます。
ハートビート メッセージは、プライマリ ノードとセカンダリ ノード間で送受信されるユーザー データグラム パケット (UDP) です。 NetScaler コンソールとデータベースのすべてのサブシステムを監視し、ノードの状態、健全性、プロセスなどの情報を交換します。 情報は高可用性ノード間で毎秒共有されます。 フェイルオーバーまたは高可用性状態の崩壊が発生した場合、通知が管理者にアラートとして送信されます。
フローティング IP アドレスは、高可用性セットアップのプライマリ ノードに関連付けられます。 これはプライマリ ノードの IP アドレスに付与されるエイリアスであり、クライアントはこれを使用してプライマリ ノードの NetScaler コンソールに接続できます。 フローティング IP アドレスはプライマリ ノードに設定されているため、フェイルオーバーが発生した場合でもインスタンスの再構成は必要ありません。 インスタンスは新しいプライマリに到達するために同じ IP アドレスに再接続します。
高可用性設定では、両方の NetScaler コンソール ノードがアクティブ/パッシブ モードで展開されます。 これらは同じサブネット上に存在し、同じソフトウェア バージョンとビルドを使用し、同じ構成になっている必要があります。
フローティングIPアドレス:
プライマリノードにフローティング IP アドレスが設定されます。
フェイルオーバーが発生した場合、インスタンスを再構成する必要はありません。
プライマリ ノード IP またはフローティング IP アドレスを使用して、ユーザー インターフェイスから高可用性ノードにアクセスできます。
注記:
ユーザー インターフェイスにアクセスするには、フローティング IP アドレスを使用することをお勧めします。
データベース:
高可用性設定では、すべての構成ファイルが 1 分間隔でプライマリ ノードからセカンダリ ノードに自動的に同期されます。
データベースの同期は、データベースの物理的な複製によって瞬時に行われます。
セカンダリ ノード上のデータベースは読み取りレプリカ モードです。
NetScaler コンソールのアップグレード:
内部プロセスにより、NetScaler Console は以前のバージョンから暗黙的にアップグレードされます。
注記:
アップグレードが成功したら、フローティング IP アドレスを構成する必要があります。
UDP デフォルト ポート 5005 は、ハートビートの送信とメッセージの受信の両方のノードで使用できます。
MAC アドレス ハイパーバイザーの「MAC アドレスの変更」オプションの設定は、仮想マシンが受信するトラフィックに影響します。 フェイルオーバー後にフローティング IP アドレスが新しいプライマリ ノードにシームレスに移動するように、仮想スイッチで MAC アドレスの変更を有効にします。 たとえば、VMware ESXi の高可用性に NetScaler コンソールを展開する場合は、MAC アドレスの変更を必ず受け入れるようにしてください。 ESXi では、アクティブな MAC アドレスを初期 MAC アドレス以外のものに変更する要求が許可されるようになりました。
注記:
ESXI バージョン 6.7 に展開された NetScaler コンソールの場合、 MAC アドレスの変更 オプションを 拒否 に設定することもできます。 フェイルオーバー後、トラフィックは、 MAC アドレスの変更 の設定に関係なく、新しいプライマリ ノードにシームレスに流れます。 したがって、MAC アドレスの変更を受け入れることは必須ではありません。
NetScaler コンソールが 6.7 より前のバージョンの ESXI に導入されている場合は、 MAC アドレスの変更 オプションが 受け入れる のみに設定されていることを確認してください。

NetScaler コンソール ノードの高可用性を設定する前に、次の前提条件に注意してください。
NetScaler コンソールの高可用性展開は、NetScaler コンソール バージョン 12.0 ビルド 51.24 からサポートされます。
NetScaler サイトから NetScaler コンソール イメージ ファイル (.xva) をダウンロードします: https://www.citrix.com/downloads/
スケジュール動作とネットワーク遅延を改善するには、CPU 優先度 (仮想マシンのプロパティ) を最高レベルに設定することをお勧めします。
次の表は、仮想コンピューティング リソースの最小要件を示しています。
成分 | 要件 |
---|---|
ラム | 32GB |
仮想CPU | 8個のCPU |
収納スペース | NetScaler コンソールの展開には、ソリッド ステート ドライブ (SSD) テクノロジを使用することをお勧めします。 デフォルト値は 120 GB です。 実際のストレージ要件は、NetScaler コンソールのサイズ見積もりによって異なります。 NetScaler コンソールのストレージ要件が 120 GB を超える場合は、追加のディスクを接続する必要があります。 注意: 追加できるディスクは 1 つだけです。 初期展開時にストレージを見積もり、追加のディスクを接続することをお勧めします。 詳細については、「 NetScaler コンソールに追加のディスクを接続する方法」を参照してください。 |
仮想ネットワークインターフェース | 1 |
スループット | 1 Gbps または 100 Mbps |
ハイパーバイザー | バージョン |
Citrix ハイパーバイザー | 6.2と6.5 |
VMware ESXi | 5.5と6.0 |
マイクロソフト Hyper-V | 2012 R2 |
Linux KVM | UbuntuとFedora |
バージョン 14.1 ビルド 17.x 以降では、プライマリ ノードの NetScaler コンソール GUI から直接高可用性セットアップを展開できます。
最初のサーバー(プライマリノード)を登録します。
2 番目のサーバー (セカンダリ ノード) を登録します。
プライマリ ノード GUI で高可用性セットアップを展開します。
プライマリノードを登録するには:
NetScaler サイトからダウンロードした .xva イメージ ファイルを使用して、ハイパーバイザーにインポートします。
注記:
.xva イメージ ファイルをインポートして開始するまでに数分かかる場合があります。 画面の下部でステータスを確認できます。
インポートが成功したら、右クリックして [ 開始] をクリックします。
コンソール タブから、初期ネットワーク構成を使用して NetScaler コンソールを構成します。
初期ネットワーク構成が完了すると、ログインを求めるメッセージが表示されます。 次の資格情報を使用してログオンします – nsrecover/nsroot。
注記:
ログオン後、初期ネットワーク構成を更新する場合は、「
networkconfig
」と入力し、構成を更新して保存します。
NetScaler サイトからダウンロードした .xva イメージ ファイルを使用して、ハイパーバイザーにインポートします。
コンソール タブから、次の画像に示すように初期ネットワーク構成を使用して NetScaler コンソールを構成します。
初期ネットワーク構成が完了すると、ログインを求めるメッセージが表示されます。 次の資格情報を使用してログオンします – nsrecover/nsroot。
注記:
- ログオン後、初期ネットワーク構成を更新する場合は、「
networkconfig
」と入力し、構成を更新して保存します。- 構成に問題がある場合は、システムはエラー メッセージが表示されます。
- システムが再起動し、設定が有効になるまで数分かかる場合があります。
プライマリノードとセカンダリノードの両方を登録した後、プライマリノードの GUI にログインして高可用性ペアを設定します。
注記:
- ノードを高可用性ペアに展開する前に、初期ネットワーク構成後にセカンダリ ノードの再起動が完了していることを確認します。
プライマリ ノードから高可用性ペアを展開するには、次の手順に従います。
プライマリ ノードの GUI にログインします。
[設定] > [管理] > [高可用性設定] > [NetScaler コンソールの高可用性 (HA) の構成]に移動します。
NetScaler コンソールの高可用性 (HA) の構成ページで、セカンダリ ノードの次の詳細を入力します。
[構成]をクリックします。
確認 ページで、 はいをクリックします。
プライマリ ノードとセカンダリ ノードの両方が再起動され、高可用性ペアが形成されます。これには通常約 10 分かかります。
注記:
- これで、 フローティング IP アドレスの使用を開始できます。
- ノードの高可用性展開にはフローティング IP アドレスが必須です。
- 高可用性の展開が完了したら、フローティング IP アドレスを使用して NetScaler コンソールのユーザー インターフェイスにアクセスします。
デプロイメントを検証するには、 設定 > デプロイメント に移動します。
注記:
セカンダリノードが起動するまでに約 10 分かかる場合があります。 それまでは、セカンダリノードのステータスは ダウンと表示されます。
詳細については、 よくある質問をご覧ください。
NetScaler コンソールの高可用性ペアで高可用性を無効にし、ノードをスタンドアロンの NetScaler コンソール サーバーに変換できます。
注記:
プライマリ ノードから高可用性を無効にします。
高可用性を無効にするには:
Web ブラウザで、NetScaler コンソール サーバーのプライマリ ノードの IP アドレスを入力します。
ユーザー名 および パスワード フィールドに、管理者の資格情報を入力します。
システム タブで、 デプロイメント に移動し、 HA の解除をクリックします。
ダイアログボックスが表示されます。 高可用性の展開を解除するには、[ はい ] をクリックします。
スタンドアロン展開に対して高可用性を無効にした後、再度高可用性モードに再展開できます。 高可用性の再展開は、高可用性の最初の展開と同様です。 詳細については、 プライマリ ノード GUI から高可用性セットアップを展開するを参照してください。
注記:
NetScaler コンソールの高可用性を無効にした後、スタンドアロン ライセンス サーバーとして 1 つのコンソール ノードのみを使用します。 2 番目のノードを再プロビジョニングする必要があります。
次のいずれかの条件に遭遇すると、フェイルオーバーが発生します。
ノード障害: プライマリノードがダウンし、プライマリノードからのハートビートが 180 秒間検出されません。
アプリケーションの正常性障害: プライマリノードは稼働していますが、NetScaler コンソールプロセスの 1 つが停止しています。
NetScaler Console HA ペアでは、構成ファイルがプライマリ ノードからセカンダリ ノードに自動的に同期され、データベースの物理的なストリーミング レプリケーションが行われます。
ただし、ストリーミング レプリケーション エラーが発生した場合は、[ データベースの同期 ] ボタンが表示されます。 データベースの同期 ボタンをクリックすると、データベースの同期プロセスを開始できます。
データベース同期の進行状況を表示するには、 ログの表示をクリックします。 データベース同期ログ メッセージが表示され、同期の進行状況の詳細をリアルタイムで確認できます。
ネットワーク リンクのダウンタイムにより両ノード間の通信が停止した場合、次のようになります。
プライマリノードはプライマリとして動作し続けます
ハートビートを受信できなかったため、セカンダリノードがプライマリとして引き継ぎます。
両方のノードはそれぞれ個別のデータベースインスタンスを実行します
たとえば、企業では 2 つの NetScaler Console ノードがプライマリとセカンダリとして導入されています。 ネットワーク リンクのダウンタイムが発生する可能性があるため、2 つの NetScaler Console ノード間の通信が完全に切断されます。 180 秒以上ハートビートの交換が行われないため、両方のノードは自身をプライマリ ノードであると見なします。 両方のノードはアクティブ ノードとして機能し、独自のデータベース インスタンスを実行します。
NetScaler Console 12.1 以降のリリースでは、ネットワーク リンクとハートビートが復元された後、このスプリット ブレイン状況は適切に処理されます。 高可用性同期は自動的に復元されます。 回復時間は、データとノード間のリンクの速度によって異なります。
注記:
スプリット ブレイン状態の間、古いプライマリ ノードで発生した変更は、高可用性で新しいプライマリが再結合されたときにリセットされます。 スプリットブレイン中に新しいプライマリノードで発生した変更はそのまま残ります。
NetScaler コンソール サーバーには、VIP、CICO、およびプールされた容量ライセンスを含めることができます。 ライセンスが NetScaler Console サーバーに発行されると、ライセンスはサーバーのホスト ID にバインドされます。 別の NetScaler Console サーバーにライセンスを割り当てることは制限されています。
NetScaler コンソールの高可用性ペアをライセンス サーバーとして構成すると、プライマリに適用されたライセンス ファイルがセカンダリに同期されます。
注記:
- リリース 12.1-50.x 以降では、NetScaler コンソール ライセンスはプライマリ ノードからセカンダリ ノードに自動的に同期されます。