2019-06-23 14:53 by 仁伯爵

ギガビットイーサは速いのか

例のAT-X510-28GTXで遊ぶシリーズの記事を書き進めて、前回の最後に次回はスタックについて書くと申し上げたわけだが、FSさんの光トランシーバーでスタックできるかどうか試そうとしており、トランシーバー到着待ちの状態なのである。この件に関してはFSの営業さんにとても親切に対応していただいていてはいるものの、トランシーバーが届くのがもう少しかかりそうなのでスタックについてまとめるのは後回しにして、今回はAT-X510-28GTXのウリである4つのSFP+ポートで10GbEしちゃっおうぜ!というお話をば一席ぶってみたいと思う。

ここ十数年の間、ご家庭内のコンシューマー向けのPCのNICやルーターーやスイッチ等はギガピットイーサだった。通信速度を表すときは小文字のb(ビット)で表すことが一般的で、OSでファイルサイズなどを表すときは大文字のB(バイト)で表すのが一般的な為、1Gbpsと言われても実際のどのくらいの速さなのかピンときにくい。1Gbpsということは1秒間で1Gb(ギガビット)のデータ転送が可能で、 1Byteは8bitなのでバイトに直すと125MB/s、つまり1秒間でだいたい単純計算でざっくり125MB(メガバイト)のデータ転送ができるということになるんじゃないだろうか。

ディスクIOは速いのか

SSDの低価格化により長らくPC用ストレージの王様であったHDDの王座陥落が現実のものとなった。しかしながらデータ単位当たりのコストではHDDのほうがまだ安いので、我がメインPCではHDDでRAID10を組み、ミラーリングで1台まで壊れても即座に入れ替えれば復旧可能な状態を保ちつつ、ストライピングして高速化を図ったうえで、SSDをキャッシュボリュームとして使うことでストレスのないデータストレージ環境を構築している。こんな感じだ。

インテルのチップにRAIDを任せるとソフトウェアRAIDよりもらくちんなのだ。CMOSクリアしてマザーボード上の設定を全部初期化しても、つながっているディスクをRAIDだよってもう一度教えてあげると元のRAIDアレイをちゃんと認識してくれる。すごく賢い。そんなうちのPCのディスクIOの速さはどれくらいなのか。ベンチマークで測ってみた。RAID10のボリューム上のパーティションに対してはシーケンシャルな読み240MB/s、書き230MB/s程度だった。細切れデータのランダムアクセスの読み書きが極端に遅いのはHDDの宿命である。

SSD上に作ったパーティションへのベンチマークの結果は読み280MB/s、書き260MB/s程度だった。細切れのデータに対しても速い。すごい。

RAID10ボリュームでもSSDでも、シーケンシャルな読み書きでは125MB/sを大幅に上回っている。これをカバーできるネットワーク速度となると2Gbpsでも心もとない。ディスクの性能をネットワーク越しに使い切るなら、ネットワークの速さは余裕をもって3Gbpsくらい必要なのではないか。でっかいファイルをギガビットイーサのLAN越しにどかんと転送する場合、1Gbpsではネットワークの速度がボトルネックとなってしまっている。 PCの内部でSSDやHDDを接続する一般的なSATA3接続では6Gbpsまで転送でき、今後接続されるディスクはもっと高速化していくことは間違いない。最近はやりの M.3 接続のSSDなどは6Gbpsをめい一杯使って500MB/sとか超えてくる。とても速い。

10GbEは、速い。

パソコン内部の接続よりネットワークの方が遅いなんて当たり前じゃないか、と思われるかもしれない。ごもっともでありその通りなのだが、実はそうでもないのだ。そこで出てくるのが、今回の主題である10GbEである。10Gbpsであれば、ディスク性能を大幅に上回る速さでデータ転送が可能となり、ネットワーク上のNASなどにデータを置いておけばよく、PCのローカルにデータを置いておく意味は薄くなる。NASに置いとけばいいじゃないと家庭内クラウドとでもいうべき逆転現象が起こるのだ。

