Mellanox ConnectX-2 10GBit NICを搭載したpfSense

Mellanox ConnectX-2 10GBit NICを搭載したpfSense

私は最近、非常に手頃な価格でMellanox ConnectX-2 10GBit NIC 2個を購入しました。私はこれを認識するためにpfSenseボックスを取得しようとしています。 BIOSは問題なくネットワークカードを認識します。しかし、pfSenseは確かにそうではありません。まったく現れませんでした。

ドライバーを直接インストールするか、少なくとも魔法のピーナッツバターをどこかに投げ込むと、この問題を解決できると聞きました。悲しいことに、私が持っている唯一の証拠はFreeNASに関するこの記事。しかし、私のインストールではうまくいきません。私も見つけたNAS4Freeに関する投稿ただし、記事に記載されているISOまたはそのISOに基づくBSDバージョンが見つかりません。 NAS4Freeのウェブサイトで何かを逃したかもしれませんが、そこにはありません。

いくつかのスナップショットと現在の2.2.6公式バージョンを試してみました。不運。

誰もが正しい方向に私を指すことができますか?

答え1

編集&FreeNAS-9.10-STABLE-201605240427 注意!

最近最新FreeNAS-9.10-STABLE-201605240427バージョンにアップグレードしましたが、再起動時にmlxenモジュールを参照するカーネルパニックが発生しました。私の[制限された知識]推測では、mlxドライバがFreeBSDビルドに含まれているので、これらの手順はもはや必要ありません。

したがって、カーネルパニックが発生した場合:

  1. 再起動し、GRUBプロンプトで「e」を押して起動設定を編集します。
  2. その後、単純なエディタが開き、mlxドライバの読み込みを参照する行を見つけます#
  3. F10開始するには、続行を押します。
  4. システム調整可能からモジュールローダステートメントを削除します。

@LildirtのソリューションはFreeNAS(FreeNAS-9.10-STABLE-201605021851)でも動作します。簡単に言うと、FreeNASとESXiを実行している他のサーバー間でiSCSIを実行できるように、2枚のカードパックと直接接続ケーブルに50ドルを費やしました。 ESXiタグは大丈夫です。 OPのpfsenseのように、FreeBSDはそれが何であるかわかりません。

私のステップの違いは次のとおりです。

  1. 作業するFreeBSD刑務所を作成しました。
  2. gcc インストール済み ( pkg install gcc)
  3. 上記のtar(wget http://www.mellanox.com/downloads/Drivers/MLNX_OFED_FREEBSD_V2.1.6.tar.gz)をダウンロードしました。
  4. 解凍する
  5. makefileを含むディレクトリに移動します(mlx4そして毎回mlxen)。
  6. make && make installこれは次の場所にインストールされます。/boot/kernel 刑務所の根について(したがって、私の場合、実際のパスはです/mnt/zfspoolname/jails/mytempjail/boot/kernel。)(また、毎回2つのモジュールについて)
  7. 今、2つの.koファイル(モジュール)をFreeNASにコピーします/boot/kernel(刑務所から出る必要があることを覚えておいてください、それは不可能な音です)。
  8. FreeNAS Web UIを介してモジュールローダーステートメントを追加します(システム - >調整可能 - >調整可能追加)。/boot/loader.conf.local
  9. FreeNASの再起動
  10. これで、私の名前の付いた新しいネットワークインターフェイスを追加できます。mlxen0

答え2

大丈夫。これを把握するのに時間がかかりました。

Mellanoxは本質的にこのカードのすべてのサポートを停止したことがわかりました。しかし、すべてが失われるわけではありません。以前のバージョンのConnectX-3を使用して実際にNICを使用できます(またはダウンロードしたドライバのリリースノートに記載されています)。ドライバのウェブページを見つけることができますここ、実際のドライバのダウンロードが正しいです。ここConnectX-3 -> Archive Versions -> 2.1 -> FreeBSD -> All -> All実際のドライバサイトの下にあります。

幸い、ドライバのインストール方法についての説明が付属しています。 pfSenseは適切なコンパイル環境を提供しないため、コンパイルのために別々のマシンを設定する必要があります。 FreeBSD 10.3をインストールしました(ソースコードが付属しています。これはインストーラのオプションです。)私のpfSenseバージョンが使用しているのと同じバージョンの仮想マシンにあります。 pfSense ボックスで使用されるのと同じバージョンの FreeBSD を使用します。そうしないと、問題が発生する可能性があります。

を使用してgccをインストールしましたpkg install gcc。残念ながら、現時点ではMellanoxのホームページからダウンロードした上記のドライバを実際に使用することはできません。ただし、FreeBSDはまだドライバをサポートしていますが、デフォルトでは有効になっていません。ドライバのビルド時にエラーが検出された場合、コンパイルする必要がある2つのモジュールを見つけることができます/usr/src/sys/modules。 2つの興味のあるディレクトリがあるでしょmlxenmlx4Makefile両方のディレクトリに1つあります。make && make install他のドライバーと同じ一般的な手順を実行します。必要なモジュールが削除されます/boot/kernel。モジュール名はとmlx4.koですmlxen.ko。これら2つのモジュールをpfSenseボックス(同じディレクトリ:)にコピーします/boot/kernel。その後、ファイルに次の2行を追加できます/boot/loader.conf

mlx4_load="YES"
mlxen_load="YES"

ファイルを保存し、pfSense システムを再起動します。

私にとっては、NICが表示され、LANインターフェイスとして設定できるようになりました。

関連情報