KVMハイパーバイザー上のNetScaler VPXを、SR-IOVモードでIntel QATを使用してSSLアクセラレーションを行うように構成する

最終公開日 : Sep 25, 2026
Linux KVMハイパーバイザー上のNetScaler VPXインスタンスは、Intel QuickAssist Technology (QAT) を使用してNetScalerのSSLパフォーマンスを高速化できます。Intel QATを使用すると、すべての高遅延暗号処理をチップにオフロードできるため、1つ以上のホストCPUを他のタスクに解放できます。
以前は、すべてのNetScaler®データパス暗号処理は、ホストvCPUを使用してソフトウェアで行われていました。
注:
現在、NetScaler VPXはIntel QATファミリーのC62xチップモデルのみをサポートしています。この機能は、NetScalerリリース14.1ビルド8.50以降でサポートされています。

前提条件

  • Linuxホストには、マザーボードに直接統合されているか、外部PCIカードとして追加されているIntel QAT C62xチップが搭載されています。
    Intel QAT C62xシリーズモデル: C625、C626、C627、C628。これらのC62xモデルのみが公開鍵暗号化 (PKE) 機能を備えています。他のC62xバリアントはPKEをサポートしていません。
  • NetScaler VPXはVMware ESXのハードウェア要件を満たしています。詳細については、「Linux KVMプラットフォームにNetScaler VPXインスタンスをインストールする」を参照してください。

制限事項

個々のVMに対して暗号ユニットや帯域幅を予約する規定はありません。Intel QATハードウェアの利用可能なすべての暗号ユニットは、QATハードウェアを使用するすべてのVMで共有されます。

Intel QATを使用するためのホスト環境をセットアップする

  1. Linuxホストに、C62xシリーズ (QAT) チップモデル用のIntel提供ドライバーをダウンロードしてインストールします。Intelパッケージのダウンロードとインストール手順の詳細については、「Intel QuickAssist Technology Driver for Linux」を参照してください。 ダウンロードパッケージの一部としてreadmeファイルが提供されています。このファイルには、ホストでのパッケージのコンパイルとインストールの手順が記載されています。
    ドライバーをダウンロードしてインストールしたら、次の健全性チェックを実行します。
    • C62xチップの数をメモします。各C62xチップには最大3つのPCIeエンドポイントがあります。
    • すべてのエンドポイントがUPであることを確認します。adf_ctl status コマンドを実行して、すべてのPFエンドポイント (最大3つ) のステータスを表示します。
      root@Super-Server:~# adf_ctl status

      Checking status of all devices.
      There is 51 QAT acceleration device(s) in the system
      qat_dev0 - type: c6xx,  inst_id: 0,  node_id: 0,  bsf: 0000:1a:00.0,  #accel: 5 #engines: 10 state: up
      qat_dev1 - type: c6xx,  inst_id: 1,  node_id: 0,  bsf: 0000:1b:00.0,  #accel: 5 #engines: 10 state: up
      qat_dev2 - type: c6xx,  inst_id: 2,  node_id: 0,  bsf: 0000:1c:00.0,  #accel: 5 #engines: 10 state: up
    • すべてのQATエンドポイントでSRIOV (VFサポート) を有効にします。
      root@Super-Server:~# echo 1 > /sys/bus/pci/devices/0000\:1a\:00.0/sriov_numvfs
      root@Super-Server:~# echo 1 > /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs
      root@Super-Server:~# echo 1 > /sys/bus/pci/devices/0000\:1c\:00.0/sriov_numvfs
    • すべてのVFが表示されていることを確認します (エンドポイントあたり16 VF、合計48 VF)。
    • adf_ctl status コマンドを実行して、すべてのPFエンドポイント (最大3つ) と各Intel QATチップのVFがUPであることを確認します。この例では、システムにはC62xチップが1つしかないため、合計51個のエンドポイント (3 + 48 VF) があります。
      adf_ctl status コマンド
  2. LinuxホストでSR-IOVを有効にします。
  3. 仮想マシンを作成します。VMを作成する際は、パフォーマンス要件を満たすように適切な数のPCIデバイスを割り当てます。
注:
各C62x (QAT) チップは、最大3つの個別のPCIエンドポイントを持つことができます。各エンドポイントはVFの論理的な集合であり、チップの他のPCIエンドポイントと帯域幅を均等に共有します。各エンドポイントは最大16個のVFを持つことができ、これらは16個のPCIデバイスとして表示されます。これらのデバイスをVMに追加して、QATチップを使用して暗号化アクセラレーションを実行します。

注意点

  • VMの暗号化要件が複数のQAT PCIエンドポイント/チップを使用することである場合、対称的な分散を実現するために、対応するPCIデバイス/VFをラウンドロビン方式で選択することをお勧めします。
  • 選択するPCIデバイスの数は、ライセンスされたvCPUの数 (管理vCPUの数を含まない) と同じにすることをお勧めします。利用可能なvCPUの数よりも多くのPCIデバイスを追加しても、必ずしもパフォーマンスが向上するとは限りません。
    例:
    3つのエンドポイントを持つIntel C62xチップを1つ搭載したLinuxホストを考えます。6つのvCPUを持つVMをプロビジョニングする際、各エンドポイントから2つのVFを選択し、それらをVMに割り当てます。この割り当てにより、VMの暗号化ユニットが効果的かつ均等に分散されます。利用可能なvCPUの総数のうち、デフォルトでは1つのvCPUが管理プレーン用に予約され、残りのvCPUはデータプレーンPE用に利用できます。

Linux KVMハイパーバイザーに展開されたNetScaler VPXにQAT VFを割り当てる

  1. Linux KVM 仮想マシンマネージャーで、VM (NetScaler VPX) がパワーオフされていることを確認します。
  2. ハードウェアの追加 > PCI ホストデバイスに移動します。
  3. Intel QAT VF を PCI デバイスに割り当てます。
    Intel QAT VF の割り当て
  4. 完了をクリックします。
  5. 前述の手順を繰り返して、合計 vCPU 数から 1 を引いた数まで、1 つ以上の Intel QAT VF を NetScaler VPX インスタンスに割り当てます。1 つの vCPU は管理プロセス用に予約されているためです。
    VM あたりの QAT VF 数 = vCPU 数 - 1
  6. VM の電源をオンにします。
  7. NetScaler CLI で stat ssl コマンドを実行して SSL サマリーを表示し、NetScaler VPX に QAT VF を割り当てた後、SSL カードを確認します。
    この例では、5 つの vCPU を使用しており、これは 4 つのパケットエンジン (PE) を意味します。
    stat SSL コマンド

展開について

この展開は、以下のコンポーネント仕様でテストされました。
  • NetScaler VPX バージョンとビルド: 14.1–8.50
  • Ubuntu バージョン: 18.04, Kernel 5.4.0-146
  • Linux 用 Intel C62x QAT ドライバーバージョン: L.4.21.0-00001