ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle VM Server for SPARC 2.2 管理ガイド Oracle VM Server for SPARC (日本語) |
パート I Oracle VM Server for SPARC 2.2 ソフトウェア
1. Oracle VM Server for SPARC ソフトウェアの概要
3. Oracle VM Server for SPARC のセキュリティー
PCIe バスの割り当てによって I/O ドメインを作成する方法
PCIe エンドポイントデバイスを割り当てることによって I/O ドメインを作成する方法
パート II オプションの Oracle VM Server for SPARC ソフトウェア
13. Oracle VM Server for SPARC 物理から仮想への変換ツール
14. Oracle VM Server for SPARC Configuration Assistant (Oracle Solaris 10)
15. Oracle VM Server for SPARC 管理情報ベース (Management Information Base、MIB) ソフトウェアの使用
16. Logical Domains Manager の検出
Oracle VM Server for SPARC 2.2 リリース以降は、SPARC T3 および SPARC T4 プラットフォームで Peripheral Component Interconnect Express (PCIe) シングルルート I/O 仮想化 (SR-IOV) 機能がサポートされます。
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 ドメイン内の仮想機能と物理機能の関係を示しています。
図 6-3 I/O ドメインでの仮想機能と物理機能の使用
SR-IOV には次の機能の種類があります。
物理機能 – SR-IOV 仕様によって定義されている SR-IOV 機能をサポートする PCI 機能。物理機能には SR-IOV 機能構造が含まれ、SR-IOV 機能を管理します。物理機能は他の PCIe デバイスと同じように検出、管理、および操作が可能な多機能の PCIe 機能です。物理機能を使用して、PCIe デバイスを構成および制御できます。
仮想機能 – 物理機能に関連付けられた PCI 機能。仮想機能は軽量の PCIe 機能であり、1 つ以上の物理リソースを物理機能と共有したり、その物理機能に関連付けられた仮想機能と共有したりします。物理機能とは異なり、仮想機能はそれ自体の動作しか構成できません。
各 SR-IOV デバイスには 1 つの物理機能があり、各物理機能には最大 64,000 の仮想機能を関連付けることができます。この数は、特定の SR-IOV デバイスによって異なります。仮想機能は物理機能によって作成されます。
物理機能で SR-IOV が有効になった後、物理機能のバス、デバイス、および機能数によって、各仮想機能の PCI 構成スペースにアクセスすることができます。それぞれの仮想機能には、そのレジスタセットのマップに使用される PCI メモリー領域があります。仮想機能のデバイスドライバは、その機能を有効にするためにレジスタセットで動作し、仮想機能は実際の PCI デバイスのように見えます。作成した後、仮想機能を I/O ドメインに直接割り当てることができます。この機能により、仮想機能で物理デバイスを共有したり、CPU やハイパーバイザソフトウェアのオーバーヘッドなしで I/O を実行したりできます。
SR-IOV 機能を持つデバイスに関連する利点は次のとおりです。
パフォーマンスの向上と待ち時間の削減 – 仮想マシン環境からハードウェアへの直接アクセス
コストの削減 – 次のような資産および運用上の支出の節約。
節電
アダプタ数の削減
配線の削減
スイッチポートの削減
Oracle VM Server for SPARC 2.2 リリース以降では、SPARC T3 および SPARC T4 プラットフォームで PCIe SR-IOV 機能がサポートされます。必要なハードウェア、ソフトウェア、およびファームウェアのバージョンの詳細は、『Oracle VM Server for SPARC 2.2 リリースノート』の「PCIe SR-IOV のハードウェアおよびソフトウェア要件」を参照してください。
注 - リブートを最小限に抑えるには、同じ遅延再構成の中で複数の操作を実行します。
今回のリリースでは、SR-IOV 機能に次の制限事項があります。
1 つ以上の仮想機能が割り当てられているドメインでは、移行は無効です。
仮想機能を作成したり破棄したりすると、遅延再構成が開始されます。
アクティブなドメインに仮想機能を割り当てることはできません。仮想機能を primary ドメインに割り当てると、遅延再構成が開始されます。
破棄できるのは、物理機能用に最後に作成された仮想機能のみです。そのため、3 つの仮想機能を作成した場合、最初に破棄できる仮想機能は 3 番目の仮想機能です。
Ethernet SR-IOV カードのみがサポートされます。
SR-IOV 機能は、primary ドメインに取り付けられた SR-IOV カードに対してのみ有効です。PCIe バスの割り当てまたは直接 I/O (DIO) 機能を使用して、ドメインに SR-IOV カードを割り当てた場合、そのカードに対して SR-IOV 機能は有効になりません。
pvid または vid プロパティーのいずれかを設定することで、仮想機能の VLAN 構成を有効にすることができます。これらの仮想機能プロパティーの両方を同時に設定することはできません。
仮想機能の作成と破棄の前に、前もって計画して、構成で使用する仮想機能を決定してください。仮想機能を作成および破棄するときは、primary ドメインをリブートする必要があります。このようなリブートは、PCIe エンドポイントまたは SR-IOV 仮想機能のいずれかが構成されているすべての I/O ドメインに悪影響を及ぼします。そのため、primary ドメインのリブート回数は最小限に抑えることが重要です。さまざまな SR-IOV デバイスから、現在の構成と将来の構成のニーズを満たすために必要な仮想機能の数を決定します。
I/O ドメインの詳細は、「I/O ドメインを作成するための一般的なガイドライン」を参照してください。
SR-IOV 仮想機能の構成と割り当てを行なうには、次の一般的な手順を使用してください。
使用しているシステムで使用できる PCIe SR-IOV 物理機能と、そのなかでニーズにもっとも合うものを決定します。
次のコマンドを使用して、必要な情報を確認します。
使用可能な SR-IOV 物理機能デバイスを確認します。
使用可能な PCIe SR-IOV カードおよびオンボードのデバイスを確認します。
デバイスがサポートする仮想機能の最大数など、指定した物理機能についての追加情報を確認します。
デバイスによってサポートされる、デバイス固有のプロパティーを確認します。「SR-IOV の詳細なトピック」を参照してください。
指定した SR-IOV 物理機能で、必要な数の仮想機能を作成します。
次のコマンドを使用して、仮想機能を作成します。
primary# ldm create-vf pf-name
ldm create-vf コマンドを使用して、仮想機能のデバイス固有およびネットワーク固有のプロパティーを設定します。unicast-slots プロパティーはデバイスに固有です。mac-addr、alt-mac-addrs、mtu、pvid、および vid プロパティーはネットワークに固有です。
mac-addr、alt-mac-addrs、および mtu のネットワーク固有のプロパティーは、次のように変更できます。
仮想機能が primary ドメインに割り当てられている場合: プロパティーの変更要求は遅延再構成を開始します。
仮想機能がアクティブな I/O ドメインに割り当てられている場合: 変更は所有しているドメインがアクティブでないか停止しているときに行なわれる必要があるため、プロパティー変更要求は拒否されます。
仮想機能が primary 以外のドメインに割り当てられていて、遅延再構成がすでに有効になっている場合: プロパティー変更要求は失敗して、エラーメッセージが表示されます。
pvid および vid のネットワーク固有プロパティーは変更可能で、制限はありません。
仮想機能の作成は遅延再構成を開始することがあるため、複数の仮想機能を作成し、primary ドメインのリブートを 1 回だけ実行して変更を有効にすることができます。仮想機能を作成するたびに primary ドメインをリブートする必要はありません。
特定の SR-IOV 物理機能が多数の仮想機能をサポートする場合があります。必要な仮想機能だけを作成してください。推奨される構成の最大数については、「SR-IOV の詳細なトピック」を参照してください。
ldm add-config コマンドを使用して、構成を SP に保存します。
primary ドメインをリブートして、仮想機能を作成します。
ldm add-io コマンドを使用して仮想機能をアクティブなドメインに割り当てる前に、そのドメインを停止する必要があります。すべての I/O ドメインにまとめて変更を加えることで、I/O ドメインのダウンタイムを最小限に抑えます。この方法で、このような構成を設定するために必要な primary ドメインのリブート回数を減らすことができます。
I/O ドメインをブートし、仮想機能をほかのネットワークデバイスと同じように構成します。
仮想機能の制限事項については、「SR-IOV の詳細なトピック」を参照してください。
このセクションでは、仮想機能の作成、変更、および破棄の方法を説明します。
primary# ldm list-io
仮想機能の名前には、PCIe SR-IOV カードまたはオンボードのデバイスの場所情報が含まれています。
primary# ldm create-vf [mac-addr=num] [alt-mac-addrs=[auto|num1,[auto|num2,...]]] [pvid=pvid] [vid=vid1,vid2,...] [mtu=size] [name=value...] pf-name
注 - MAC アドレスはネットワークデバイスに対して自動的に割り当てられます。
パス名または仮名を使用して、仮想機能を指定することができます。ただし、仮名を使用することをお勧めします。
例 6-1 仮想機能の作成
次の例は、物理機能 /SYS/MB/NET0/IOVNET.PF0 についての情報を示しています。
この物理機能は、オンボードの NET0 ネットワークデバイスからのものです。
文字列 IOVNET は、物理機能がネットワーク SR-IOV デバイスであることを示します。
primary# ldm list-io NAME TYPE DOMAIN STATUS ---- ---- ------ ------ pci_0 BUS primary niu_0 NIU primary /SYS/MB/RISER0/PCIE0 PCIE - EMP /SYS/MB/RISER1/PCIE1 PCIE - EMP /SYS/MB/RISER2/PCIE2 PCIE - EMP /SYS/MB/RISER0/PCIE3 PCIE - EMP /SYS/MB/RISER1/PCIE4 PCIE primary OCC /SYS/MB/RISER2/PCIE5 PCIE primary OCC /SYS/MB/SASHBA0 PCIE primary OCC /SYS/MB/SASHBA1 PCIE primary OCC /SYS/MB/NET0 PCIE primary OCC /SYS/MB/NET2 PCIE primary OCC /SYS/MB/RISER1/PCIE4/IOVNET.PF0 PF - /SYS/MB/RISER1/PCIE4/IOVNET.PF1 PF - /SYS/MB/RISER2/PCIE5/P0/P2/IOVNET.PF0 PF - /SYS/MB/RISER2/PCIE5/P0/P2/IOVNET.PF1 PF - /SYS/MB/RISER2/PCIE5/P0/P4/IOVNET.PF0 PF - /SYS/MB/RISER2/PCIE5/P0/P4/IOVNET.PF1 PF - /SYS/MB/NET0/IOVNET.PF0 PF - /SYS/MB/NET0/IOVNET.PF1 PF - /SYS/MB/NET2/IOVNET.PF0 PF - /SYS/MB/NET2/IOVNET.PF1 PF -
次のコマンドは、指定された物理機能についての詳細を表示します。値 maxvfs は、デバイスがサポートする仮想機能の最大数を示しています。
primary# ldm list-io -l /SYS/MB/NET0/IOVNET.PF0 NAME TYPE DOMAIN STATUS ---- ---- ------ ------ /SYS/MB/NET0/IOVNET.PF0 PF - [pci@400/pci@2/pci@0/pci@6/network@0] maxvfs = 7
次の例は、仮想機能の作成方法を示しています。
次の例では、省略可能なプロパティーを設定せずに仮想機能を作成します。この場合、ネットワーククラス仮想機能の MAC アドレスは自動的に割り当てられます。
primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0 Initiating a delayed reconfiguration operation on the primary domain. All configuration changes for other domains are disabled until the primary domain reboots, at which time the new configuration for the primary domain will also take effect.
この例では、仮想機能を作成し、mac-addr プロパティーを 00:14:2f:f9:14:c0 に設定し、vid プロパティーを VLAN ID 2 および 3 に設定します。
primary# ldm create-vf mac-addr=00:14:2f:f9:14:c0 vid=2,3 /SYS/MB/NET0/IOVNET.PF0
この例では、2 つの代替 MAC アドレスがある仮想機能を作成します。1 つの MAC アドレスは自動的に割り当てられ、もう 1 つは 00:14:2f:f9:14:c2 として明示的に指定します。
primary# ldm create-vf alt-mac-addrs=auto,00:14:2f:f9:14:c2 /SYS/MB/NET0/IOVNET.PF0
ldm set-io vf-name コマンドは、プロパティー値を変更するか、新規プロパティーを設定することで、仮想機能の現在の構成を変更します。このコマンドは、ネットワーク固有のプロパティーとデバイス固有のプロパティーの両方を変更できます。デバイス固有のプロパティーについては、「SR-IOV の詳細なトピック」を参照してください。
ldm set-io コマンドで、次のプロパティーを変更できます。
mac-addr、alt-mac-addrs、および mtu
これらの仮想機能プロパティーを変更するには、最初に仮想機能を所有しているドメインを停止します。対応する仮想機能が primary ドメインに割り当てられている場合は、変更を有効にするためにリブートを必要とする遅延再構成につながります。
pvid および vid
仮想機能がドメインに割り当てられているときは、これらのプロパティーを動的に変更することができます。これを行なうと、アクティブな仮想機能のネットワークトラフィックが変更されることがあるため、注意してください。つまり、pvid プロパティーを設定すると、透過的な VLAN が有効になります。VLAN ID を指定するように vid プロパティーを設定すると、それらの指定された VLAN に対して VLAN トラフィックが許可されます。
デバイス固有のプロパティー
ldm list-io -d pf-name コマンドを使用して、有効なデバイス固有のプロパティーのリストを表示します。物理機能と仮想機能の両方に対して、これらのプロパティーを変更することができます。これらのプロパティーを変更すると、遅延再構成につながり、変更を有効にするには primary ドメインのリブートが必要になります。デバイス固有のプロパティーの詳細については、「SR-IOV の詳細なトピック」を参照してください。
primary# ldm set-io name=value [name=value...] vf-name
例 6-2 仮想機能の変更
次の例は、ldm set-io コマンドで仮想機能にプロパティーを設定する方法を示しています。
次の例では、指定された仮想機能 /SYS/MB/NET0/IOVNET.PF0.VF0 を、VLAN ID 2、3、および 4 の一部になるように変更します。
primary# ldm set-io vid=2,3,4 /SYS/MB/NET0/IOVNET.PF0.VF0
このコマンドは、仮想機能の VLAN の関連付けを動的に変更することに注意してください。これらの VLAN を変更するには、適切な Oracle Solaris OS ネットワークコマンドを使用して、I/O ドメインの VLAN インタフェースを構成する必要があります。
次の例では、/SYS/MB/NET0/IOVNET.PF0.VF0 仮想機能に対して pvid プロパティー値を 2 に設定し、仮想機能を透過的に VLAN 2 の一部にします。つまり、仮想機能は、タグ付けされたどの VLAN トラフィックも表示しません。
primary# ldm set-io pvid=2 /SYS/MB/NET0/IOVNET.PF0.VF0
次の例では、自動的に割り当てられた 3 つの代替 MAC アドレスを、仮想機能に割り当てます。これらの代替アドレスにより、仮想機能の最上部に Oracle Solaris 11 仮想ネットワークインタフェースカード (VNIC) を作成することができます。VNIC を使用するには、ドメインで Oracle Solaris 11 OS を実行する必要があることに注意してください。
注 - このコマンドを実行する前に、仮想機能を所有するドメインを停止します。
primary# ldm set-io alt-mac-addrs=auto,auto,auto /SYS/MB/NET0/IOVNET.PF0.VF0
次の例では、指定された仮想機能に対して、デバイス固有の unicast-slots プロパティーを 12 に設定します。物理機能に対して有効なデバイス固有のプロパティーを調べるには、ldm list-io -d pf-name コマンドを使用します。
primary# ldm set-io unicast-slots=12 /SYS/MB/NET0/IOVNET.PF0.VF0 Initiating a delayed reconfiguration operation on the primary domain. All configuration changes for other domains are disabled until the primary domain reboots, at which time the new configuration for the primary domain will also take effect.
仮想機能が現在ドメインに割り当てられていない場合は、その仮想機能を破棄できます。また、破棄できるのは、最後に作成された仮想機能のみです。結果として作成される構成は、物理機能ドライバによって検証されます。正常な処理では、変更を有効にするためにリブートを必要とする、遅延再構成が開始されます。
primary# ldm destroy-vf vf-name
例 6-3 仮想機能の破棄
次の例は、/SYS/MB/NET0/IOVNET.PF0.VF0 仮想機能を破棄する方法を示しています。
primary# ldm destroy-vf /SYS/MB/NET0/IOVNET.PF0.VF0 Initiating a delayed reconfiguration operation on the primary domain. All configuration changes for other domains are disabled until the primary domain reboots, at which time the new configuration for the primary domain will also take effect.
次のコマンドは、仮想機能を論理ドメインに追加します。
ldm add-io vf-name ldom
vf-name は、仮想機能の仮名またはパス名です。仮名を使用することをお勧めします。ldom は、仮想機能を追加するドメインの名前を指定します。指定されたゲストは、アクティブでないか停止している必要があります。primary ドメインを指定する場合、このドメインは遅延再構成を開始します。
primary# ldm add-io vf-name ldom
ドメイン内の仮想機能のデバイスパス名は、list-io -l 出力に示されているパスです。
例 6-4 仮想機能の追加
次の例は、/SYS/MB/NET0/IOVNET.PF0.VF0 仮想機能を ldg1 ドメインに追加する方法を示しています。正常に実行するには、指定したドメインがアクティブでないか停止している必要があります。ドメインが primary ドメインの場合は、遅延再構成が開始されます。
primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
コマンドが正常に実行されると、仮想機能が ldg1 ドメインに追加されます。ldg1 がすでにバインドされている (またはあとでバインドされる) 場合は、ドメインを起動することができ、ゲスト OS が I/O 操作に追加された仮想機能を使用することができます。
次のコマンドは、SR-IOV 仮想機能を論理ドメインから削除します。
ldm remove-io vf-name ldom
vf-name は、仮想機能の仮名またはパス名です。デバイスの仮名を使用することをお勧めします。ldom は、仮想機能を削除するドメインの名前を指定します。指定されたゲストは、アクティブでないか停止している必要があります。primary ドメインを指定する場合、このドメインは遅延再構成を開始します。
注 - 仮想機能をドメインから削除する前に、そのドメインのブートが必須ではないことを確認してください。
primary# ldm rm-io vf-name ldom
例 6-5 仮想機能の削除
次の例は、/SYS/MB/NET0/IOVNET.PF0.VF0 仮想機能を ldg1 ドメインから削除する方法を示しています。
primary# ldm rm-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
コマンドが正常に実行されると、仮想機能が ldg1 ドメインから削除されます。ldg1 が再起動されると、指定された仮想機能はそのドメインに表示されなくなります。
仮想機能を持つドメインが primary ドメインの場合は、遅延再構成が開始されます。
primary ドメインをリブートするときは、慎重に行なってください。「primary ドメインの再起動」を参照してください。I/O ドメインの PCIe スロットと同様に、このセクションで説明している問題は、I/O ドメインに割り当てられている仮想機能にも関連があります。
次の手順で、PCIe SR-IOV 仮想機能を含む I/O ドメインを作成する方法を説明します。
primary ドメインのリブート回数を最小限に抑えて、ダウンタイムを最小限に抑えるように事前に計画します。
primary# ldm list-io
primary# ldm list-io -l pf-name
primary# ldm create-vf pf-name
このコマンドは、作成する仮想機能ごとに実行できます。これらのコマンドをバッチとして実行すると、primary ドメインを 1 回リブートするだけで済みます。
primary# ldm stop ldom
primary# reboot
primary# ldm list-io
primary# ldm add-io vf-name ldom
primary# ldm bind ldom primary# ldm start ldom
次の Oracle Solaris 11 コマンドは、仮想機能の利用度を表示します。
guest# dladm show-phys
例 6-6 SR-IOV 仮想機能を割り当てることによる I/O ドメインの作成
次の例は、物理機能 /SYS/MB/NET0/IOVNET.PF0 に対する仮想機能 /SYS/MB/NET0/IOVNET.PF0.VF0 を作成して、仮想機能を ldg1 I/O ドメインに割り当てる方法を示しています。
次の ldm list-io 出力は、/SYS/MB/NET0/IOVNET.PF0 物理機能が使用可能であることを示しています。
primary# ldm list-io NAME TYPE DOMAIN STATUS ---- ---- ------ ------ pci_0 BUS primary niu_0 NIU primary /SYS/MB/RISER0/PCIE0 PCIE - EMP /SYS/MB/RISER1/PCIE1 PCIE - EMP /SYS/MB/RISER2/PCIE2 PCIE - EMP /SYS/MB/RISER0/PCIE3 PCIE - EMP /SYS/MB/RISER1/PCIE4 PCIE primary OCC /SYS/MB/RISER2/PCIE5 PCIE primary OCC /SYS/MB/SASHBA0 PCIE primary OCC /SYS/MB/SASHBA1 PCIE primary OCC /SYS/MB/NET0 PCIE primary OCC /SYS/MB/NET2 PCIE primary OCC /SYS/MB/RISER1/PCIE4/IOVNET.PF0 PF - /SYS/MB/RISER1/PCIE4/IOVNET.PF1 PF - /SYS/MB/RISER2/PCIE5/P0/P2/IOVNET.PF0 PF - /SYS/MB/RISER2/PCIE5/P0/P2/IOVNET.PF1 PF - /SYS/MB/RISER2/PCIE5/P0/P4/IOVNET.PF0 PF - /SYS/MB/RISER2/PCIE5/P0/P4/IOVNET.PF1 PF - /SYS/MB/NET0/IOVNET.PF0 PF - /SYS/MB/NET0/IOVNET.PF1 PF - /SYS/MB/NET2/IOVNET.PF0 PF - /SYS/MB/NET2/IOVNET.PF1 PF -
次のコマンドは、作成できる仮想機能の最大数を含む、/SYS/MB/NET0/IOVNET.PF0 物理機能に関する追加の詳細を表示します。
primary# ldm list-io -l /SYS/MB/NET0/IOVNET.PF0 NAME TYPE DOMAIN STATUS ---- ---- ------ ------ /SYS/MB/NET0/IOVNET.PF0 PF - [pci@400/pci@2/pci@0/pci@6/network@0] maxvfs = 7
次のコマンドは、/SYS/MB/NET0/IOVNET.PF0 物理機能に対して /SYS/MB/NET0/IOVNET.PF0.VF0 という仮想機能を作成します。
primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0 Initiating a delayed reconfiguration operation on the primary domain. All configuration changes for other domains are disabled until the primary domain reboots, at which time the new configuration for the primary domain will also take effect. Created new VF: /SYS/MB/NET0/IOVNET.PF0.VF0
ldg1 I/O ドメインには DIO 機能を使用して作成された PCIe エンドポイントデバイスがあるため、次のように、ldg1 ドメインを停止し、primary ドメインをリブートする必要があります。
primary# ldm stop ldg1 primary# reboot
次のコマンドは、新しい /SYS/MB/NET0/IOVNET.PF0.VF0 仮想機能が存在することを確認します。
primary# ldm list-io NAME TYPE DOMAIN STATUS ---- ---- ------ ------ pci_0 BUS primary niu_0 NIU primary /SYS/MB/RISER0/PCIE0 PCIE - EMP /SYS/MB/RISER1/PCIE1 PCIE - EMP /SYS/MB/RISER2/PCIE2 PCIE - EMP /SYS/MB/RISER0/PCIE3 PCIE - EMP /SYS/MB/RISER1/PCIE4 PCIE primary OCC /SYS/MB/RISER2/PCIE5 PCIE primary OCC /SYS/MB/SASHBA0 PCIE primary OCC /SYS/MB/SASHBA1 PCIE primary OCC /SYS/MB/NET0 PCIE primary OCC /SYS/MB/NET2 PCIE primary OCC /SYS/MB/RISER1/PCIE4/IOVNET.PF0 PF - /SYS/MB/RISER1/PCIE4/IOVNET.PF1 PF - /SYS/MB/RISER2/PCIE5/P0/P2/IOVNET.PF0 PF - /SYS/MB/RISER2/PCIE5/P0/P2/IOVNET.PF1 PF - /SYS/MB/RISER2/PCIE5/P0/P4/IOVNET.PF0 PF - /SYS/MB/RISER2/PCIE5/P0/P4/IOVNET.PF1 PF - /SYS/MB/NET0/IOVNET.PF0 PF - /SYS/MB/NET0/IOVNET.PF1 PF - /SYS/MB/NET2/IOVNET.PF0 PF - /SYS/MB/NET2/IOVNET.PF1 PF - /SYS/MB/NET0/IOVNET.PF0.VF0 VF
次のコマンドは、/SYS/MB/NET0/IOVNET.PF0.VF0 仮想機能を ldg1 ドメインに割り当てます。
primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
次のコマンドは、ldg1 ドメインをバインドして再起動します。
primary# ldm bind ldg1 primary# ldm start ldg1
次のコマンドは、仮想機能が使用可能であることを確認します。
guest# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 0 unknown vnet0 net1 Ethernet up 1000 full igbvf0
このセクションでは、PCIe SR-IOV 対応の I/O デバイスの使用時に生じる、いくつかの詳細なトピックについて説明します。
SR-IOV 仮想機能の使用による I/O ドメインのブート。SR-IOV 仮想機能には、仮想機能を論理ドメインのブートデバイスとして使用する機能など、ほかの種類の PCIe デバイスと同様の機能があります。たとえば、ネットワーク仮想機能を使用して、Oracle Solaris OS を I/O ドメインにインストールするためにネットワークを介してブートすることができます。
注 - 仮想機能デバイスから Oracle Solaris OS をブートするときは、ロードされる Oracle Solaris OS が仮想機能デバイスをサポートしていることを確認してください。その場合は、計画どおりに残りのインストールを続行できます。
サポートされる I/O ドメインおよび仮想機能の最大数。特定の PCIe バスの PCIe エンドポイントデバイスおよび SR-IOV 仮想機能を、最大 15 までのドメインに割り当てることができます。各 PCIe バスの割り込みベクトルなどの PCIe リソースは、ルートドメインと I/O ドメインの間で分配されます。その結果、特定の I/O ドメインに割り当てることができるデバイスの数も制限されています。そのため、同じ I/O ドメインに多数の仮想機能を割り当てないようにしてください。SR-IOV に関連する問題については、『Oracle VM Server for SPARC 2.2 リリースノート』を参照してください。
SR-IOV 物理機能のデバイスドライバは、デバイス固有のプロパティーをエクスポートできます。これらのプロパティーを使用して、物理機能とその仮想機能の両方のリソース割り当てを調整することができます。プロパティーについては、igb(7D) および ixgbe(7D) マニュアルページなどの、物理機能ドライバについてのマニュアルページを参照してください。
ldm list-io -d コマンドは、指定された物理機能デバイスドライバによってエクスポートされるデバイス固有のプロパティーを表示します。各プロパティーに、名前、簡単な説明、デフォルト値、最大値、および次のフラグの 1 つまたは複数があります。
物理機能に適用されます
仮想機能に適用されます
読み取り専用または通知パラメータ専用
primary# ldm list-io -d pf-name
ldm create-vf または ldm set-io コマンドを使用して、物理機能または仮想機能に対して読み書きプロパティーを設定します。デバイス固有のプロパティーを設定すると、遅延再構成が開始されることに注意してください。
次の例は、オンボードの 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 仮想機能は、Logical Domains Manager によって割り当てられた Mac アドレスのみを使用できます。ほかの Oracle Solaris OS ネットワークコマンドで I/O ドメイン上の MAC アドレスを変更すると、コマンドは失敗するか、適切に機能しない可能性があります。
現在のところ、I/O ドメインでの SR-IOV ネットワーク仮想機能のリンク集積体はサポートされていません。リンク集積体を作成しようとすると、予想どおりに機能しない可能性があります。
I/O サービスを作成して、I/O ドメインに割り当てることができます。これらの仮想 I/O サービスは、仮想機能の作成元と同じ物理機能に作成することができます。たとえば、仮想スイッチ用のネットワークバックエンドデバイスとしてオンボードの 1 ギガビットのネットワークデバイス (net0 または igb0) を使用でき、同じ物理機能デバイスから仮想機能を作成することもできます。
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
次のコマンドは、I/O ドメインで Oracle Solaris 11 OS を起動してブートします。この例では、ldg1 が I/O ドメインです。
primary# ldm start ldg1
次のコマンドは、ゲストドメインで Oracle Solaris 11 の dladm コマンドを使用して、4 つの VNIC を作成します。代替 MAC アドレスを使用して指定した VNIC よりも多くの VNIC を作成しようとすると、失敗することに注意してください。
guest# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 0 unknown vnet0 net1 Ethernet up 1000 full igbvf0 guest# dladm create-vnic -l net1 vnic0 guest# dladm create-vnic -l net1 vnic1 guest# dladm create-vnic -l net1 vnic2 guest# dladm create-vnic -l net1 vnic3 guest# dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- net1 phys 1500 up -- vnic0 vnic 1500 up net1 vnic1 vnic 1500 up net1 vnic2 vnic 1500 up net1 vnic3 vnic 1500 up net1