仮想化でプリセールスしてるSEの一日

VMware から Azure まで、インフラや仮想化の最新情報をベンダー色をできるだけ抑えて綴っていきます

VMware vSphere 5.1 の SR-IOV 構築手順 - (3) ゲスト側の設定

f:id:ogawad:20190203195705p:plain:right

(1) (2) (3) (4)

VF を割り当てた仮想マシンを立ち上げましたら、最後にドライバを適用します。


ゲストへの VF ドライバの適用

VF NIC を割り当てた仮想マシンを立ち上げた直後のデバイスマネージャーです。


SR-IOV の VF は仮想化によるエミュレーションではなく、物理 NIC のパススルーです。このため、ベアメタル時と同様に、ゲストのインストール CD にドライバが INBOX されていない NIC の場合は手動適用する必要があります*1

ドライバは通常サーバーベンダーのダウンロードサイトから探します。
VMware ESXi の項目を探しがちですが、ゲスト内に適用するドライバですので間違えないようご注意ください。なお、ドライバは次のように SR-IOV の仮想機能 (Virtual Function: VF) への対応が必要です。

...
バージョン:7.4.31.0
機能強化
・マルチポートネットワークアダプターに対して一貫性のあるデバイス命名(CDN)をサポートしました。
Microsoft標準フロー制御オプション“自動”をサポートしました。
・Single Root I/O Virtualization (SR-IOV) 仮想機能デバイスをサポートしました。

バージョン:7.4.29.0
機能強化
...


ゲストに VF ドライバを適用できれば、SR-IOV のセットアップは完了です。


パススルーですので、NIC の持つファンクションをフルに利用できます。
これも SR-IOV の魅力の1つです。もちろんチーミングも。



SR-IOV がパススルーするのはソフトウェア仮想スイッチ

(1) でも解説したとおり、SR-IOV は PCI パススルーの上位技術です。
vSphere は元々 PCI パススルー機能を有していたので、今回実装された SR-IOV も多くの設定が共通になっています。




なお、一連の構築手順の中で 仮想スイッチ (vSS, vDS) が一度も登場しなかったことに気づかれた方いますでしょうか??

これこそが SR-IOV の最大のキーポイントです。
vSwitch は複雑かつソフトウェア処理であるため CPU のロス(オーバーヘッド)や転送遅延に課題があります。

1Gbps であれば CPU で回して全然問題ないのですが、昨今主流の 10Gbps、そして今年から対応製品がどんどん出てくる 20Gbps, 40Gbps になると今日の CPU でも持ちません。CPU が耐えられなければ、せっかく新設した 10Gbps 超えネットワークもフルスピードを出せず、意味がなくなってしまう...

このような課題を根本から改善するのが SR-IOV というわけです。



なお、Microsoft の Web サイトにHyper-V を選ぶ理由」という、非常にアグレッシブなタイトルの資料があります。この資料の P.17 に「vSphere 5.1 の SR-IOV は Distributed Switch (vDS) が必要だから Hyper-V にしておいた方がいいよ」的なメッセージがあるのですが、これは間違いです。

vDS や vSS 以前の話で、
そもそも vSphere の SR-IOV はソフトウェア仮想スイッチを使っていません。

前述のとおり、仮想ネットワークの主な目標は、ネイティブ I/O の実現です。SR-IOV を使用すると、顧客は、仮想マシンから物理ネットワーク インターフェイス カードのアドレスを直接指定できるため、CPU のオーバーヘッドおよび待機時間を低減すると同時に、スループットを向上できます。vSphere 5.1 では、VMware は SR-IOV のサポートを導入しましたが、これには最高エディションの vSphere にのみ搭載されている vSphere Distributed Switch 機能が必要です。

http://download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE-9F5F-6C6E2F0B5B22/Competitive_Advantages_of_Windows_Server_2012_Hyper-V_over_VMware_vSphere_5.1_ja.pdf#page=17


1ページが長くなってしまいました。残った「vMotion できるの?」「SR-IOV ってどんな時に使うの?」については 次回 をご覧ください。

*1:Windows Server 2012 の場合は SR-IOV VF ドライバがいくつか INBOX されています。しかし、バージョンが古すぎることもあるため、新しいバージョンが無いかの確認をお勧めします。