1. Oracle VM Server for SPARC 软件概述
A. Oracle VM Server for SPARC 物理机到虚拟机转换工具
B. Oracle VM Server for SPARC Configuration Assistant
D. 将 XML 接口与 Logical Domains Manager 结合使用
可以使用 Oracle VM Server for SPARC 软件将完整的 PCIe 总线(也称为根联合体)分配到域。完整 PCIe 总线由 PCIe 总线本身及其所有 PCI 交换机和设备组成。服务器上的 PCIe 总线使用名称标识,例如 pci@400 (pci_0)。配置有完整 PCIe 总线的 I/O 域也称为根域。
下图显示了具有两个 PCIe 总线 (pci_0 and pci_1) 的系统。每个总线分配到不同的域。这样,系统就配置有两个 I/O 域。
图 6-1 将 PCIe 总线分配到 I/O 域
使用 PCIe 总线可以创建的最大 I/O 域数取决于服务器上可用的 PCIe 总线数。例如,如果使用 Sun SPARC Enterprise T5440 服务器,您最多可以有四个 I/O 域。
注 - 一些 Sun UltraSPARC 服务器只有一个 PCIe 总线。这种情况下,您可以通过将 PCIe 端点(或可分配的直接 I/O)设备分配到域来创建 I/O 域。请参见分配 PCIe 端点设备。如果系统具有网络接口单元 (Network Interface Unit, NIU),也可以通过将 NIU 分配到域来创建 I/O 域。
将 PCIe 总线分配到 I/O 域时,该总线上的所有设备都归该 I/O 域所有。不允许将该总线上的任何 PCIe 端点设备分配到其他域。只可以将 PCIe 上已分配到 primary 域的 PCIe 端点设备分配到其他域。
在 Logical Domains 环境中最初配置服务器或使用 factory-default 配置时,primary 域可访问所有物理设备资源。这意味着 primary 域是系统上配置的唯一 I/O 域,所有 PCIe 总线都归其所有。
此示例过程演示如何从初始配置创建 I/O 域,其中,几个总线归 primary 域所有。默认情况下,系统上的所有总线都归 primary 域所有。此示例适用于 Sun SPARC Enterprise T5440 服务器。在其他服务器上也可以使用此过程。虽然面向其他服务器的说明可能与这些说明稍有不同,但是您可以通过此处的示例了解基本原则。
首先,必须保留具有 primary 域的引导磁盘的总线。然后,将另一个总线从 primary 域删除并将其分配到另一个域。
![]() | 注意 - 在支持的服务器上,所有内部磁盘都连接到一个 PCIe 总线。如果域从内部磁盘进行引导,请不要将该总线从域中删除。此外,请确保没有删除具有由域使用的设备(例如网络接口)的总线。如果错误地删除了总线,则域可能将无法访问所需的设备并变为不可用。要删除具有由域使用的设备的总线,请重新配置该域,以使用其他总线的设备。例如,可能需要重新配置该域,以使用其他板载网络端口或其他 PCIe 插槽中的 PCIe 卡。 |
在此示例中,primary 域仅使用 ZFS 池 (rpool (c0t1d0s0)) 和网络接口 (nxge0)。如果 primary 域使用多个设备,请对每个设备重复步骤 2 到步骤 4,以确保没有设备位于将要删除的总线上。
primary# ldm list-io IO PSEUDONYM DOMAIN -- --------- ------ pci@400 pci_0 primary pci@500 pci_1 primary pci@600 pci_2 primary pci@700 pci_3 primary PCIE PSEUDONYM STATUS DOMAIN ---- --------- ------ ------ pci@400/pci@0/pci@d MB/PCIE0 EMP - pci@400/pci@0/pci@c MB/PCIE1 OCC primary pci@400/pci@0/pci@1 MB/HBA OCC primary pci@500/pci@0/pci@d MB/PCIE4 EMP - pci@500/pci@0/pci@9 MB/PCIE5 EMP - pci@500/pci@0/pci@c MB/NET0 OCC primary pci@600/pci@0/pci@c MB/PCIE2 OCC primary pci@600/pci@0/pci@9 MB/PCIE3 OCC primary pci@700/pci@0/pci@c MB/PCIE6 OCC primary pci@700/pci@0/pci@9 MB/PCIE7 EMP -
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
以下示例使用块设备 c1t0d0s0:
primary# ls -l /dev/dsk/c0t1d0s0 lrwxrwxrwx 1 root root 49 Oct 1 10:39 /dev/dsk/c0t1d0s0 -> ../../devices/pci@400/pci@0/pci@1/scsi@0/sd@1,0:a
在此示例中,域 primary 的引导磁盘的物理设备连接到总线 pci@400,该总线对应于前面列出的 pci_0。这意味着您无法将 pci_0 (pci@400) 分配到其他域。
primary# dladm show-dev vsw0 link: up speed: 1000 Mbps duplex: full nxge0 link: up speed: 1000 Mbps duplex: full nxge1 link: unknown speed: 0 Mbps duplex: unknown nxge2 link: unknown speed: 0 Mbps duplex: unknown nxge3 link: unknown speed: 0 Mbps duplex: unknown
处于 unknown 状态的接口尚未配置,因此未使用。在此示例中,使用了 nxge0 接口。
以下命令使用 nxge0 网络接口:
primary# ls -l /dev/nxge0 lrwxrwxrwx 1 root root 46 Oct 1 10:39 /dev/nxge0 -> ../devices/pci@500/pci@0/pci@c/network@0:nxge0
在此示例中,域 primary 使用的网络接口的物理设备位于总线 pci@500 下,该总线对应于前面列出的 pci_1。这样,由于其他两个总线 pci_2 (pci@600) 和 pci_3 (pci@700) 未被 primary 域使用,因此可以将它们安全地分配到其他域。
如果 primary 域使用的网络接口位于您要分配到另一个域的总线上,则需要重新配置 primary 域以使用其他网络接口。
在此示例中,总线 pci_2 和总线 pci_3 将从 primary 域删除。可能会在 ldm 命令中看到消息,指示 primary 域正进入延迟重新配置模式。
primary# ldm remove-io pci_2 primary primary# ldm remove-io pci_3 primary
在此示例中,配置为 io-domain。
primary# ldm add-config io-domain
此配置 io-domain 还设置为重新引导后要使用的下一个配置。
注 - 目前,SP 上可以保存的配置数限制为 8 个,不包括 factory-default 配置。
primary# shutdown -i6 -g0 -y
以下示例停止了 ldg1 域:
primary# ldm stop ldg1
可用总线为 pci_2,域为 ldg1。
primary# ldm add-io pci_2 ldg1
以下命令可重新启动 ldg1 域:
primary# ldm start ldg1
primary# ldm list-io IO PSEUDONYM DOMAIN -- --------- ------ pci@400 pci_0 primary pci@500 pci_1 primary pci@600 pci_2 ldg1 pci@700 pci_3 PCIE PSEUDONYM STATUS DOMAIN ---- --------- ------ ------ pci@400/pci@0/pci@d MB/PCIE0 EMP - pci@400/pci@0/pci@c MB/PCIE1 OCC primary pci@400/pci@0/pci@1 MB/HBA OCC primary pci@500/pci@0/pci@d MB/PCIE4 EMP - pci@500/pci@0/pci@9 MB/PCIE5 EMP - pci@500/pci@0/pci@c MB/NET0 OCC primary pci@600/pci@0/pci@c MB/PCIE2 UNK - pci@600/pci@0/pci@9 MB/PCIE3 UNK - pci@700/pci@0/pci@c MB/PCIE6 UNK - pci@700/pci@0/pci@9 MB/PCIE7 UNK -
此输出确认已将 PCIe 总线 pci_0 和 pci_1 及其下的设备分配到 primary 域,已将 pci_2 及其设备分配到 ldg1。