freenasなどFreeBSD環境でAquantiaのAQC107チップ採用の10GbE/10GBASE-Tカード「XG-C100C」を使う

2021年1月4日freenas構築,10GbE環境導入NAS,freeNAS,10GbE

 

ただいま、絶賛自宅内のすべてを10GbEで接続する計画を立てている。計画の全貌は別途記載しようと考えているが、取り急ぎFreeNASにXG-C100Cという10Ge対応のイーサーネットポートをもうけることのできるPCI ExpressカードをFreenasに導入を行う際に正常に認識することができず改めてドライバのインストールが必要であったため、こちらに残しておきたい。

XG-C100Cとは

XG-C100Cとは、先ほど記載の通り、10GBASE-Tを備えたPCI Express形式のライザーカードである。この手のカードとしては値段も非常に安く、カカクコムでも最も売れているカードとなっている。

ASUS 10Gネットワ ークアダプタ PCI-Ex4カード XG-C100C

ASUS 10Gネットワ ークアダプタ PCI-Ex4カード XG-C100C

26,000円(03/11 04:43時点)
Amazonの情報を掲載しています

ただし問題は、このカードに使われているチップがAquantiaのAQC107というもので、実のところFreeBSDにはこのチップ向けのドライバが存在していなかったのである。が、つい最近Beta番が公開され、無事利用することができるようになったのだ。

FreeNASの元となっているのはFreebSDであるため、FreeBSDでも同じ手順で実施することが可能と思われる。ので、その方法を紹介していくこととしたい。

まずはFreeNASのpkgをオンラインで取得できるようにする

標準では、FreeNASのpkgコマンドは内部ドライブを参照するようになっており、ネットワークからパッケージを拾ってくる設定になっていない。
従って、次のように書き換える必要がある。

/usr/local/etc/pkg/repos/local.conf

enabled: yesとなっている点を、enabled:noに変更する。

local: {
    url: "file:///usr/ports/packages",
    enabled: no
}

/usr/local/etc/pkg/repos/FreeBSD.conf

enable: noとなっている点を、enable: yesへ変更する。

FreeBSD: {
    enabled: yes
}

これで設定は完了。あとは、以下のコマンドでパッケージリストを更新すればOK。

# pkg update

必要となるドライバパッケージをインストールする

まずは必要となるパッケージを探す。

# pkg search aquantia
aquantia-atlantic-kmod-0.0.5 Aquantia AQtion (Atlantic) Network Driver (Development Preview)

私のインストールした時点では、aquantia-atlantic-kmod-0.0.5 Aquantia AQtion (Atlantic) Network Driver (Development Preview)が提供されていたが、バージョンは日進月歩えあるため、最新のものが表示された場合はそちらに従うこと。

その後、このパッケージをインストールする。

# pkg install aquantia-atlantic-kmod-0.0.5

これで、必要となるドライバはインストールされた。

ドライバを有効化する

ドライバを有効化するのは、下記のコマンドで行うことができる。

# kldload /boot/modules/if_atlantic.ko

おそらくこの時点で、aq0としてデバイスが上がってくるはずだ。

aq0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=800000<>
        ether XXXXXX
        hwaddr XXXXXXXX
        inet XXXXX netmask 0xffffff00 broadcast XXXXXX
        nd6 options=1<PERFORMNUD>
        media: Ethernet autoselect <full-duplex,rxpause,txpause> (10Gbase-T <full-duplex,rxpause,txpause>)
        status: active

きちんと、10Gbase-Tのカードとして認識されているのがおわかりいただけるだろう。

再起動をした際に、正しくドライバを読み込むようにする

実はこれだけでは、再起動時にただしく読み込まれなくなってしまう。そこで、/boot/loader.confに、if_atlantic_load="YES"の記載を忘れずに行おう。
これで、起動の際にAtlanticのドライバが読み込まれ、起動時から使えるようになる。

FreeNASのGUIで確認する

FreeNASのGUIでも、正しく10GBASE-Tであることが認識された。これで、10GbE化の完了である。

実はこの10GbE対応NAS以外に、PCと自宅サーバーの10GbE化を企んでいる次第。これらの全貌は、少しずつ皆様にもご紹介することとしたい。

Posted by webnetforce