このセクションでは、SR-IOV 仮想機能の使用に関するいくつかの高度なトピックについて説明します。
SR-IOV 仮想機能を使用する場合は、次の問題に注意してください。
SR-IOV 仮想機能は、Logical Domains Manager によって割り当てられた Mac アドレスのみを使用できます。ほかの Oracle Solaris OS ネットワークコマンドで I/O ドメイン上の MAC アドレスを変更すると、コマンドは失敗するか、適切に機能しない可能性があります。
現在のところ、I/O ドメインでの SR-IOV ネットワーク仮想機能のリンクアグリゲーションはサポートされていません。リンクアグリゲーションを作成しようとすると、予想どおりに機能しない可能性があります。
I/O サービスを作成して、I/O ドメインに割り当てることができます。これらの仮想 I/O サービスは、仮想機能の作成元と同じ物理機能に作成することができます。たとえば、仮想スイッチ用のネットワークバックエンドデバイスとしてオンボードの 1 Gbps のネットワークデバイス (net0 または igb0) を使用でき、同じ物理機能デバイスから仮想機能を静的に作成することもできます。
SR-IOV 仮想機能には、仮想機能を論理ドメインのブートデバイスとして使用する機能など、ほかのタイプの PCIe デバイスと同様の機能があります。たとえば、ネットワーク仮想機能を使用して、Oracle Solaris OS を I/O ドメインにインストールするためにネットワークを介してブートすることができます。
SR-IOV 物理機能のデバイスドライバは、デバイス固有のプロパティーをエクスポートできます。これらのプロパティーを使用して、物理機能とその仮想機能の両方のリソース割り当てを調整することができます。プロパティーについては、igb(7D) および ixgbe(7D) マニュアルページなどの、物理機能ドライバについてのマニュアルページを参照してください。
ldm list-io -d コマンドは、指定された物理機能デバイスドライバによってエクスポートされるデバイス固有のプロパティーを表示します。各プロパティーの情報には、その名前、簡単な説明、デフォルト値、最大値、および次の 1 つまたは複数のフラグが含まれます。
物理機能に適用されます
仮想機能に適用されます
読み取り専用または通知パラメータ専用
primary# ldm list-io -d pf-name
ldm create-vf または ldm set-io コマンドを使用して、物理機能または仮想機能に対して読み書きプロパティーを設定します。デバイス固有のプロパティーを設定する場合は、静的方法を使用する必要があります。静的 SR-IOV を参照してください。
次の例は、オンボードの Intel 1 ギガビット SR-IOV デバイスによってエクスポートされる、デバイス固有のプロパティーを示しています。
primary# ldm list-io -d /SYS/MB/NET0/IOVNET.PF0 Device-specific Parameters -------------------------- max-config-vfs Flags = PR Default = 7 Descr = Max number of configurable VFs max-vf-mtu Flags = VR Default = 9216 Descr = Max MTU supported for a VF max-vlans Flags = VR Default = 32 Descr = Max number of VLAN filters supported pvid-exclusive Flags = VR Default = 1 Descr = Exclusive configuration of pvid required unicast-slots Flags = PV Default = 0 Min = 0 Max = 24 Descr = Number of unicast mac-address slots
次の例では、unicast-slots プロパティーを 8 に設定します。
primary# ldm create-vf unicast-slots=8 /SYS/MB/NET0/IOVNET.PF0
SR-IOV 仮想機能では Oracle Solaris 11 VNIC の作成がサポートされています。ただし、サポートされる VNIC の数は、仮想機能に割り当てられた代替 MAC アドレス (alt-mac-addrs プロパティー) の数に制限されます。仮想機能で VNIC を使用するときは、必ず十分な数の代替 MAC アドレスを割り当ててください。ldm create-vf または ldm set-io コマンドを使用して、代替 MAC アドレスを指定して alt-mac-addrs プロパティーを設定します。
次の例は、SR-IOV 仮想機能での 4 つの VNIC の作成を示しています。最初のコマンドは、代替 MAC アドレスを仮想機能デバイスに割り当てます。このコマンドは、自動割り当て方式で、4 つの代替 MAC アドレスを /SYS/MB/NET0/IOVNET.PF0.VF0 仮想機能デバイスに割り当てます。
primary# ldm set-io alt-mac-addrs=auto,auto,auto,auto /SYS/MB/NET0/IOVNET.PF0.VF0
次のコマンドは ldg1 I/O ドメインを起動します。この例で、auto-boot? プロパティーが true に設定されているため、I/O ドメインで Oracle Solaris 11 OS もブートされます。
primary# ldm start ldg1
次のコマンドは、ゲストドメインで Oracle Solaris 11 dladm コマンドを使用して、代替 MAC アドレスを持つ仮想機能を表示します。この出力には、net30 仮想機能が 4 つの代替 MAC アドレスを持つことを示しています。
guest# dladm show-phys -m LINK SLOT ADDRESS INUSE CLIENT net0 primary 0:14:4f:fa:b4:d1 yes net0 net25 primary 0:14:4f:fa:c9:eb no -- net30 primary 0:14:4f:fb:de:4c no -- 1 0:14:4f:f9:e8:73 no -- 2 0:14:4f:f8:21:58 no -- 3 0:14:4f:fa:9d:92 no -- 4 0:14:4f:f9:8f:1d no --
次のコマンドは、4 つの VNIC を作成します。代替 MAC アドレスを使用して指定した VNIC よりも多くの VNIC を作成しようとすると、失敗することに注意してください。
guest# dladm create-vnic -l net30 vnic0 guest# dladm create-vnic -l net30 vnic1 guest# dladm create-vnic -l net30 vnic2 guest# dladm create-vnic -l net30 vnic3 guest# dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- net25 phys 1500 up -- net30 phys 1500 up -- vnic0 vnic 1500 up net30 vnic1 vnic 1500 up net30 vnic2 vnic 1500 up net30 vnic3 vnic 1500 up net30