Citrix ADC

インサービスソフトウェアアップグレードのサポートにより、ダウンタイムゼロのアップグレードを実行するための高可用性を実現

高可用性セットアップでの通常のアップグレードプロセスでは、ある時点で、両方のノードで異なるソフトウェアビルドが実行されます。これら 2 つのビルドは、内部高可用性バージョン番号が同じでも異なっていてもかまいません。

両方のビルドで高可用性バージョン番号が異なる場合、既存のデータ接続に対する接続フェイルオーバー (有効になっていても) はサポートされません。つまり、既存のデータ接続がすべて失われ、ダウンタイムにつながります。

この問題に対処するために、インサービスソフトウェアアップグレード (ISSU) を高可用性セットアップに使用できます。ISSU では、アップグレードプロセスの強制フェールオーバー操作ステップに代わる移行機能が導入されました。移行機能では、既存の接続が考慮され、強制フェイルオーバー操作も含まれます。

移行操作の実行後、新しいプライマリノードは既存の接続に関連するトラフィック (要求と応答) を常に受信しますが、古いプライマリノードに誘導します。古いプライマリノードはデータトラフィックを処理し、送信先に直接送信します。

拡張 ISSU の仕組み

高可用性セットアップでの通常のアップグレードプロセスは、次の手順で構成されます。

  1. セカンダリノードをアップグレードします。このステップには、セカンダリノードのソフトウェアアップグレードとノードの再起動が含まれます。

  2. 強制フェイルオーバー強制フェイルオーバーを実行すると、アップグレードされたセカンダリノードがプライマリに、プライマリノードがセカンダリノードになります。

  3. 新しいセカンダリノードをアップグレードします。このステップには、新しいセカンダリノードのソフトウェアアップグレードとノードの再起動が含まれます。

ステップ 1 からステップ 3 までの時間枠では、両方のノードで異なるソフトウェアビルドが実行されます。これら 2 つのビルドは、内部高可用性バージョンが同じでも異なっていてもかまいません。

両方のビルドで高可用性バージョン番号が異なる場合、既存のデータ接続に対する接続フェイルオーバー (有効になっていても) はサポートされません。つまり、既存のデータ接続がすべて失われ、ダウンタイムにつながります。

高可用性セットアップでの ISSU アップグレードプロセスは、次の手順で構成されます。

  1. セカンダリノードをアップグレードします。このステップには、セカンダリノードのソフトウェアアップグレードとノードの再起動が含まれます。

  2. ISSU 移行オペレーション。このステップには、強制フェイルオーバー操作が含まれ、既存の接続が処理されます。移行操作を実行すると、新しいプライマリノードは既存の接続に関連するトラフィック(要求と応答)を常に受信しますが、設定された SYNC VLAN in GRE トンネルを経由して古いプライマリノードに誘導します。古いプライマリノードはデータトラフィックを処理し、送信先に直接送信します。ISSU 移行操作は、既存の接続がすべて閉じられると完了します。

  3. 新しいセカンダリノードをアップグレードします。このステップには、新しいセカンダリノードのソフトウェアアップグレードとノードの再起動が含まれます。

はじめに

高可用性セットアップで ISSU プロセスの実行を開始する前に、次の前提条件と制限事項を確認してください。

  • 高可用性セットアップの両方のノードにSYNC VLANが設定されていることを確認します。詳細については、「 VLAN への高可用性同期トラフィックの制限」を参照してください。
  • Microsoft Azure は GRE トンネリングをサポートしていないため、ISSU は Microsoft Azure クラウドではサポートされていません。
  • ISSU の実行中は、高可用性設定の伝播と同期は機能しません。
  • ISSU は IPv6 高可用性セットアップではサポートされていません。
  • ISSU は、次のセッションではサポートされていません。

    • ジャンボフレーム
    • IPv6 セッション
    • 大規模NAT (LSN)

構成の手順

ISSU には、高可用性セットアップの通常のアップグレードプロセスにおける強制フェールオーバー操作に代わる移行機能が含まれています。移行機能では、既存の接続が考慮され、強制フェイルオーバー操作も含まれます。

高可用性セットアップの ISSU プロセスでは、セカンダリノードをアップグレードした直後に移行操作を実行します。2 つのノードのどちらからでもマイグレーション操作を実行できます。

CLI 手順

CLI を使用して高可用性移行操作を実行するには、次の手順を実行します。

コマンドプロンプトで次のように入力します。

start ns migration
<!--NeedCopy-->

GUI プロシージャ

GUI を使用して高可用性移行操作を実行するには、次の手順を実行します。

[ システム] に移動し、[ システム情報 ] タブ、[ 移行] タブ、[ **移行の開始**] の順にクリックします。

ISSU 統計情報を表示する

高可用性セットアップで現在の ISSU プロセスを監視するための ISSU 統計情報を表示できます。ISSU 統計情報には、次の情報が表示されます。

  • ISSU 移行オペレーションの現在のステータス
  • ISSU 移行操作の開始時刻
  • ISSU 移行操作の終了時刻
  • ISSU ロールバック操作の開始時刻
  • ISSU 移行操作の一部として処理される接続の総数
  • ISSU 移行操作の一部として処理されている残りの接続数

CLI または GUI を使用して、いずれかの高可用性ノードの ISSU 統計情報を表示できます。

CLI 手順

CLI を使用して ISSU 統計情報を表示するには、次の手順を実行します。

コマンドプロンプトで次のように入力します。

