高可用性展開の構成
High Availability (HA) とは、サービスを中断することなく、ユーザーが常に利用できるシステムを指します。高可用性のセットアップは、システムのダウンタイム、ネットワークまたはアプリケーションの障害時に重要であり、あらゆる企業にとって重要な要件です。同じ構成のアクティブ/パッシブモードで2つのCitrix ADM ノードを高可用性展開すると、中断のない操作が可能になります。
導入シナリオ
注
単一のCitrix 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 ユーザーインターフェイスに簡単にアクセスできます。
-
Citrix ADM ユーザーインターフェイスは、プライマリノードでのみ提供されます。1 次ノードを使用することで、2 次ノードにアクセスして変更を行うリスクを排除できます。
-
Floating IP アドレスを設定すると、フェイルオーバーの状況が処理され、インスタンスを再設定する必要はありません。
-
スプリットブレインの状況を検出して処理する機能が組み込まれています。
次の表に、高可用性展開で使用される用語を示します。
利用規約 | 説明 |
---|---|
プライマリノード | 高可用性デプロイメントに登録された最初のノード。 |
セカンダリノード | 高可用性展開に登録された 2 番目のノード。 |
ハートビート | 高可用性セットアップで、プライマリノードとセカンダリノード間でメッセージを交換するために使用されるメカニズム。メッセージによって、各ノード上のアプリケーションのステータスと正常性が決まります。 |
フローティング IP アドレス | フローティング IP は、同じサブネット内の 1 つのノードから別のノードへ即座に移動できる IP アドレスです。内部的には、プライマリノードのネットワークインターフェース上のエイリアスとして設定されます。フェイルオーバーが発生した場合、フローティング IP アドレスは古いプライマリから新しいプライマリにシームレスに移動されます。これは、クライアントが 1 つの IP アドレスを使用して高可用性ノードと通信できるようにするため、高可用性セットアップに役立ちます。 |
(注)
ポートとプロトコルの詳細については、「 ポート」を参照してください。
高可用性アーキテクチャのコンポーネント
次の図は、高可用性モードで展開された2つのCitrix ADM ノードのアーキテクチャを示しています。
高可用性展開では、一方のCitrix ADM ノードがプライマリノード(MAS 1)として構成され、もう一方はセカンダリノード(MAS 2)として構成されます。何らかの理由でプライマリノードがダウンした場合、セカンダリノードが新しいプライマリノードとして引き継がれます。
監視ツール
監視ツールは、フェイルオーバーの状況を監視、警告、処理するために使用される内部プロセスです。このツールはアクティブで、高可用性の各ノードで実行されています。サブシステムの起動、両方のノードでのデータベースの開始、プライマリノードまたはセカンダリノードの決定などを行います。
プライマリノード
プライマリノードは接続を受け入れ、インスタンスを管理します。AppFlow、SNMP、LogStream、syslog などのすべてのプロセスは、プライマリノードによって管理されます。Citrix ADM ユーザーインターフェイスへのアクセスは、プライマリノードで使用できます。フローティング IP アドレスは、プライマリノード上で設定されます。
セカンダリノード
セカンダリノードは、プライマリノードから送信されたハートビートメッセージをリッスンします。セカンダリノード上のデータベースは、読み取りレプリカモードのみです。セカンダリノードではどのプロセスもアクティブにならず、セカンダリノードではCitrix ADM ユーザーインターフェイスにアクセスできません。
物理ストリーミングレプリケーション
プライマリノードとセカンダリノードは、ハートビートメカニズムを介して同期します。データベースの物理ストリーミングレプリケーションでは、セカンダリノードはリードレプリカモードで起動します。セカンダリノードは、プライマリノードから受信したハートビートメッセージをリッスンします。2 次ノードが 180 秒間ハートビートを受信しない場合、1 次ノードはダウンしていると見なされます。次に、セカンダリノードが 1 次ノードとして引き継がれます。
ハートビートメッセージ
ハートビートメッセージは、プライマリノードとセカンダリノード間で送受信されるユーザーデータグラムパケット (UDP) です。Citrix ADM およびデータベースのすべてのサブシステムを監視し、ノードの状態、正常性、プロセスなどに関する情報を交換します。情報は、高可用性ノード間で毎秒共有されます。フェイルオーバーまたは高可用性状態の解除があった場合、通知はアラートとして管理者に送信されます。
フローティング IP アドレス
Floating IP アドレスは、高可用性セットアップのプライマリノードに関連付けられます。これは、プライマリノードのIPアドレスに指定されたエイリアスで、クライアントがプライマリノードのCitrix ADM に接続するために使用できます。Floating IP アドレスはプライマリノードで設定されるため、フェイルオーバーの場合にはインスタンスの再設定は不要です。インスタンスは同じ IP アドレスに再接続し、新しいプライマリに到達します。
注意すべき重要なポイント
-
高可用性セットアップでは、両方のCitrix ADM ノードがアクティブ/パッシブモードで展開されます。同じソフトウェアバージョンとビルドを使用し、同じ設定を持つ同じサブネット上に存在する必要があります。
-
フローティング IP アドレス:
-
Floating IP アドレスは、プライマリノードで設定されています。
-
フェイルオーバーがある場合は、インスタンスを再設定する必要はありません。
-
高可用性ノードには、プライマリノードの IP アドレスまたは Floating IP アドレスを使用して、ユーザーインターフェイスからアクセスできます。
注
ユーザーインターフェイスにアクセスするには、Floating IPアドレスを使用することをお勧めします。
-
-
データベース:
-
高可用性セットアップでは、すべての構成ファイルが 1 分間隔でプライマリノードからセカンダリノードに自動的に同期されます。
-
データベースの同期は、データベースの物理レプリケーションによって即座に行われます。
-
セカンダリノードのデータベースが読み取りレプリカモードです。
-
-
Citrix ADM アップグレード:
-
内部プロセスでは、以前のバージョンからCitrix ADM が暗黙的にアップグレードされます。
注
アップグレードが成功したら、Floating IP アドレスを設定する必要があります。
-
-
UDP デフォルトポート 5005 は、ハートビートを送信するノードとメッセージを受信するノードの両方で使用できます。
-
MAC アドレス
Hypervisor の [MAC アドレスの変更] オプションの設定は、仮想マシンが受信するトラフィックに影響します。仮想スイッチで MAC アドレスの変更を有効にして、フェールオーバー後にフローティング IP アドレスが新しいプライマリノードにシームレスに移動できるようにします。 たとえば、VMware ESXi の高可用性でCitrix ADM を展開する場合は、MACアドレスの変更を受け入れるようにしてください。ESXi では、アクティブ MAC アドレスを初期 MAC アドレス以外に変更する要求が許可されるようになりました。注:
ESXIバージョン6.7に展開されたCitrix ADM では、[ MACアドレスの変更 ]オプションを[ 拒否 ]に設定することもできます。フェールオーバー後、トラフィックは [ MAC Address Chang es] 設定に関係なく、新しいプライマリノードにシームレスに流れます。したがって、MAC アドレスへの変更を受け入れることは必須ではありません。
Citrix ADM が6.7より低いバージョンのESXIに展開されている場合は、[ MACアドレスの変更 ]オプションが[ 承認 のみ]に設定されていることを確認します。
前提条件
Citrix ADM ノードの高可用性をセットアップする前に、次の前提条件に注意してください。
-
Citrix ADM の高可用性展開は、Citrix ADM バージョン12.0ビルド51.24でサポートされています。
-
Citrixダウンロードサイトから、Citrix Application Delivery Managementイメージファイル(.xva)をダウンロードします。 https://www.citrix.com/downloads/
スケジューリングの動作とネットワーク遅延を改善するために、仮想マシンのプロパティでCPUの優先度を最高レベルに設定することをお勧めします。
次の表に、仮想コンピューティングリソースの最小要件を示します。
コンポーネント | 条件 |
---|---|
RAM | 32GB |
仮想CPU | 8基のCPU |
記憶域 | Citrix ADM 展開では、ソリッドステートドライブ(SSD)テクノロジを使用することをお勧めします。デフォルト値は120GBです。実際のストレージ要件は、Citrix ADM のサイズ設定の見積もりによって異なります。Citrix ADM ストレージ要件が120GBを超える場合は、追加のディスクを接続する必要があります。注: 追加できるディスクは 1 つだけです。初期展開の時点で、記憶域を見積もり、追加のディスクを接続することをお勧めします。詳しくは、「 Citrix ADM に追加のディスクを接続する方法」を参照してください。 |
仮想ネットワークインターフェイス | 1 |
スループット | 1Gbpsまたは100Mbps |
Hypervisor | バージョン |
Citrix Hypervisor | 6.2および6.5 |
VMware ESXi | 5.5 および 6.0 |
Microsoft Hyper-V | 2012 R2 |
Linux KVM | UbuntuとFedora |
高可用性モードでCitrix ADM を設定するには
-
最初のサーバ(プライマリノード)を登録してデプロイします。
-
2 番目のサーバー (2 番目のノード) を登録して展開します。
-
高可用性セットアップのためにプライマリノードとセカンダリノードをデプロイします。
最初のサーバ(プライマリノード)を登録してデプロイする
最初のノードを登録するには:
-
Citrix ダウンロードサイトからダウンロードした .xva イメージファイルを使用して、Hypervisor にインポートします。
注:
.xva イメージファイルのインポートと開始には数分かかる場合があります。画面下部にステータスが表示されます。
-
インポートが成功したら、右クリックして [ 開始] をクリックします。
-
[ コンソール ]タブで、Citrix ADM を初期ネットワーク構成で構成します。
-
初期ネットワーク設定が完了すると、ログインのプロンプトが表示されます。次の認証情報を使用してログオンします。 nsrecover/nsroot。
注
ログオン後、初期ネットワーク構成を更新する場合は、
networkconfig
を入力し、構成を更新し、構成を保存します。 -
プライマリノードをデプロイするには、 /mps/deployment_type.pyと入力します。Citrix ADM 展開構成メニューが表示されます。
-
1 を選択して、Citrix ADM サーバーをプライマリノードとして登録します。
-
コンソールで、Citrix ADM スタンドアロン展開を選択するように求められます。No と入力して、展開を高可用性として確認します。
-
コンソールに、最初のサーバ・ノードを選択するように求められます。Yes と入力して、ノードを最初のノードとして確認します。
-
コンソールに、システムの再起動を求めるメッセージが表示されます。「Yes」 と入力して再起動します。
システムが再起動し、Citrix ADM ユーザーインターフェイスにプライマリノードとして表示されます。
2番目のサーバ(セカンダリ・ノード)を登録してデプロイする
-
Citrix ダウンロードサイトからダウンロードした .xva イメージファイルを使用して、Hypervisor にインポートします。
-
[ コンソール ]タブで、次の図に示すように初期ネットワーク構成でCitrix ADM を構成します。
-
初期ネットワーク設定が完了すると、ログインのプロンプトが表示されます。次の認証情報を使用してログオンします。 nsrecover/nsroot。
注
ログオン後、初期ネットワーク構成を更新する場合は、
networkconfig
を入力し、構成を更新し、構成を保存します。 -
セカンダリノードをデプロイするには、 /mps/deployment_type.pyと入力します。Citrix ADM 展開構成メニューが表示されます。
-
[ 1 ]を選択して、Citrix ADM サーバーをセカンダリノードとして登録します。
-
コンソールでは、Citrix ADM をスタンドアロン展開として選択するように求められます。No と入力して、展開を高可用性として確認します。
-
コンソールで、最初のサーバ・ノードを選択するように求められます。No を入力して、ノードを 2 番目のサーバとして確認します。
-
コンソールでは、プライマリノードの IP アドレスとパスワードを入力するように求められます。
-
コンソールに、フローティング IP アドレスの入力を求めるプロンプトが表示されます。
-
コンソールに、システムの再起動を求めるメッセージが表示されます。「Yes」 と入力して再起動します。
注
-
Floating IP アドレスは、ノードの高可用性デプロイに必須です。
-
設定に問題がある場合は、エラーメッセージが表示されます。
-
システムが再起動し、設定が有効になるまでに数分かかります。
-
プライマリノードとセカンダリノードを高可用性ペアとしてデプロイする
登録後、プライマリノードとセカンダリノードの両方がCitrix ADM ユーザーインターフェイスに表示されます。これらのノードを高可用性ペアにデプロイします。
注
ノードを高可用性ペアにデプロイする前に、最初のネットワーク構成後に、セカンダリノードが再起動して完了していることを確認します。
高可用性の展開が完了したら、Floating IPアドレスを使用してCitrix ADM ユーザーインターフェイスにアクセスします。
ノードを高可用性ペアとしてデプロイするには、次の手順に従います。
-
Webブラウザを開き、最初のCitrix ADM サーバーノードのIPアドレスを入力します。
-
[ユーザー名] フィールドと [パスワード ] フィールドに、管理者の資格情報を入力します。
-
ホームページで [ 開始 ] をクリックします。
-
展開の種類として、[高可用性モードで展開された 2 つのサーバー] を選択し、[次へ] をクリックします。
-
[配置] ページで、[配置] をクリックします。
-
確認メッセージが表示されます。[Yes] をクリックします。
Citrix ADM が再起動し、構成が有効になるまでに約10分かかります。
注
これで、Floating IP アドレスの使用を開始できます。
-
管理者の資格情報を使用してCitrix ADM にログオンし、ホームページの「 はじめ に」をクリックし、必要に応じて以下の操作を行います。
-
Citrix ADC インスタンスの追加
-
カスタマー ID の設定
注
[ スキップ ] をクリックして後で完了し、[ 完了] をクリックすることもできます。
-
-
[ 設定] > [展開] に移動し、展開を検証します。
詳細については、「 よく寄せられる質問」を参照してください。
高可用性の無効化
Citrix ADM の高可用性ペアで高可用性を無効にし、ノードをスタンドアロンのCitrix ADMサーバーに変換できます。
注
プライマリノードからの高可用性を無効にします。
高可用性を無効にするには:
-
Webブラウザで、Citrix ADM サーバーのプライマリノードのIPアドレスを入力します。
-
[ ユーザー名] フィールドと [パスワード ] フィールドに、管理者の資格情報を入力します。
-
[システム ] タブで、[展開 ] に移動し、[高可用性の解除] をクリックします。
ダイアログボックスが表示されます。[ Yes ] をクリックして、高可用性展開を解除します。
高可用性の再デプロイ
スタンドアロン展開に対する高可用性を無効にした後は、再び高可用性モードに再デプロイできます。高可用性の再デプロイは、高可用性を初めてデプロイする場合と同様です。詳細については、「 プライマリノードとセカンダリノードを高可用性ペアとしてデプロイする」を参照してください。
高可用性フェイルオーバーのシナリオ
フェールオーバーが実行されるのは、次のいずれかの状態が検出された場合です。
-
ノード障害:プライマリノードがダウンし、180秒間プライマリノードからハートビートが検出されません。
-
アプリケーションの正常性障害:プライマリノードが稼働していますが、Citrix ADM プロセスの1つが停止しています。
データベース同期ログメッセージの表示
Citrix ADM HAペアでは、構成ファイルがプライマリノードからセカンダリノードに自動的に同期され、データベースの物理ストリーミングレプリケーションが行われます。
ただし、ストリーミングレプリケーションエラーが発生した場合は、[ Sync Database ] ボタンが表示されます。[ Sync Database ] ボタンをクリックすると、データベース同期プロセスを開始できます。
データベース同期の進行状況を表示するには、[ ログの表示] をクリックします。[ Database Sync Logs ] メッセージが表示され、同期の進行状況の詳細をリアルタイムで表示できます。
スプリットブレインシナリオ
ネットワークリンクのダウンタイムが原因で両方のノード間で通信がない場合、次のようになります。
-
プライマリノードは引き続きプライマリノードとして動作
-
ハートビートの受信に失敗したため、セカンダリノードがプライマリノードとして引き継ぐ
-
両方のノードは、個々のデータベースインスタンスを実行します
たとえば、企業では、2つのCitrix ADM ノードがプライマリとセカンダリとして展開されています。ネットワークリンクのダウンタイムが発生するため、2つのCitrix ADM ノード間の通信が完全に切断されます。180 秒を超える間、ハートビート交換は行われないため、両方のノードは自身をプライマリノードと見なします。両方のノードは、アクティブなノードとして機能し、データベースの独自のインスタンスを実行します。
Citrix ADM 12.1以降のリリースでは、このスプリットブレインの状況は、ネットワークリンクとハートビートが復元された後に正常に処理されます。高可用性同期は自動的に復元されます。リカバリ時間は、ノード間のリンクのデータと速度によって異なります。
注
スプリットブレイン状態では、古いプライマリノードで発生した変更は、高可用性で再び結合されると、新しいプライマリノードでリセットされます。スプリットブレイン中に新しいプライマリノードで発生した変更はそのまま残ります。
この記事の概要
- 導入シナリオ
- 高可用性アーキテクチャのコンポーネント
- 監視ツール
- プライマリノード
- セカンダリノード
- 物理ストリーミングレプリケーション
- ハートビートメッセージ
- フローティング IP アドレス
- 注意すべき重要なポイント
- 前提条件
- 高可用性モードでCitrix ADM を設定するには
- 最初のサーバ(プライマリノード)を登録してデプロイする
- 2番目のサーバ(セカンダリ・ノード)を登録してデプロイする
- プライマリノードとセカンダリノードを高可用性ペアとしてデプロイする
- 高可用性の無効化
- 高可用性の再デプロイ
- 高可用性フェイルオーバーのシナリオ
- データベース同期ログメッセージの表示
- スプリットブレインシナリオ