ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
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 ドメインを作成する方法
I/O ドメインを作成するための SR-IOV 仮想機能の使用
SR-IOV 仮想機能を割り当てることによって 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.0 リリースと Oracle Solaris 10 9/10 OS 以降では、個別の PCIe エンドポイントデバイス (または直接 I/O を割り当て可能なデバイス) をドメインに割り当てることができます。PCIe エンドポイントデバイスをこのように使用することで、I/O ドメインにデバイスをより細かく割り当てることが可能になります。この機能は、直接 I/O (Direct I/O、DIO) 機能により提供されます。
DIO 機能によって、システム内の PCIe バスの数よりも多くの I/O ドメインを作成できます。I/O ドメインの最大数は現在、PCIe エンドポイントデバイスの数によってのみ制限されます。
PCIe エンドポイントデバイスは、次のいずれかです。
スロットの PCIe カード
プラットフォームにより識別されるオンボードの PCIe デバイス
次の図は、PCIe エンドポイントデバイス PCIE3 が I/O ドメインに割り当てられている状態を示しています。I/O ドメインのバス pci_0 とスイッチは、いずれも仮想のものです。PCIE3 エンドポイントデバイスには、primary ドメインではアクセスできなくなっています。
I/O ドメインで、pci_0 ブロックとスイッチは、それぞれ仮想ルートコンプレックスと仮想 PCIe スイッチです。このブロックとスイッチは、primary ドメインの pci_0 ブロックとスイッチに非常によく似ています。primary ドメインで、スロット PCIE3 のデバイスは元のデバイスのシャドウであり、SUNW,assigned として識別されます。
注意 - ldm rm-io コマンドを使用して PCIe エンドポイントデバイスを primary ドメインから削除した後、Oracle Solaris ホットプラグ操作を使用してそのデバイスを「ホットリムーブ」することはできません。PCIe エンドポイントデバイスの交換または取り外しの詳細は、「PCIe ハードウェアの変更」を参照してください。 |
図 6-2 PCIe エンドポイントデバイスの I/O ドメインへの割り当て
ldm list-io コマンドを使用して、PCIe エンドポイントデバイスの一覧を確認します。
DIO 機能により、スロットの任意の PCIe カードを I/O ドメインに割り当てることができますが、サポートされるのは特定の PCIe カードのみです。『Oracle VM Server for SPARC 2.2 リリースノート』の「直接 I/O のハードウェア要件とソフトウェア要件」を参照してください。
注意 - ブリッジを持つ PCIe カードはサポートされません。PCIe の機能レベルの割り当てもサポートされません。サポートされていない PCIe カードを I/O ドメインに割り当てた場合、予期しない動作が引き起こされることがあります。 |
DIO 機能についてのいくつかの重要な詳細を以下に示します。
この機能は、ソフトウェアのすべての要件が満たされている場合にのみ有効です。『Oracle VM Server for SPARC 2.2 リリースノート』の「直接 I/O のハードウェア要件とソフトウェア要件」を参照してください。
primary ドメインに割り当てられた PCIe バスに接続されている PCIe エンドポイントのみが、DIO 機能によって他のドメインに割り当て可能です。
DIO を使用している I/O ドメインは、primary ドメインの実行中のみ PCIe エンドポイントデバイスにアクセスできます。
primary ドメインを再起動すると、PCIe エンドポイントデバイスが存在する I/O ドメインに影響が及びます。「primary ドメインの再起動」を参照してください。また、primary ドメインには次の役割があります。
PCIe バスを初期化し、バスを管理する。
I/O ドメインに割り当てられている PCIe エンドポイントデバイスにより引き起こされたすべてのバスエラーを処理する。PCIe バスに関連するすべてのエラーを受け取るのは primary ドメインのみであることに注意してください。
DIO 機能を正しく使用するには、適切なソフトウェアを実行し、DIO 機能によってサポートされている PCIe カードのみを I/O ドメインに割り当てる必要があります。ハードウェアおよびソフトウェアの要件については、『Oracle VM Server for SPARC 2.2 リリースノート』の「直接 I/O のハードウェア要件とソフトウェア要件」を参照してください。
注 - プラットフォームでサポートされているすべての PCIe カードは、primary ドメインでサポートされます。サポートされている PCIe カードの一覧は、お使いのプラットフォームのドキュメントを参照してください。ただし、I/O ドメインに割り当てることができるのは、「直接 I/O がサポートされている PCIe カードのみ」です。
以下の制限を回避する方法については、「PCIe エンドポイントデバイス構成の計画」を参照してください。
遅延再構成は、primary ドメインに対して PCIe エンドポイントデバイスの割り当てまたは削除を行うと開始されます。つまり、変更は primary ドメインの再起動後にのみ適用されます。
primary ドメインを再起動すると直接 I/O に影響を及ぼすため、直接 I/O の構成変更は、直接 I/O に関連する primary ドメインの変更が最大限になり、primary ドメインの再起動が最小限になるように、十分に計画してください。
他のドメインに PCIe エンドポイントデバイスを割り当てるか削除する操作は、そのドメインが停止中または非アクティブの場合のみ許可されます。
primary ドメインの停止を避けるため、PCIe エンドポイントデバイスの割り当てまたは削除は、事前に慎重に計画します。primary ドメインの再起動は、primary ドメイン自体で利用可能なサービスだけでなく、PCIe エンドポイントデバイスが割り当てられている I/O ドメインにも影響を及ぼします。個々の I/O ドメインへの変更は、他のドメインに影響を及ぼしませんが、事前に計画することにより、そのドメインによって提供されるサービスへの影響を最小限に抑えることができます。
遅延再構成は、デバイスを最初に割り当てるか削除したときに開始されます。そのため、デバイスの追加または削除を引き続き行い、そのあとで primary ドメインを 1 回だけ再起動することで、すべての変更を有効にできます。
例については、「PCIe エンドポイントデバイスを割り当てることによって I/O ドメインを作成する方法」を参照してください。
DIO デバイス構成の計画と実行には、一般に以下のような手順が必要です。
システムのハードウェア構成を理解し、記録します。
具体的には、システムの PCIe カードについて、部品番号やその他の詳細情報を記録します。
ldm list-io -l および prtdiag -v コマンドを使用して情報を取得し、あとで参照するために保存します。
primary ドメインに必要な PCIe エンドポイントデバイスを特定します。
たとえば、次のデバイスへのアクセスを提供する PCIe エンドポイントデバイスを特定します。
起動ディスクデバイス
ネットワークデバイス
primary ドメインがサービスとして提供するその他のデバイス
I/O ドメインで使用する可能性のあるすべての PCIe エンドポイントデバイスを削除します。
この手順により、以後 primary ドメインで再起動操作を実行することを避け、再起動による I/O ドメインへの影響を防ぐことができます。
PCIe エンドポイントデバイスを削除するには、ldm rm-io コマンドを使用します。rm-io および add-io サブコマンドでデバイスを指定するには、デバイスパスの代わりに仮名を使用します。
注 - PCIe エンドポイントデバイスを最初に削除したときに遅延再構成が開始されますが、デバイスの削除を引き続き行うことができます。必要なすべてのデバイスを削除したあとで、primary ドメインを 1 回だけリブートすれば、すべての変更が有効になります。
この構成をサービスプロセッサ (Service Processor、SP) に保存します。
ldm add-config コマンドを使用します。
primary ドメインを再起動し、手順 3 で削除した PCIe エンドポイントデバイスを解放します。
削除した PCIe エンドポイントデバイスが、primary ドメインに割り当てられていないことを確認します。
ldm list-io -l コマンドを使用して、削除したデバイスが出力に SUNW,assigned-device として表示されることを確認します。
物理デバイスへの直接アクセスを可能にするため、使用可能な PCIe エンドポイントデバイスをゲストドメインに割り当てます。
この割り当てを行なったあとで、ドメインの移行機能を使用して別の物理システムにゲストドメインを移行することはできません。
ゲストドメインに対して、PCIe エンドポイントデバイスの追加または削除を行います。
ldm add-io コマンドを使用します。
I/O ドメインへの変更を最小限に抑えることで、再起動操作を減らし、そのドメインが提供するサービスの停止を避けます。
(省略可能) PCIe ハードウェアに変更を加えます。
「PCIe ハードウェアの変更」を参照してください。
primary ドメインは PCIe バスの所有者で、バスの初期化と管理の役割を担います。primary ドメインはアクティブで、DIO 機能をサポートするバージョンの Oracle Solaris OS を実行している必要があります。primary ドメインのシャットダウン、停止、または再起動を行うと、PCIe バスへのアクセスが中断されます。PCIe バスが使用できないとき、そのバス上の PCIe デバイスが影響を受け、使用不可能になることがあります。
PCIe エンドポイントデバイスを持つ I/O ドメインの実行中に primary ドメインが再起動された場合、I/O ドメインの動作は予測不能です。たとえば、再起動中または再起動後に、PCIe エンドポイントデバイスを持つ I/O ドメインでパニックが発生することがあります。primary ドメインを再起動するときは、各ドメインを手動で停止/開始する必要があります。
これらの問題を回避するには、次のいずれかの手順を実行します。
primary ドメインをシャットダウンする前に、システムの PCIe エンドポイントデバイスが割り当てられているドメインすべてを手動でシャットダウンします。
この手順により、primary ドメインのシャットダウン、停止、または再起動を行う前に、それらのドメインを確実にクリーンにシャットダウンします。
PCIe エンドポイントデバイスが割り当てられているすべてのドメインを調べるには、ldm list-io コマンドを実行します。このコマンドにより、システムのドメインに割り当てられている PCIe エンドポイントデバイスを一覧表示できます。計画を行うときに、この情報を使用します。このコマンドによる出力の詳細な説明については、ldm(1M) マニュアルページを参照してください。
見つかったそれぞれのドメインについて、ldm stop コマンドを実行してドメインを停止します。
primary ドメインと、PCIe エンドポイントデバイスが割り当てられているドメインの間の、ドメインの依存関係を構成します。
この依存関係により、何かの理由で primary ドメインが再起動したときに、PCIe エンドポイントデバイスを持つドメインが確実に自動的に再起動されます。
それらのドメインはこの依存関係によって強制的にリセットされるため、クリーンなシャットダウンはできません。ただし、依存関係は、手動でシャットダウンされたドメインには影響を及ぼしません。
# ldm set-domain failure-policy=reset primary # ldm set-domain master=primary ldom
以下の手順は、PCIe エンドポイント割り当ての構成の間違いを防ぐために役立ちます。特定のハードウェアのインストールと削除に関するプラットフォーム固有の情報については、お使いのプラットフォームのドキュメントを参照してください。
空のスロットに PCIe カードを取り付ける場合は、作業は必要ありません。この PCIe カードは自動的に、PCIe バスを所有するドメインにより所有されます。
I/O ドメインに新しい PCIe カードを割り当てるには、ldm rm-io コマンドを使用して、まず primary ドメインからカードを削除します。そのあとで、ldm add-io コマンドを使用してカードを I/O ドメインに割り当てます。
PCIe カードがシステムから削除され、primary ドメインに割り当てられるときは、作業は必要ありません。
I/O ドメインに割り当てられている PCIe カードを削除するには、最初に I/O ドメインからデバイスを削除します。そのあとで、システムからデバイスを物理的に取り除く前に、そのデバイスを primary ドメインに追加します。
I/O ドメインに割り当てられている PCIe カードを置き換えるには、新しいカードが DIO 機能でサポートされていることを確認します。
サポートされている場合は、現在の I/O ドメインに新しいカードが自動的に割り当てられ、作業は必要ありません。
サポートされていない場合は、ldm rm-io コマンドを使用して、最初にその PCIe カードを I/O ドメインから削除します。次に ldm add-io コマンドを使用して、その PCIe カードを primary ドメインに再割り当てします。そのあとで、primary ドメインに割り当てた PCIe カードを別の PCIe カードに物理的に置き換えます。これらの手順により、DIO 機能によってサポートされていない構成を回避することができます。
停止時間を最小限に抑えるため、DIO の導入はすべて事前に計画します。
注意 - SPARC T3-1 または SPARC T4-1 システム上の /SYS/MB/SASHBA1 スロットを DIO ドメインに割り当てると、primary ドメインはオンボードの DVD デバイスへのアクセスを失います。 SPARC T3-1 および SPARC T4-1 システムには、オンボードのストレージ用に 2 基の DIO スロットが搭載されており、それらは /SYS/MB/SASHBA0 および /SYS/MB/SASHBA1 パスで表されます。/SYS/MB/SASHBA1 スロットは、複数ヘッドのオンボードのディスクに加え、オンボードの DVD デバイスも収容します。そのため、/SYS/MB/SASHBA1 を DIO ドメインに割り当てると、primary ドメインはオンボードの DVD デバイスへのアクセスを失います。 SPARC T3-2 および SPARC T4-2 システムには 1 つの SASHBA スロットがあり、それにすべてのオンボードのディスクとオンボードの DVD デバイスが収容されます。そのため、SASHBA を DIO ドメインに割り当てると、オンボードのディスクおよびオンボードの DVD デバイスが DIO ドメインに貸し出されるため、primary ドメインには利用できなくなります。 |
PCIe エンドポイントデバイスを追加して I/O ドメインを作成する例については、「PCIe エンドポイントデバイス構成の計画」を参照してください。
注 - 今回のリリースでは、DefaultFixed NCP を使用して、Oracle Solaris 11 システム上にデータリンクおよびネットワークインタフェースを構成することをお勧めします。
Oracle Solaris 11 OSには、次の NCP が含まれています。
DefaultFixed。dladm または ipadm コマンドを使用して、ネットワークを管理できます。
「自動」。netcfg または netadm コマンドを使用して、ネットワークを管理できます。
netadm list コマンドを使用して、DefaultFixed NCP が有効になっていることを確認します。『Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化』の第 7 章「プロファイルでのデータリンクおよびインタフェース構成コマンドの使用」を参照してください。
ldm list-io -l コマンドの出力に、現在の I/O デバイスの構成が表示されます。prtdiag -v コマンドを使用すると、より詳細な情報を得ることができます。
注 - I/O ドメインにデバイスが割り当てられたあとでは、デバイスの ID は I/O ドメインでのみ特定できます。
# ldm list-io -l NAME TYPE DOMAIN STATUS ---- ---- ------ ------ pci_0 BUS primary [pci@400] pci_1 BUS primary [pci@500] PCIE1 PCIE - EMP [pci@400/pci@0/pci@c] PCIE2 PCIE primary OCC [pci@400/pci@0/pci@9] network@0 network@0,1 network@0,2 network@0,3 PCIE3 PCIE primary OCC [pci@400/pci@0/pci@d] SUNW,emlxs/fp/disk SUNW,emlxs@0,1/fp/disk SUNW,emlxs@0,1/fp@0,0 MB/SASHBA PCIE primary OCC [pci@400/pci@0/pci@8] scsi@0/tape scsi@0/disk scsi@0/sd@0,0 scsi@0/sd@1,0 PCIE0 PCIE - EMP [pci@500/pci@0/pci@9] PCIE4 PCIE primary OCC [pci@500/pci@0/pci@d] network@0 network@0,1 PCIE5 PCIE primary OCC [pci@500/pci@0/pci@c] SUNW,qlc@0/fp/disk SUNW,qlc@0/fp@0,0 SUNW,qlc@0,1/fp/disk SUNW,qlc@0,1/fp@0,0 MB/NET0 PCIE primary OCC [pci@500/pci@0/pci@8] network@0 network@0,1 network@0,2 network@0,3
primary# df / / (/dev/dsk/c0t1d0s0 ): 1309384 blocks 457028 files
primary# df / / (rpool/ROOT/s10s_u8wos_08a):245176332 blocks 245176332 files primary# zpool status rpool zpool status rpool pool: rpool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c0t1d0s0 ONLINE 0 0 0
ここでは、例としてブロック型デバイス c0t1d0s0 を使用します。
primary# ls -l /dev/dsk/c0t1d0s0 lrwxrwxrwx 1 root root 49 Jul 20 22:17 /dev/dsk/c0t1d0s0 -> ../../devices/pci@400/pci@0/pci@8/scsi@0/sd@0,0:a
この例で、primary ドメインの起動ディスクに対応する物理デバイスは、手順 1 の MB/SASHBA 一覧に対応する PCIe エンドポイントデバイス (pci@400/pci@0/pci@8) に接続されています。このデバイスを削除すると、primary ドメインがブート不可能になるため、このデバイスを primary ドメインから削除しないでください。
# ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 nxge0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 2 inet 10.6.212.149 netmask fffffe00 broadcast 10.6.213.255 ether 0:21:28:4:27:cc
# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/ipv4 static ok 10.6.212.149/23
次のコマンドでは、nxge0 ネットワークインタフェースを使用します。
primary# ls -l /dev/nxge0 lrwxrwxrwx 1 root root 46 Jul 30 17:29 /dev/nxge0 -> ../devices/pci@500/pci@0/pci@8/network@0:nxge0
この例で、primary ドメインによって使用されるネットワークインタフェースの物理デバイスは、手順 1 の MB/NET0 一覧に対応する PCIe エンドポイントデバイス (pci@500/pci@0/pci@8) に接続されています。そのため、このデバイスを primary ドメインから削除しないでください。他の PCIe デバイスはすべて、primary ドメインで使用されないため、他のドメインに安全に割り当てることができます。
primary ドメインで使用されているネットワークインタフェースが、別のドメインに割り当てようとしているバス上にある場合は、別のネットワークインタフェースを使用するように primary ドメインを再構成する必要があります。
この例では、PCIE2、PCIE3、PCIE4、および PCIE5 エンドポイントデバイスが primary ドメインで使用されないため、これらを削除できます。
注意 - primary ドメインで使用されるデバイス、または必要なデバイスは、削除しないでください。 誤ってデバイスを削除してしまった場合は、ldm cancel-reconf primary コマンドを使用して、primary ドメインでの遅延再構成を取り消します。 |
再起動の繰り返しを避けるために、同時に複数のデバイスを削除できます。
# ldm rm-io PCIE2 primary 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 rm-io PCIE3 primary ------------------------------------------------------------------------------ Notice: The primary domain is in the process of a delayed reconfiguration. Any changes made to the primary domain will only take effect after it reboots. ------------------------------------------------------------------------------ # ldm rm-io PCIE4 primary ------------------------------------------------------------------------------ Notice: The primary domain is in the process of a delayed reconfiguration. Any changes made to the primary domain will only take effect after it reboots. ------------------------------------------------------------------------------ # ldm rm-io PCIE5 primary ------------------------------------------------------------------------------ Notice: The primary domain is in the process of a delayed reconfiguration. Any changes made to the primary domain will only take effect after it reboots. ------------------------------------------------------------------------------
次のコマンドにより、dio という名前のファイルに構成が保存されます。
# ldm add-config dio
# reboot -- -r
# ldm list-io NAME TYPE DOMAIN STATUS ---- ---- ------ ------ pci_0 BUS primary pci_1 BUS primary PCIE1 PCIE - EMP PCIE2 PCIE OCC PCIE3 PCIE OCC MB/SASHBA PCIE primary OCC PCIE0 PCIE - EMP PCIE4 PCIE OCC PCIE5 PCIE OCC MB/NET0 PCIE primary OCC
注 - ldm list-io -l の出力で、削除された PCIe エンドポイントデバイスについて SUNW,assigned-device と表示されることがあります。実際の情報は primary ドメインから取得できなくなりますが、デバイスが割り当てられたドメインにはこの情報が存在しています。
# ldm add-io PCIE2 ldg1
# ldm bind ldg1 # ldm start ldg1 LDom ldg1 started
ネットワークデバイスが使用可能であることを確認してから、ネットワークデバイスをドメインで使用するための構成を行います。
# dladm show-dev vnet0 link: up speed: 0 Mbps duplex: unknown nxge0 link: unknown speed: 0 Mbps duplex: unknown nxge1 link: unknown speed: 0 Mbps duplex: unknown nxge2 link: unknown speed: 0 Mbps duplex: unknown nxge3 link: unknown speed: 0 Mbps duplex: unknown
# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 0 unknown vnet0 net1 Ethernet unknown 0 unknown vsw0 net2 Ethernet unknown 0 unknown nxge0