show ns migration
<!--NeedCopy-->

GUI プロシージャ

GUI を使用して ISSU 統計情報を表示するには、次の手順を実行します。

[ システム] に移動し、[ システム情報 ] タブ、[ 移行] タブ、[ クリックして移行の詳細を表示] の順にクリックします。

ISSU 統計情報を表示する-古いプライマリノードが処理している既存の接続のリスト

show migration操作のdumpsession (Dump Session) オプションを使用すると、古いプライマリノードが ISSU 移行操作の一部として現在動作している既存の接続の一覧を表示できます。

dumpsession オプションを指定した show migration 操作は、ISSU 操作中に新しいプライマリノードでのみ実行する必要があります。

CLI 手順

CLI を使用して古いプライマリノードが現在処理している既存の接続の一覧を表示するには、次の手順を実行します。

コマンドプロンプトで次のように入力します。

show ns migration –dumpsession YES
<!--NeedCopy-->
> sh migration -dumpsession yes

Index   remote-IP-port          local-IP-port           idle-time(x 10ms)

1       192.0.2.10      22      192.0.2.1       15998       703
2       198.51.100.20   7375    98.51.100.2     22          687
3       203.0.113.30    5506    203.0.113.3     22          687


<!--NeedCopy-->

GUI プロシージャ

GUI を使用して、古いプライマリノードが現在処理している既存の接続の一覧を表示するには、次の手順を実行します。

[ システム] に移動し、[ システム情報 ] タブ、[ 移行] タブ、[ クリックして移行接続を表示] の順にクリックします。

ISSU プロセスのロールバック

高可用性 (HA) セットアップで、インサービスソフトウェアアップグレード (ISSU) プロセスのロールバックがサポートされるようになりました。ISSU ロールバック機能は、ISSU 移行操作中の HA セットアップが安定しない、または想定どおりに最適なレベルで実行されていないことが確認された場合に役立ちます。

ISSU ロールバックは、ISSU 移行操作が進行中の場合に適用されます。ISSU の移行操作がすでに完了している場合、ISSU ロールバックは機能しません。つまり、ISSU の移行操作が進行中の場合は、ISSU ロールバック操作を実行する必要があります。

ISSU ロールバックは、ISSU ロールバック操作がトリガーされたときの ISSU 移行操作の状態に応じて異なる動作をします。

  • ISSU 移行操作中に強制フェールオーバーがまだ発生していない。ISSU ロールバックは ISSU 移行操作を停止し、両方のノードに保存されている ISSU 移行に関連する内部データをすべて削除します。現在のプライマリノードはプライマリノードのままで、既存および新規の接続に関連するデータトラフィックを引き続き処理します。

  • ISSU 移行操作中に強制フェールオーバーが発生しました。ISSU 移行操作中に高可用性フェールオーバーが発生した場合、新しいプライマリノード(N1 など)は新しい接続に関連するトラフィックを処理します。古いプライマリノード(新しいセカンダリノード、たとえば N2)は、古い接続(ISSU 移行操作前の既存の接続)に関連するトラフィックを処理します。

    ISSU ロールバックは ISSU 移行操作を停止し、強制フェールオーバーをトリガーします。新しいプライマリノード (N2) は、新しい接続に関連するトラフィックの処理を開始します。新しいプライマリノード(N2)は、古い接続(ISSU 移行操作の前に確立された既存の接続)に関連するトラフィックも引き続き処理します。つまり、ISSU 移行操作の前に確立された既存の接続は失われません。

    新しいセカンダリノード(N1)は、既存の接続(ISSU 移行操作中に作成された新しい接続)をすべて削除し、トラフィックを処理しません。つまり、ISSU 移行操作の強制フェールオーバー後に確立された既存の接続は、永久に失われます。

構成の手順

Citrix ADC CLI または GUI を使用して、ISSU ロールバック操作を実行できます。

CLI 手順

CLI を使用して ISSU ロールバック操作を実行するには、次の手順を実行します。

コマンドプロンプトで次のように入力します。

stop ns migration
<!--NeedCopy-->

GUI プロシージャ

GUI を使用して ISSU ロールバック操作を実行するには、次の手順を実行します。

[ システム] に移動し、[ システム情報 ] タブ、[ 移行] タブ、[ **移行の停止**] の順にクリックします。

インサービスソフトウェアアップグレードプロセスの SNMP トラップ

高可用性セットアップの In Service Software Upgrade(ISSU; インサービスソフトウェアアップグレード)プロセスでは、ISSU 移行操作の開始時と終了時に次の SNMP トラップメッセージがサポートされます。

SNMP トラップ 説明
マイグレーション開始 この SNMP トラップは、ISSU 移行操作の開始時に生成され、設定された SNMP トラップリスナーに送信されます。
マイグレーション完了 この SNMP トラップは、ISSU 移行操作が完了すると生成され、設定された SNMP トラップリスナーに送信されます。

プライマリノード(ISSU プロセスの開始前)は常にこれら 2 つの SNMP トラップを生成し、設定された SNMP トラップリスナーに送信します。

ISSU SNMP トラップに関連付けられた SNMP アラームはありません。つまり、SNMP アラームに関係なくこれらのトラップが生成されます。必要なのは、トラップ SNMP リスナーの設定だけです。

SNMPトラップロスナの構成の詳細については、 Citrix ADCでのSNMPトラップを参照してください

インサービスソフトウェアアップグレードのサポートにより、ダウンタイムゼロのアップグレードを実行するための高可用性を実現