2017年3月20日月曜日

USB3.0の1Gb 物理NICを買って仮想マシンに接続してみた

USB3.0になってから、データ転送速度が4Gbps=500MB/sになったということで、1GbpsのNICよりも転送速度が速くなっている(USB2.0は480Mbps=60MB/s)。今は安価でUSB3.0の1Gbpsの物理NICが売られているので、1つ買って検証用マシンのNICを増設することにした。

できることなら、ESXi自体のNICとして利用したかったのだが、案外手間がかかりそうだったので、仮想マシンのNICとして使うことにした。

購入したUSB3.0のNIC

今回購入したNICは以下となる。有名なメーカーでは無いが、安価だったことが購入の決め手となった。Amazonのレビューでも記載されているが、中身のチップセットはRealtek RTL8153となる。

このNICをESXiとして利用している物理マシンのUSB3.0ポートに接続し、ESXi自体で認識状況を確認してみる。1行目に「8153 Realtek」の文字が確認でき、ESXiとしても認識はしているようだ。

[root@esx01:~] lsusb
------------------------------
Bus 004 Device 002: ID 0bda:8153 Realtek Semiconductor Corp. 
Bus 003 Device 003: ID 05e3:0723 Genesys Logic, Inc. GL827L SD/MMC/MS Flash Card Reader
Bus 003 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
------------------------------

仮想マシンへの接続

続けて、NICを仮想マシンに接続する。vSphere Clientにて、接続したい仮想マシンを選んで、「設定の編集」を開く。

USBデバイスを使用する前に、まずはUSBコントローラを追加する必要がある。「追加」ボタンを押し、「USBコントローラ」を選択する(この時点では「USBデバイス」はグレーアウトしており追加不可)。コントローラタイプとして、"EHCI+UHCI"と"xHCI"の2種類が選択可能だが、USB3.0の場合は、"xHCI"を選ぶ。



一旦、「OK」を押して設定の編集画面を閉じたのち、再度「設定の編集」を開く。「USBデバイス」を選択すると、"Realtek USB 10/100/1000 LAN"が選択できるはずなので選択する。



これで仮想マシンにNICが追加された。Windowsの場合は標準のドライバで認識しているはず。Windows Server 2016の場合は、"usb_xhci"という名前でNICが表示された。



Windowsのドライバーの更新

Windows標準のドライバーで認識はするものの、最新ドライバーとなっていない。例えばWindows Server 2016では、OS標準ドライバーのバージョンは10.5となるが、本記事を記載した時点の最新ドライバーは10.13になる。そこで、最新のドライバーファイルを入手し更新することにする。

以下は、OS標準ドライバーの状態。2015年9月のドライバーとなっている。



ドライバーの最新バージョンの確認とダウンロードは、以下URLから実施できる。

Realtek - Software: Drivers & Utilities RTL8153
http://www.realtek.com.tw/Downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=56&Level=5&Conn=4&DownTypeID=3&GetDown=false

ダウンロードしたドライバーのフォルダの中にsetup.exeが同梱されているが、今回はデバイスマネージャーから更新を行うことにする。

デバイスマネージャーを開き、「Realtek USB GbE Family Controller」のプロパティを開き、「ドライバーの更新」を選択する。



ドライバーファイルのパスを聞かれるので、

   <ドライバーの解凍パス>\WIN10\64\rtux64w10.INF

を選択する。

  
後は自動でドライバーが更新され、バージョンが最新となっていればOK。


このNICを使ってQNAPのNASにファイル転送を実施してみると、100MB/s以上の転送速度が出るので、1Gbpsの帯域近くまで使えており、1000円程度のNICでも問題なく速度が出ることがわかった。最近は無線LANのみで物理NICを持たないノートPCが多いので、サーバーメンテナンス等で物理NICが欲しい場合に備えて、1個持っておくのはよいかもしれない。