動的 SR-IOV 機能によって、次の静的 SR-IOV 要件が削除されます。
ルートドメイン。ルートドメインで遅延再構成を開始し、仮想機能を作成するか破棄し、ルートドメインをリブートします
I/O ドメイン。I/O ドメインを停止し、仮想機能を追加または削除して、I/O ドメインを起動します
動的 SR-IOV では、ルートドメインで遅延再構成を開始する必要なく、仮想機能を動的に作成または破棄できます。仮想機能は、ドメインを停止しなくても、I/O ドメインに動的に追加したり削除したりすることができます。Logical Domains Manager は Logical Domains エージェントおよび Oracle Solaris I/O 仮想化フレームワークと通信し、これらの変更を動的に有効にします。
必要な PCIe SR-IOV ソフトウェアおよびファームウェアのバージョンについては、SR-IOV のハードウェア要件とソフトウェア要件を参照してください。
仮想機能を動的に作成したり、破棄したりするには、次の条件が満たされていることを確認します。
仮想機能の構成を開始する前に、PCIe バスに対して I/O 仮想化が有効にされています。
ルートドメインおよび I/O ドメイン上で実行されている OS は、少なくとも Oracle Solaris 11.1 SRU 10 OS である必要があります。
物理機能デバイスが OS に構成されていないか、マルチパス構成内にあります。たとえば、Ethernet SR-IOV デバイスを unplumb したり、IPMP またはアグリゲーションで使用したりして、仮想機能を正常に作成または破棄できます。
仮想機能を作成または破棄する操作では、物理機能デバイスドライバのオンライン状態とオフライン状態を切り替える必要があります。マルチパス構成では、デバイスドライバのこれらの状態の切り替えができます。
仮想機能は、I/O ドメインから削除する前に、使用されていないか、マルチパス構成ではありません。たとえば、Ethernet SR-IOV 仮想機能を unplumb することも、IPMP 構成で使用しないこともできます。
すべての仮想機能を破棄し、スロットをルートドメインに返しても、ルートコンプレックス上のリソースは復元されません。
回復方法: ルートコンプレックスに関連付けられているすべての仮想 I/O リソースをそれらのルートドメインに返します。
最初に、制御ドメインで遅延再構成を実行します。
primary# ldm start-reconf primary
すべての子 PCIe スロットを、pci_0 バスを所有するルートドメインに返します。次に、pci_0 バス上のすべての子の仮想機能を削除して破棄します。
最後に、pci_0 バスの iov=off を設定し、ルートドメインをリブートします。
primary# ldm set-io iov=off pci_0 primary# shutdown -y -g 10
回避方法: 特定の PCIe バスに対する iov オプションを off に設定してください。
primary# ldm start-reconf primary primary# ldm set-io iov=off pci_0