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

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

VMware vSphere 5.1 の SR-IOV 構築手順 - (1) ハードウェアの設定

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

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


昨年、Windows Server 2012 Hyper-V における
SR-IOV (Single Root IO Virtualization) の構築方法をご紹介しました。

SR-IOV とは、通常ハイパーバイザー側にソフトウェア実装される「仮想スイッチ」機能を NIC の中に内蔵するという技術です。Intel-VT の NIC 版みたいなイメージ。

  • スイッチング処理に CPU 負荷が掛からない
  • レイテンシ(遅延)が圧倒的に小さい
  • 物理 NICスループットをフルに発揮できる

のように、仮想スイッチのデメリットを克服したシステムを実現できます。
実際 アプリ側が仮想化の条件として推奨し始めている ほか、10Gbps ファイルサーバーやバックアップサーバーといった I/O 系の仮想化 で非常に注目されています。但し、SR-IOV はゲスト側でチーミングが必要になるなど、正直使いづらい部分もあるため、アーキテクチャーの正しい理解が必要です。


基本的には、かなりエンタープライズな仮想化システムでの使われる技術ですが、この領域で最多のインストールベースを誇る VMware vSphere も、Hyper-V とほぼ同時期に出荷した最新のバージョン 5.1 で SR-IOV をサポートしました。


 VMware が選択される7つの理由 P.13 より。表示領域の都合で一部割愛しています。


ハードウェア側で SR-IOV を有効にする

それでは、実機を使って SR-IOV を設定していきたいと思います。

仮想化では、ハイパーバイザーに搭載される「仮想スイッチ」にを利用するのが通常ですが、SR-IOV はこれを利用せず、対応 NIC に内蔵されているハードウェアベースの仮想スイッチを使うことで、処理をオフロード・高速化するものです。
したがって、まずはハードウェア側で SR-IOV を有効化することが必要です。

サーバー

下記3点を有効化します。パラメーター名などは各社・機種ごとに異なりますので、各社へお問い合わせください。

  • 仮想化支援 (CPU, MEM)
    • Intel VT-x2 (EPT) もしくは AMD RVI
  • 仮想化支援 (I/O)
    • Intel VT-d もしくは AMD IOMMU
    • SR-IOV


NIC / CNA

SR-IOV を有効化します


これらの設定は ESXi をインストールしてしまった後でも大丈夫です。
なお、対応サーバーでも、装着する PCIe スロットによって SR-IOV を利用できないケースがあるようです。うまく動かないようであればスロットを変えて試してみると良いかもしれません。


ESXi の SR-IOV は VMDirectPath I/O がベース

まだ SR-IOV 対応ハードウェアが出回っていなかった vSphere 4.0 の頃、
VMware は「VMDirectPath I/O」(いわゆる PCI パススルー)を実装しました。


上記イメージ画像からも分かるとおり、SR-IOV は PCI パススルーの上位技術です。
このためか(もしくは急遽追加実装したか) ESXi 5.1 での SR-IOV 設定手順は多くが VMDirectPath I/O と共通になっています。


このあたりを踏まえつつ、次回 は ESXi 側の設定について解説します。