これまで遊んできた例のAT-X510-28GTX のSFP+ポートに10GbE対応のモジュールを突っ込めばおうちの中に10GbE環境が現れるではないか。一般的なRJ-45のLANケーブルが刺さるモジュールを使ってもよいが、それらはとても熱い。流行っているという意味ではなく、物理的な意味で熱をもつ。 AT-X510-28GTX のマニュアルによれば、 RJ-45のLANケーブルが刺さるモジュールを使う場合、熱くなるので隣り合わせになる配置は避ける必要があり、互い違いに挿入しなければならないがために4つあるSFP+ポートのうちの2つまでしか使えないと書かれている。ここは断然、光トランシーバーを使うべきである。光ファイバーはノイズに強く長距離のデータ転送に優れる反面、折れ曲がったら使えなくなってしまうので扱いが難しく、先端のクリーニングも必要で長い距離をつなぐ必要のない家庭向きの設備ではない。だが、光をピカピカさせてデータ通信するというのは、とてもカッコいい。SFチックである。電気が流れるケーブルばかりで飽き飽きしていた我々に、ワクワクを与えてくれる。おそとからONUまでは光ファイバーケーブルが来て未来っぽいのに、おうちの中はいつまで光の到来を待たされるのか。21世紀に入ってもう20年が経とうとしている。平成も終わった。令和である。あまねくすべての家庭内LANはすべからくかっこいい光ファイバーを無駄に使うべきだ。いつまで昭和気分なのか。大切なことは合理性の外にある。

PCにもSFP+ポートを

AT-X510-28GTX にはSFP+ポートがあり、10GbEで接続することができるが、ではパーソナルコンピューター側はどうするのか。カードを挿せばいいのだ。新品のカードを買うと高いので、ここはヤフオクやebayでサーバーから抜き取られた中古パーツを狙う。2000円~5000円くらいで10GbE対応の手ごろなカードが見つかるはずだ。今回用意したのはこの3つ。

まずは、amazonで2個セットにDAC(D/Aコンバーターではなく、ダイレクトアタッチケーブル)ケーブルがセットになっててお得だったMellanox MNPA19-XTだ。シングルポートながら2個にケーブルセットで7000円はお得だと飛びついた。中古である旨、商品説明に記載されていたのだが、ブラケットがさびており思いのほか状態が悪かった。だが動作確認してみたらちゃんと動いたのでまあいっかって思った次第である。

次に、ヤフオクで落札したIBM OCe11102-F-X Emulex 10GbE Virtual Fabric Adapter Ⅱ (95Y3753)である。デュアルポートでSFP+ポートが2つついている。 これには 4000円で光トランシーバーが2個付属していてとってもお買い得だった。NIC(ネットワークインターフェースカード)として使用するだけならドライバーを探してこなくてもWindowsがいい感じにドライバーを入れてくれたが、ファイバーチャネルのHBAとして使用する場合は、別途ドライバーをメーカーからダウンロードしてインストールする必要がある。IBMのサポートサイトからLenovoのサイトに転送されて404のリンクを踏んだ後、Broadcomのサイトで何とかドライバーを見つけてインストールするという冒険を繰り広げる必要があった。

そして最後は、 IBM OCe11102-N2-X Emulex 10GbE Virtual Fabric Adapter Ⅲ(95Y3766)である。こいつはebayで$15だった。めちゃくちゃ安い。だが送料も$15だったので購入時の為替レートで3250円ほどした。こちらは先のⅡの後継機ということで若干新しい。別途ドライバーを探してこなくてもWindowsがいい感じにドライバーを入れてくれたがこのモデルにはHBA機能が無かった。

これらのSFP+ポートに、IBMとCISCOと10GtecのSRの光トランシーバーを取り付けて動作確認を行ったが、どれもベンダーロックはかけられていないようでどれでも動作し、とくにどの組み合わせでもパフォーマンスに大した差はなかった。

AT-X510-28GTX経由で10GbEのPC間ファイル転送は速いのか

では、AT-X510-28GTXのSFP+ポートを経由し10GbEでファイル共有を行ったとき転送速度はどんくらいになるのか。 PC1とPC2を用意して、 やってみよう!まず、PC2から、PC1のRAID10の共有フォルダーへ7GB程度のLINUXのインストールディスクイメージを転送してみる。

ネットワークの転送速度としては 瞬間的に 4.6Gbps程度出ていたが、ファイルの転送のウィンドウを見たら最大で200MB/s弱と出ていた。ファイル転送の速さとしてはディスクの先ほどのベンチマークで出た性能をやや下回るくらいなので妥当な数字かと思われる。ネットワークの 4.6Gbps は約575MB/s位になるのでディスクに書き込まれている速度よりだいぶ速い。転送に激しく波があるので糞詰まった時にキャッシュされたのが一気に転送されて、また糞詰まって、を繰り返してるように見える。RAIDアレイにいろいろ計算しながらがんばって書き込んでくれている苦労が垣間見える。

つづいてSSDのディスクに転送してみた。

SSDへの書き込みはRAID10に書き込んだ時よりもめっちゃ安定してる。可動部品が無くディスクが回ったりヘッドが動いたりしないからなのかもしれないし、RAIDじゃない単体のディスクへの書き込みだからかもしれないがそうじゃないかもしれない。どちらもディスクの性能がボトルネックとなって10GbEの性能を半分ほどしか使ってない感じがする。それでも1GbEでは出せないスピードが出ている。7GB超のファイルを数秒程度でサクッと転送してしまうのはびっくりだ。

