JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle VM Server for SPARC 2.2 管理指南     Oracle VM Server for SPARC (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分Oracle VM Server for SPARC 2.2 软件

1.  Oracle VM Server for SPARC 软件概述

2.  安装和启用软件

3.  Oracle VM Server for SPARC 安全

4.  设置服务和控制域

5.  设置来宾域

6.  设置 I/O 域

I/O 域概述

创建 I/O 域的一般准则

分配 PCIe 总线

如何通过分配 PCIe 总线创建 I/O 域

分配 PCIe 端点设备

直接 I/O 硬件和软件要求

当前直接 I/O 功能限制

规划 PCIe 端点设备配置

重新引导 primary

更改 PCIe 硬件

如何通过分配 PCIe 端点设备创建 I/O 域

使用 PCIe SR-IOV 虚拟功能

SR-IOV 概述

SR-IOV 硬件和软件要求

当前的 SR-IOV 功能限制

PCIe SR-IOV 虚拟功能的使用计划

创建、修改和销毁虚拟功能

如何创建虚拟功能

如何修改虚拟功能

如何销毁虚拟功能

在 I/O 域中添加和删除虚拟功能

如何将虚拟功能添加到 I/O 域

如何从 I/O 域删除虚拟功能

SR-IOV:重新引导 primary

使用 SR-IOV 虚拟功能创建 I/O 域

如何通过向其分配 SR-IOV 虚拟功能来创建 I/O 域

高级 SR-IOV 主题

SR-IOV 特定于设备的属性

虚拟功能的高级网络配置

7.  使用虚拟磁盘

8.  使用虚拟网络

9.  迁移域

10.  管理资源

11.  管理域配置

12.  执行其他管理任务

第 2 部分可选的 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 管理信息库软件

16.  Logical Domains Manager 发现

17.  将 XML 接口与 Logical Domains Manager 结合使用

词汇表

索引

分配 PCIe 总线

可以使用 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 域

image:该图显示了如何将 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 总线都归其所有。

如何通过分配 PCIe 总线创建 I/O 域

此示例过程演示如何从初始配置创建 I/O 域,其中,几个总线归 primary 域所有。默认情况下,系统上的所有总线都归 primary 域所有。此示例适用于 Sun SPARC Enterprise T5440 服务器。在其他服务器上也可以使用此过程。虽然面向其他服务器的说明可能与这些说明稍有不同,但是您可以通过此处的示例了解基本原则。

首先,必须保留具有 primary 域的引导磁盘的总线。然后,将另一个总线从 primary 域删除并将其分配到另一个域。


注意

注意 - 在支持的服务器上,所有的内部磁盘都可以连接到一个 PCIe 总线。如果域从内部磁盘进行引导,请不要将该总线从域中删除。此外,请确保没有删除具有由域使用的设备(例如网络接口)的总线。如果错误地删除了总线,则域可能将无法访问所需的设备并变为不可用。要删除具有由域使用的设备的总线,请重新配置该域,以使用其他总线的设备。例如,可能需要重新配置该域,以使用其他板载网络端口或其他 PCIe 插槽中的 PCIe 卡。


在此示例中,primary 域仅使用 ZFS 池 (rpool (c0t1d0s0)) 和网络接口 (nxge0)。如果 primary 域使用多个设备,请对每个设备重复步骤 2 到步骤 4,以确保没有设备位于将要删除的总线上。

  1. 检验 primary 域是否拥有多个 PCIe 总线。
    primary# ldm list-io
    NAME                                      TYPE   DOMAIN   STATUS
    ----                                      ----   ------   ------
    pci_0                                     BUS    primary  
    pci_1                                     BUS    primary  
    pci_2                                     BUS    primary  
    pci_3                                     BUS    primary  
    MB/PCIE0                                  PCIE   -        EMP
    MB/PCIE1                                  PCIE   primary  OCC
    MB/HBA                                    PCIE   primary  OCC
    MB/PCIE4                                  PCIE   -        EMP
    MB/PCIE5                                  PCIE   -        EMP
    MB/XAUI1                                  PCIE   primary  OCC
    MB/PCIE2                                  PCIE   primary  OCC
    MB/PCIE3                                  PCIE   primary  OCC
    MB/PCIE6                                  PCIE   primary  OCC
    MB/PCIE7                                  PCIE   -        EMP
  2. 确定需要保留的引导磁盘的设备路径。
    • 对于 UFS 文件系统,请运行 df / 命令,以确定引导磁盘的设备路径。
      primary# df /
      /                  (/dev/dsk/c0t1d0s0 ): 1309384 blocks   457028 files
    • 对于 ZFS 文件系统,首先运行 df / 命令以确定池名称,然后运行 zpool status 命令以确定引导磁盘的设备路径。
      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
  3. 确定块设备连接到的物理设备。

    以下示例使用块设备 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) 分配到其他域。

  4. 确定由系统使用的网络接口。
    • Oracle Solaris 10。运行以下命令:
      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
    • Oracle Solaris 11。运行以下命令:
      primary# dladm show-phys
      LINK              MEDIA                STATE      SPEED  DUPLEX    DEVICE
      net0              Ethernet             unknown    0      unknown   vnet0
      net1              Ethernet             up         1000   full      vsw0
      net2              Ethernet             up         1000   full      nxge0

    处于 unknown 状态的接口尚未配置,因此未使用。在此示例中,使用了 nxge0 接口。

  5. 确定网络接口连接到的物理设备。

    以下命令使用 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 域以使用其他网络接口。

  6. 将不包含引导磁盘或网络接口的总线从 primary 域删除。

    在此示例中,总线 pci_2 和总线 pci_3 将从 primary 域删除。可能会在 ldm 命令中看到消息,指示 primary 域正进入延迟重新配置模式。

    primary# ldm remove-io pci_2 primary
    primary# ldm remove-io pci_3 primary
  7. 将此配置保存到服务处理器。

    在此示例中,配置为 io-domain

    primary# ldm add-config io-domain

    此配置 io-domain 还设置为重新引导后要使用的下一个配置。


    注 - 当前,UltraSPARC T2 和 UltraSPARC T2 Plus 系统的 SP 中可以保存的配置不能超过八个,其中不包括 factory-default 配置。在 SPARC T3 和 SPARC T4 系统中,有 10 MB 的空间可用于存储配置。保存配置的总数取决于存储在 SP 中的每个配置的大小。


  8. 重新引导 primary 域,以使更改生效。
    primary# shutdown -i6 -g0 -y
  9. 停止要向其中添加 PCIe 总线的域。

    以下示例停止了 ldg1 域:

    primary# ldm stop ldg1
  10. 将可用总线添加到需要直接访问的域。

    可用总线为 pci_2,域为 ldg1

    primary# ldm add-io pci_2 ldg1
  11. 重新启动该域,以使更改生效。

    以下命令可重新启动 ldg1 域:

    primary# ldm start ldg1
  12. 确认仍然为 primary 域分配了相应的总线,并为 ldg1 域分配了相应的总线。
    primary# ldm list-io
    NAME                                      TYPE   DOMAIN   STATUS
    ----                                      ----   ------   ------
    pci_0                                     BUS    primary  
    pci_1                                     BUS    primary  
    pci_2                                     BUS    ldg1
    pci_3                                     BUS    
    MB/PCIE0                                  PCIE   -        EMP
    MB/PCIE1                                  PCIE   primary  OCC
    MB/HBA                                    PCIE   primary  OCC
    MB/PCIE4                                  PCIE   -        EMP
    MB/PCIE5                                  PCIE   -        EMP
    MB/XAUI1                                  PCIE   primary  OCC
    MB/PCIE2                                  PCIE   -        UNK
    MB/PCIE3                                  PCIE   -        UNK
    MB/PCIE6                                  PCIE   -        UNK
    MB/PCIE7                                  PCIE   -        UNK

    此输出确认已将 PCIe 总线 pci_0pci_1 及其下的设备分配到 primary 域,已将 pci_2 及其设备分配到 ldg1