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

NetScaler BLXはLinuxカーネルのネットワークスタックをバイパスしますが、Linuxカーネルメモリとユーザー空間メモリ間のパケット転送にはオーバーヘッドがあります。このオーバーヘッドは、パケット処理の全体的なパフォーマンスに影響します。

パケット処理性能を高めるには、DPDK 互換 NIC の使用をお勧めします。BLX がサポートする DPDK 互換 NIC のリストについては、Linux ホストのハードウェア要件を参照してください

DPDK 互換 NIC がない場合は、nsdrvdドライバーを使用して DPDK をサポートしなくてもパケット処理のパフォーマンスを向上させることができます。

Linuxカーネルとのパケット送受信のやり取りはすべてnsdrvdドライバーが行います。また、トラフィックを 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 -BLXのワーカープロセス(パケットエンジン)の数。blx.confファイル内のworker-processesパラメーターは、BLX のパケットエンジンの数を指定します。
  • INT -BLX 用の専用の Linux ホスト NIC ポートの数。blx.confファイル内のinterfaceパラメーターは、BLX 専用の Linux ホスト NIC ポートを指定します。
  • P - BLXのnsdrvdドライバプロセスの数。blx.confファイル内のnsdrvdパラメーターは、nsdrvdドライバープロセスの数を指定します。

:次の構成の BLX には、少なくとも 10 個のコアが必要です。

  • WP = 3 パケットエンジン
  • INT = 2 つの専用インターフェイス
  • P = 3つのnsdrvdプロセス

n = WP + (INT*P) + 1 = (3+2*3+1) = 10

前提条件

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

Linux ホスト CLIを使用してnsdrvdドライバーを有効にする必要があります。

  1. 次のコマンドを実行してblx.confファイルを開きます。

    注:

    blx.conf ファイルは、任意のテキストエディタを使用して編集できます。

    nano /etc/blx/blx.conf
    <!--NeedCopy-->
    
  2. nsdrvdパラメーターのコメントを解除し、値を 1、2、または 3 に設定します。

    blx-system-config
    {
            ...
            nsdrvd: <number of process>
            ...
    }
    <!--NeedCopy-->
    
  3. blx.confファイルを保存します。
  4. BLX を再起動します。

    systemctl restart blx
    <!--NeedCopy-->
    

BLX が再起動すると、BLXでnsdrvdドライバーが有効になります。

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

Linux ホスト CLIを使用してnsdrvdドライバーを無効にする必要があります。

  1. nsdrvdドライバーを無効にするには、blx.confファイル内のnsdrvdパラメーターにコメントを付けます。

    blx-system-config
    {
            ...
            # nsdrvd: 2
            ...
    }
    <!--NeedCopy-->
    
  2. BLX を再起動します。

    systemctl restart blx
    <!--NeedCopy-->
    

BLX が再起動すると、BLXのnsdrvdドライバーは無効になります。

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