10GbEの光と闇

スピードがものすごく早くなった10GbEではあるが、実はWOL(wake up on LAN)が使えない。うれしいことづくめかと思いきや思わぬ落とし穴があった。遠隔で起動する必要がある場合は、1GbE以下のLAN接続を残しておく必要がある。今回光トランシーバーによるLAN接続を追加したが、それと併用する形でマザーボードについていたNICに対する接続もWOLのために残しておくことにした。そうなると、同じセグメントに対して2つのNICが同時に通信を行うことになる。XP以前のWindowsでそれをするととてもめんどくさかったが、Windows10では何のトラブルもなくすんなりとLANにつながった。

10GbEの方を優先的に使ってもらいたいので、”get-netipinterface”コマンドでメトリックの値を確認してみたところ、こんな感じになっていた。


Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

PS C:\WINDOWS\system32> get-netipinterface

ifIndex InterfaceAlias                 AddressFamily NlMtu(Bytes) InterfaceMetric  Dhcp     ConnectionState PolicyStore
------- --------------                 ------------- ------------ ---------------  ----     --------------- -----------
35      イーサネット 4                  IPv6                  1500               5  Disabled Disconnected    ActiveStore
34      イーサネット 3                  IPv6                  1500              15  Enabled  Connected       ActiveStore
10      VirtualBox Host-Only Network   IPv6                  1500              25  Enabled  Connected       ActiveStore
1       Loopback Pseudo-Interface 1    IPv6            4294967295              75  Disabled Connected       ActiveStore
9       イーサネット 2                  IPv6                  1500              25  Enabled  Connected       ActiveStore
15      イーサネット                    IPv6                  1500               5  Enabled  Disconnected    ActiveStore
35      イーサネット 4                  IPv4                  1500               5  Enabled  Disconnected    ActiveStore
34      イーサネット 3                  IPv4                  1500              15  Enabled  Connected       ActiveStore
10      VirtualBox Host-Only Network   IPv4                  1500              25  Disabled Connected       ActiveStore
1       Loopback Pseudo-Interface 1    IPv4            4294967295              75  Disabled Connected       ActiveStore
9       イーサネット 2                  IPv4                  1500              25  Disabled Connected       ActiveStore
15      イーサネット                    IPv4                  1500               5  Enabled  Disconnected    ActiveStore


PS C:\WINDOWS\system32>

イーサネットとイーサネット2がマザーボードオンボードのNIC、イーサネット3とイーサネット4が10GbEのNICである。この内、イーサネット2とイーサネット3がリンクアップしている。自動メトリックの状態でメトリックの値が、 イーサネット2は”25”、イーサネット3は”15”となっていた。メトリックの値の小さい方が優先度が高いので、イーサネット3が優先される。何も言わずともデフォルトで10GbEが優先されるようにしてくれたWindows賢い。

NICが複数ある場合、WindowsではデフォルトゲートウェイをOSで一つしか持てないらしく、NICごとにデフォルトゲートウェイを設定するということができないという点に注意が必要だ。今回は、他のインターフェースで設定されているデフォルトゲートウェイと、10GbEのNICの設定でデフォルトゲートウェイにAT-X510-28GTXのIPアドレスを指定しておけば、2つのNICが接続されているのが同じネットワークだとWindowsが認識してくれる。ゲートウェイが一つしか指定できないよという警告ウィンドウはそのまま設定を維持するを選択しておけばよろしかろう。

今、SFP+を付けているのはメインPCだけなので、今回手に入れたSFP+ カードを使って10GbE対応NASという名の自作PCを近々組みたいと思い、NAS用に使えそうなHDDが4発装填できるmini-ITXのケースをジャンク屋さんで手に入れたが、資金不足で計画遂行の予定は未定である。今使っているバッファローのNASは10MB/s位しか速度が出ないので10GbE対応のNASができたらファイル転送のイライラがかなり改善されるものと期待できる。FSさんから光トランシーバーが届いたら、次回こそは AT-X510-28GTX のスタックの色々について書きたい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


*


*

投げ銭はこちらへ
bitcoin : 1AFU37YroGt8ohmFz8nG1N2ockL56Z4hfQ

ADA Coin: DdzFFzCqrhskq33AqGL8XkJZ3bb1hpxJYTd2UrJFKVpXphWG8d1RuhQrKymmKU1zzjvGi7oU69PaJ7nXECRG4Kpvg27Pghf3hpRNhRMy
2024年10月
 123456
78910111213
14151617181920
21222324252627
28293031  
カテゴリー