Peripheral Component Interconnect Express (PCIe) シングルルート I/O 仮想化 (SR-IOV) 実装は、PCI-SIG に定義されているバージョン 1.1 の規格に基づいています。SR-IOV 標準は、仮想マシン間での PCIe デバイスの効率的な共有を可能にし、ネイティブのパフォーマンスに匹敵する I/O パフォーマンスを達成するためにハードウェアに実装されます。SR-IOV 仕様は、新しいデバイスを作成し、それにより仮想マシンを I/O デバイスに直接接続できるという、新しい標準を定義しています。
物理機能として知られている 1 つの I/O リソースを、多数の仮想マシンで共有することができます。共有デバイスは専用のリソースを提供し、共有の共通リソースも使用します。このようにして、各仮想マシンが固有のリソースにアクセスすることができます。そのため、ハードウェアと OS が適切にサポートされる SR-IOV 対応の Ethernet ポートなどの PCIe デバイスは、それぞれに独自の PCIe 構成スペースがある、複数の別個の物理デバイスのように見えます。
SR-IOV の詳細は、PCI-SIG web siteを参照してください。
次の図は、I/O ドメイン内の仮想機能と物理機能の関係を示しています。
図 8-1 I/O ドメインでの仮想機能と物理機能の使用
物理機能 – SR-IOV 仕様によって定義されている SR-IOV 機能をサポートする PCI 機能。物理機能には SR-IOV 機能構造が含まれ、SR-IOV 機能を管理します。物理機能は他の PCIe デバイスと同じように検出、管理、および操作が可能な多機能の PCIe 機能です。物理機能を使用して、PCIe デバイスを構成および制御できます。
仮想機能 – 物理機能に関連付けられた PCI 機能。仮想機能は軽量の PCIe 機能であり、1 つ以上の物理リソースを物理機能と共有したり、その物理機能に関連付けられた仮想機能と共有したりします。物理機能とは異なり、仮想機能はそれ自体の動作しか構成できません。
各 SR-IOV デバイスには 1 つの物理機能があり、各物理機能には最大 256 の仮想機能を関連付けることができます。この数は、特定の SR-IOV デバイスによって異なります。仮想機能は物理機能によって作成されます。
物理機能で SR-IOV が有効になった後、物理機能のバス、デバイス、および機能数によって、各仮想機能の PCI 構成スペースにアクセスすることができます。それぞれの仮想機能には、そのレジスタセットのマップに使用される PCI メモリー領域があります。仮想機能のデバイスドライバは、その機能を有効にするためにレジスタセットで動作し、仮想機能は実際の PCI デバイスのように見えます。作成した後、仮想機能を I/O ドメインに直接割り当てることができます。この機能により、仮想機能で物理デバイスを共有したり、CPU やハイパーバイザソフトウェアのオーバーヘッドなしで I/O を実行したりできます。
使用中の環境で SR-IOV 機能を使用すると、次のような利点が得られることがあります。
パフォーマンスの向上と待ち時間の削減 – 仮想マシン環境からハードウェアへの直接アクセス
コストの削減 – 次のような資産および運用上の支出の節約。
省電力
アダプタ数の削減
配線の削減
スイッチポートの削減
Oracle VM Server for SPARC SR-IOV の実装には、静的構成方法と動的構成方法の両方が含まれます。詳細については、静的 SR-IOV および動的 SR-IOV を参照してください。
Oracle VM Server for SPARC SR-IOV 機能により、次の操作を実行できます。
指定した物理機能での仮想機能の作成
物理機能の指定した仮想機能の破棄
仮想機能のドメインへの割り当て
ドメインからの仮想機能の削除
SR-IOV 物理機能デバイスで仮想機能を作成および破棄するには、まず該当する PCIe バスで I/O 仮想化を有効にする必要があります。ldm set-io または ldm add-io コマンドを使用すると、iov プロパティーを on に設定できます。また、ldm add-domain または ldm set-domain コマンドを使用すると、rc-add-policy プロパティーを iov に設定できます。ldm(1M) マニュアルページを参照してください。
SR-IOV 仮想機能をドメインに割り当てると、SR-IOV 物理機能サービスを提供するドメインに対して暗黙的な依存関係が生まれます。ldm list-dependencies コマンドを使用することで、これらの依存関係を表示したり、この SR-IOV 物理機能に依存しているドメインを表示したりできます。ドメイン I/O の依存関係の一覧表示を参照してください。