DPDKサポートなしでNetScaler BLX用のnsdrvdドライバーを構成する

最終公開日 : Oct 02, 2026
NetScaler BLXはLinuxカーネルのネットワークスタックをバイパスしますが、Linuxカーネルメモリとユーザースペースメモリ間でパケットを転送する際にオーバーヘッドが発生します。このオーバーヘッドは、パケット処理の全体的なパフォーマンスに影響を与えます。
高いパケット処理性能を得るには、DPDK互換NICの使用をお勧めします。NetScaler BLXでサポートされているDPDK互換NICのリストについては、「Linuxホストのハードウェア要件」を参照してください。
DPDK互換NICがない場合でも、DPDKサポートなしでパケット処理のパフォーマンスを向上させるためにnsdrvdドライバーを使用できます。
nsdrvdドライバーは、パケットの受信と送信に関するLinuxカーネルとのすべてのやり取りを所有します。また、トラフィックをPEに分散します。blx.confファイル内のnsdrvdパラメーターを使用して、nsdrvdドライバーを構成できます。次の表は、nsdrvdパラメーターの可能な値について説明しています。
可能な値 説明
nsdrvd: 1 専用ポートごとに1つのドライバープロセスが作成されます。RxとTxは順次実行されます。
nsdrvd: 2 専用ポートごとに1つのRxプロセスと1つのTxスレッドが作成されます。
nsdrvd: 3 専用ポートごとに1つのRxプロセスと2つのTxスレッドが作成されます。
nsdrvdドライバーを使用するには、Linuxホストは次の計算に基づいて少なくともn個のコアを持っている必要があります。
n >= WP + (INT*P) + 1
説明:
  • WP - NetScaler BLX のワーカープロセス(パケットエンジン)の数。blx.conf ファイルの worker-processes パラメータは、NetScaler BLX のパケットエンジンの数を指定します。
  • INT - NetScaler BLX 用の専用 Linux ホスト NIC ポートの数。blx.conf ファイルの interface パラメータは、NetScaler BLX に専用の Linux ホスト NIC ポートを指定します。
  • P - NetScaler BLX の nsdrvd ドライバープロセスの数。blx.conf ファイルの nsdrvd パラメータは、nsdrvd ドライバープロセスの数を指定します。
例: 以下の構成の NetScaler BLX には、少なくとも 10 個のコアが必要です。
  • WP = 3 パケットエンジン
  • INT = 2 専用インターフェース
  • P = 3 nsdrvd プロセス
n = WP + (INT*P) + 1 = (3+2*3+1) = 10

前提条件

  • 専用の NIC ポートが、NetScaler BLX でサポートされている DPDK 互換 NIC にリストされていないことを確認してください。詳細については、Linux ホストのハードウェア要件を参照してください。

nsdrvd ドライバーを有効にする

nsdrvd ドライバーを有効にするには、Linux ホスト CLI を使用する必要があります。
  1. 次のコマンドを実行して、blx.conf ファイルを開きます。
    注:
    任意のテキストエディターを使用して、blx.conf ファイルを編集できます。
    nano /etc/blx/blx.conf
  2. nsdrvd パラメーターのコメントを解除し、値を 1、2、または 3 に設定します。
    blx-system-config
    {
            ...
            nsdrvd: <number of process>
            ...
    }
  3. blx.conf ファイルを保存します。
  4. NetScaler BLX を再起動します。
    systemctl restart blx
NetScaler BLX の再起動後、NetScaler BLX で nsdrvd ドライバーが有効になります。

nsdrvd ドライバーを無効にする

nsdrvd ドライバーを無効にするには、Linux ホスト CLI を使用する必要があります。
  1. nsdrvd ドライバーを無効にするには、blx.conf ファイル内の nsdrvd パラメーターをコメントアウトします。
    blx-system-config
    {
            ...
            # nsdrvd: 2
            ...
    }
  2. NetScaler BLX を再起動します。
    systemctl restart blx
NetScaler BLX の再起動後、NetScaler BLX で nsdrvd ドライバーが無効になります。