高可用性展開を構成する
高可用性 (HA) とは、サービスの中断なしに常にユーザーが利用できるシステムを指します。高可用性セットアップは、システムのダウンタイム、ネットワークまたはアプリケーションの障害時に不可欠であり、あらゆる企業にとって重要な要件です。同じ構成のアクティブ/パッシブモードで2つのNetScaler Consoleノードを高可用性展開することで、中断のない運用が提供されます。
展開シナリオ
シナリオ(/en-us/netscaler-application-delivery-management-software/media/deploymentscenario-console.png)
注
単一のNetScaler Console HA展開で検証済みの最大ストレージ制限は3 TBです。詳細については、展開ガイドを参照してください。
重要
HTTPSを使用してNetScaler Console 12.1ビルド48.18以降のバージョンにアクセスするには:
高可用性モードでNetScaler Consoleを負荷分散するようにNetScalerインスタンスを構成している場合は、まずNetScalerインスタンスを削除します。次に、高可用性モードでNetScaler ConsoleにアクセスするためのフローティングIPアドレスを構成します。
NetScaler Consoleにおける高可用性展開の利点は次のとおりです。
-
プライマリノードとセカンダリノード間のハートビートを監視するための改善されたメカニズム。
-
論理的な双方向レプリケーションではなく、データベースの物理ストリーミングレプリケーションを提供します。
-
個別のNetScalerロードバランサーの必要性を排除するために、プライマリノードにフローティングIPアドレスを構成する機能。
-
フローティングIPアドレスを使用してNetScaler Consoleユーザーインターフェイスに簡単にアクセスできます。
-
NetScaler Consoleユーザーインターフェイスはプライマリノードでのみ提供されます。プライマリノードを使用することで、セカンダリノードにアクセスして変更を加えるリスクを排除できます。
-
フローティングIPアドレスを設定することでフェイルオーバー状況に対応し、インスタンスの再設定は不要になります。
-
スプリットブレイン状況を検出して処理する組み込み機能を提供します。
次の表は、高可用性展開で使用される用語について説明しています。
| 用語 | 説明 |
|---|---|
| プライマリノード | 高可用性展開に登録された最初のノード。 |
| セカンダリノード | 高可用性展開に登録された2番目のノード。 |
| ハートビート | 高可用性設定において、プライマリノードとセカンダリノード間でメッセージを交換するために使用されるメカニズム。これらのメッセージは、各ノード上のアプリケーションのステータスと健全性を判断します。 |
| フローティングIPアドレス | フローティングIPは、同じサブネット内の1つのノードから別のノードに瞬時に移動できるIPアドレスです。内部的には、プライマリノードのネットワークインターフェース上のエイリアスとして設定されます。フェイルオーバーが発生した場合、フローティングIPアドレスは古いプライマリから新しいプライマリにシームレスに移動します。単一のIPアドレスを使用してクライアントが高可用性ノードと通信できるため、高可用性設定で役立ちます。 |
注:
ポートとプロトコルの詳細については、ポートを参照してください。
高可用性アーキテクチャのコンポーネント
次の図は、高可用性モードで展開された2つのNetScaler Consoleノードのアーキテクチャを示しています。
HAアーキテクチャ(/en-us/netscaler-application-delivery-management-software/media/haarchitecture-console.png)
高可用性展開では、一方のNetScaler Consoleノードがプライマリノード (MAS 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アドレス変更」オプションの設定は、仮想マシンが受信するトラフィックに影響します。フェイルオーバー後、フローティングIPアドレスが新しいプライマリノードにシームレスに移動するように、仮想スイッチでMACアドレス変更を有効にしてください。 例えば、VMware ESXi上でNetScaler Consoleを高可用性で展開する場合、MACアドレスの変更を受け入れるようにしてください。ESXiは現在、アクティブなMACアドレスを初期MACアドレス以外のものに変更する要求を許可しています。注記:ESXIバージョン6.7に展開されたNetScaler Consoleの場合、MACアドレス変更オプションを拒否に設定することもできます。フェイルオーバー後、MACアドレス変更の設定に関わらず、トラフィックは新しいプライマリノードにシームレスに流れます。したがって、MACアドレスの変更を受け入れることは必須ではありません。NetScaler ConsoleがESXIバージョン6.7より低いバージョンに展開されている場合、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 |
| ハイパーバイザー | バージョン |
| シトリックス ハイパーバイザー | 6.2および6.5 |
| ヴイエムウェア ESXi | 5.5 および 6.0 |
| マイクロソフト Hyper-V | 2012 R2 |
| リナックス KVM | Ubuntu および Fedora |
NetScaler Console を高可用性モードでセットアップするには
バージョン 14.1 ビルド 17.x 以降、プライマリノードの NetScaler Console GUI から直接高可用性セットアップを展開できます。
-
最初のサーバー (プライマリノード) を登録します。
-
2番目のサーバー (セカンダリノード) を登録します。
-
プライマリノードの GUI で高可用性セットアップを展開します。
最初のサーバー (プライマリノード) を登録する
プライマリノードを登録するには:
-
NetScaler サイトからダウンロードした .xva イメージファイルを使用し、それをハイパーバイザーにインポートします。注:.xva イメージファイルのインポートと起動には数分かかる場合があります。画面下部にステータスが表示されます。XVAファイル(/en-us/netscaler-application-delivery-management-software/media/importvm.png)
-
インポートが成功したら、右クリックして開始をクリックします。ファイルの開始(/en-us/netscaler-application-delivery-management-software/media/startvm.png)
-
コンソールタブから、NetScaler Consoleを初期ネットワーク構成で設定します。ネットワーク構成(/en-us/netscaler-application-delivery-management-software/media/admha-initialconfig.png)
-
初期ネットワーク構成が完了すると、システムはログインを促します。次の資格情報を使用してログオンします – nsrecover/nsroot。注:ログオン後、初期ネットワーク構成を更新する場合は、
networkconfigと入力し、構成を更新して保存します。
2番目のサーバー(セカンダリノード)を登録する
-
NetScalerサイトからダウンロードした**.xva**イメージファイルを使用して、ハイパーバイザーにインポートします。
-
コンソールタブから、次の画像に表示されているように、NetScaler Consoleを初期ネットワーク構成で設定します。
-
初期ネットワーク構成が完了すると、システムはログインを促します。次の資格情報を使用してログオンします – nsrecover/nsroot。注:
-
ログオン後、初期ネットワーク構成を更新する場合は、
networkconfigと入力し、構成を更新して保存します。 -
設定に問題がある場合、システムはエラーメッセージを表示します。
-
システムが再起動し、設定が有効になるまでに数分かかります。
-
プライマリノードGUIから高可用性セットアップを展開する
プライマリノードとセカンダリノードの両方を登録した後、プライマリノードGUIにログインして高可用性ペアをセットアップします。
注:
-
ノードを高可用性ペアに展開する前に、初期ネットワーク構成後、セカンダリノードが再起動を完了していることを確認してください。
プライマリノードから高可用性ペアを展開するには、次の手順に従います。
-
プライマリノードGUIにログインします。
-
設定 > 管理 > 高可用性設定 > NetScaler Console高可用性 (HA) の構成 に移動します。
-
Configure NetScaler Console High Availability (HA) ページで、セカンダリノードの次の詳細を入力します。
-
ピアノードIPアドレス
-
ピアノードパスワード
-
フローティングIPアドレス
-
-
「Configure」をクリックします。
-
Confirm ページで、Yes をクリックします。HAペアを構成する(/en-us/netscaler-application-delivery-management-software/media/configure-ha-pair.png)プライマリノードとセカンダリノードの両方が再起動され、高可用性ペアが形成されます。これには通常、約10分かかります。注:
-
これで、フローティングIPアドレスの使用を開始できます。
-
ノードの高可用性展開には、フローティングIPアドレスが必須です。
-
高可用性展開が完了したら、フローティングIPアドレスを使用してNetScaler Consoleのユーザーインターフェイスにアクセスします。
-
-
Settings > Deploymentに移動して、展開を検証します。注:セカンダリノードが起動するまでに約10分かかる場合があります。それまでは、セカンダリノードのステータスはDownと表示されます。
詳細については、よくある質問を参照してください。
高可用性を無効にする
NetScaler Consoleの高可用性ペアで高可用性を無効にし、ノードをスタンドアロンのNetScaler Consoleサーバーに変換できます。
注:
プライマリノードから高可用性を無効にします。
高可用性を無効にするには:
-
Webブラウザで、NetScaler ConsoleサーバーのプライマリノードのIPアドレスを入力します。
-
ユーザー名フィールドとパスワードフィールドに、管理者資格情報を入力します。
-
システムタブで、展開に移動し、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ライセンスはプライマリノードからセカンダリノードへ自動的に同期されます。