popnja’s blog

日記風からハード中心に変わりました

ThinkCentre M75q-1 Tinyに10GbE LANカードが載るか試してみた

ThinkCentre M75q-1 Tiny(以降M75q-1)ですが、1台目はUbuntu Serverを入れてサーバとして使っています。これはこれで満足しているのですが、実物を見てなんというか「弄りがいがありそう」と思ってしまい一番安いカスタマイズ構成でもう一台購入してしまいました。

www.lenovo.com

で、分散SNSつながりの某氏と会話していて、

 私:「M75q-1いいっすよー」
某氏:「なんかいいらしいねえ、拡張できればなあ」
 私:「RAIDカード載るといいですね」
某氏:「10GbE LANカード載ると嬉しいんだけどなあ。k8sやるのにストレージよりはネットワークなんだよね」
 私:「部品があったら試してみますね」

となり、この前2.5GbEポートがついているWiFiルーターに替えたのもあり、「Amazonで探したらあるのかなあ?」と思いながら本体が届く間にAmazonを色々みていました。
そうしたら、なんかそんな感じのがあるじゃないですか。PCI Express側はx1だけど「x4は無理なんだろうなあ」と思ったのであとはM.2側の仕様を確認することに。「Key A/E」と書いてあるので「確か無線LANカードをつけるM.2スロットの仕様がそうだよな」と思ったので買ってみました。あとはPCIEの有線LANカードとか比較用の2.5GbE USB LANアダプタとか手当たり次第購入してみました。

本体も無事届き、部品も揃ったので実験を開始してみました。まずはM.2 - PCIE変換キットです。購入した製品はこれです。

届いたのはこんな感じ。
f:id:kaias1jp:20201026150745j:plain
ケーブルは長さの違うものが2本入っていたのですが、今回は長い方を使用しています。本体の外に出すことを考えるとそっちの方が都合が良かったためです。
f:id:kaias1jp:20201026151341j:plain
PCIE側はこんな感じ。USBのコネクタがついていますが、あとで使ってみたところUSB2.0のようなので今回は無視します。
f:id:kaias1jp:20201026151652j:plain
M.2側はこんな感じ。購入しておいて言うのもなんですが、これ売れるんですかねえ?
f:id:kaias1jp:20201026151905j:plain
電源が必要なようで、PCIE側にコネクタがついておりそこに挿すケーブルの端がこの形状でした。昔の形状だよなあ。購入前の製品ページの写真に写っていたので、本体のSATA端子から電源を取ることにして変換ケーブルを購入しています。
f:id:kaias1jp:20201026152401j:plain
M75q-1側のコネクタ。無線LANのオプションを選ぶとここにカードが挿さっています。もちろん今回は何もありません。
f:id:kaias1jp:20201026152852j:plain
キットのM.2側を取り付けるとこんな感じになります。固定用のネジはキットに付属していました。

補助電源用の変換ケーブルはこれを購入しています。

写真では一部加工済みですがこんな感じになります。
f:id:kaias1jp:20201026153418j:plain
ペリフェラルからSATAは需要あると思うんですが、逆はどうなんですかね?
f:id:kaias1jp:20201026153602j:plain
取付の都合上、片方の固定用爪を切り取っています。
f:id:kaias1jp:20201026154021j:plain
SATAの端子に取り付けたのがこちら。端子側を加工するのは難しいので爪を折りました。
f:id:kaias1jp:20201026154427j:plain
全て取り付けるとこんな風になります。本体のカバーを取り付けるためには長い方のケーブルを使う必要がありました。
f:id:kaias1jp:20201026154759j:plain
こんな感じでケーブルを引き出しています。ネジを外せば背面カバーの一部が外せるのも良いですね。
f:id:kaias1jp:20201026155014j:plain
絶縁とか取り回しとか考えて、ちょうど余っていた古いMacintoshのケースに入れています。
f:id:kaias1jp:20201026155419j:plain
偶然にもカードの口を固定できそうです。

今回の実験をするためには、10GbE LANのパソコンが2つ無いといけません。幸いにもMacBookAirがあったので、Thunderbolt3接続の10GbE LANアダプタを購入しました。

届いたのがこれ。
f:id:kaias1jp:20201026160353j:plain
10GbEで接続できると信じて次へ進みます。

10GbEとか知識皆無なので、x1スロットでも動きそうなのを適当に選んでみました。TP-LinkのTX401という製品です。

届いたのがこちら。
f:id:kaias1jp:20201026161237j:plain
届いてから気づいたのですが、ロープロファイルの取り付け金具もついていました。今回役に立ちました。
x1スロットに直接挿せないことを考えてこちらも購入。かなりいい加減な選択をしています。
届いたのがこちら。
f:id:kaias1jp:20201026161730j:plain
選択としてはかなり間違えた感があります。

比較用に2.5GbEの製品も購入しましたが、PCI-Eのはうまく動かなかったので割愛。USB3.1gen1の製品を2つ購入しています。一つはBUFFALOのLUA-U3-A2Gです。

あとで別の用途で使うことも考えて選んでいます。
f:id:kaias1jp:20201026162630j:plain
無難な選択ですね。
もう一つはよくわからないメーカーCableCreationの製品。比較的安いかなという理由で選びました。
f:id:kaias1jp:20201026163213j:plain
放熱とか大丈夫かなあという感じです。

いろいろ揃ったので実験開始です。今回はMacのiperf3をサーバとして動かし、M75q-1側をクライアントで動かしました。まずはTX401の結果です。
f:id:kaias1jp:20201026163602j:plain
1.47Gbpsでした。全然速くありませんね。ボトルネックがどこにあるのかわからないので、この後自作のRyzenマシンでも計測することにします。
次はLUA-U3-A2Gの結果です。
f:id:kaias1jp:20201026164111j:plain
2.36Gbpsでした。たぶん2.5GbEタイプとしては性能が出切っていると考えました。
次はCableCreationの結果です。
f:id:kaias1jp:20201026164641j:plain
2.35Gbpsでした。BUFFALOのと違いは無さそうですね。価格差どこ行った?
結果としては、M.2からPCI-Eを引き出すよりはUSB3.1gen1の製品を使った方が良さそうと言うことになりました。さて、TX401の結果が振るわなかったのは何が原因でしょう?x1スロットにx4の製品をつなげたから?電力が足りない?M.2がそこまで帯域幅がない?なんとも言えないので、普通の自作パソコンに繋げて試してみました。
結果は以下の通りです。なお、条件を近づけるため、x1スロットに変換アダプタ経由で接続しています。
f:id:kaias1jp:20201026165528j:plain
2.83Gbps出ました。変換アダプタやx1スロットだからと言うわけでは無さそうです。試しにx16スロットで動かした結果がこちらです。
f:id:kaias1jp:20201026165819j:plain
7.81Gbps出ています。やっと10GbEらしくなりました。と言うことは、M.2から変換したからか電力不足かと言うことになりそうです。確認できるとしたら、スロットへの電力供給を別のルートに変えてみると言うところですが、現時点でそれを試す部品が見つからないので今回はここまでとします。なお、別マシンでもUSBアダプタの計測を行なっていますが結果は変わりませんでした。
f:id:kaias1jp:20201026170617j:plain
f:id:kaias1jp:20201026170658j:plain

最後に、それぞれのチップが何か調べてみました。TX401はAQC107のようです。BUFFALOはRealtekのUSB 10/100/1G/2.5G LANでした。CableCreationもなんとBUFFALOと同じRealtekのUSB 10/100/1G/2.5G LANでした。