JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle® VM Server for SPARC 3.1 管理指南
Oracle 技术网
文档库
PDF
打印视图
反馈
search filter icon
search icon

文档信息

使用本文档

第 I 部分 Oracle VM Server for SPARC 3.1 软件

第 1 章 Oracle VM Server for SPARC 软件概述

关于 Oracle VM Server for SPARC 和 Oracle Solaris OS 版本

虚拟机管理程序和 Logical Domains

Logical Domains Manager

域的角色

命令行界面

虚拟输入/输出

虚拟网络

虚拟存储

虚拟控制台

资源配置

持久性配置

Oracle VM Server for SPARC 物理机到虚拟机转换工具

Oracle VM Server for SPARC Configuration Assistant

Oracle VM Server for SPARC 管理信息库

第 2 章 安装和启用软件

必需的 Oracle VM Server for SPARC 软件组件

在新系统上安装 Oracle VM Server for SPARC 软件

更新 Oracle Solaris OS

升级系统固件

下载 Logical Domains Manager

如何下载 Logical Domains Manager 软件 (Oracle Solaris 10)

安装 Logical Domains Manager

自动安装 Logical Domains Manager 软件 (Oracle Solaris 10)

手动安装 Logical Domains Manager 软件

如何手动安装 Oracle VM Server for SPARC 3.1 软件 (Oracle Solaris 10)

启用 Logical Domains Manager 守护进程

如何启用 Logical Domains Manager 守护进程

升级已使用 Oracle VM Server for SPARC 的系统

升级 Oracle Solaris OS

保存和恢复自动保存配置目录

如何保存和恢复自动保存目录

保存和恢复 Logical Domains 约束数据库文件

使用 Oracle Solaris 10 Live Upgrade 功能时保留 Logical Domains 约束数据库文件

升级 Logical Domains Manager 和系统固件

如何停止平台上运行的所有域(控制域除外)

升级至 Oracle VM Server for SPARC 3.1 软件

如何升级至 Oracle VM Server for SPARC 3.1 软件 (Oracle Solaris 10)

如何升级至 Oracle VM Server for SPARC 3.1 软件 (Oracle Solaris 11)

出厂默认配置和禁用域

如何删除所有来宾域

如何删除所有域配置

如何恢复出厂默认配置

如何禁用 Logical Domains Manager

如何删除 Logical Domains Manager

如何从服务处理器恢复出厂默认配置

第 3 章 Oracle VM Server for SPARC 安全

通过使用权限委托管理逻辑域

使用权限配置文件和角色

管理用户权限配置文件

如何将权限配置文件分配给用户

给用户分配角色

如何创建角色并将该角色分配给用户

Logical Domains Manager 权限配置文件内容

通过使用权限控制对域控制台的访问

如何使用角色控制对所有域控制台的访问

如何使用权限配置文件控制对所有域控制台的访问

如何使用角色控制对单一控制台的访问

如何使用权限配置文件控制对单个控制台的访问

启用并使用审计

如何启用审计

如何禁用审计

如何查看审计记录

如何轮转审计日志

使用域控制台日志记录

如何启用或禁用控制台日志记录

域控制台日志记录的服务域要求

第 4 章 设置服务和控制域

输出消息

创建默认服务

如何创建默认服务

控制域的初始配置

如何配置控制域

重新引导以使用域

如何重新引导

启用控制/服务域与其他域之间的联网

如何将虚拟交换机配置为主接口

启用虚拟网络终端服务器守护进程

如何启用虚拟网络终端服务器守护进程

第 5 章 设置来宾域

创建和启动来宾域

如何创建和启动来宾域

在来宾域上安装 Oracle Solaris OS

如何通过 DVD 在来宾域上安装 Oracle Solaris OS

如何通过 Oracle Solaris ISO 文件在来宾域上安装 Oracle Solaris OS

如何在 Oracle Solaris 10 来宾域上使用 Oracle Solaris JumpStart 功能

第 6 章 设置 I/O 域

I/O 域概述

创建 I/O 域的一般准则

通过分配 PCIe 总线创建根域

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

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

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

当前直接 I/O 功能限制

规划 PCIe 端点设备配置

重新引导根域

更改 PCIe 硬件

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

通过分配 PCIe SR-IOV 虚拟功能创建 I/O 域

SR-IOV 概述

SR-IOV 硬件和软件要求

当前的 SR-IOV 功能限制

静态 SR-IOV

静态 SR-IOV 软件要求

动态 SR-IOV

动态 SR-IOV 软件要求

动态 SR-IOV 配置要求

启用 I/O 虚拟化

如何对 PCIe 总线启用 I/O 虚拟化

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

使用以太网 SR-IOV 虚拟功能

以太网 SR-IOV 硬件要求

以太网 SR-IOV 限制

规划以太网 SR-IOV 虚拟功能的使用

特定于以太网设备和特定于网络的属性

创建以太网虚拟功能

如何创建以太网 SR-IOV 虚拟功能

销毁以太网虚拟功能

如何销毁以太网 SR-IOV 虚拟功能

修改以太网 SR-IOV 虚拟功能

如何修改以太网 SR-IOV 虚拟功能

在 I/O 域中添加和删除以太网 SR-IOV 虚拟功能

如何向 I/O 域添加以太网 SR-IOV 虚拟功能

如何从 I/O 域删除以太网 SR-IOV 虚拟功能

高级 SR-IOV 主题:以太网 SR-IOV

虚拟功能的高级网络配置

使用 SR-IOV 虚拟功能引导 I/O 域

SR-IOV 特定于设备的属性

在 SR-IOV 虚拟功能上创建 VNIC

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

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

使用 InfiniBand SR-IOV 虚拟功能

InfiniBand SR-IOV 硬件要求

创建和销毁 InfiniBand 虚拟功能

如何创建 InfiniBand 虚拟功能

如何销毁 InfiniBand 虚拟功能

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

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

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

在根域中添加和删除 InfiniBand 虚拟功能

如何将 InfiniBand 虚拟功能添加到根域

如何从根域删除 InfiniBand 虚拟功能

高级 SR-IOV 主题:InfiniBand SR-IOV

列出 InfiniBand SR-IOV 虚拟功能

确定 InfiniBand SR-IOV 功能

使用光纤通道 SR-IOV 虚拟功能

光纤通道 SR-IOV 硬件要求

光纤通道 SR-IOV 要求和限制

特定于光纤通道设备类的属性

光纤通道虚拟功能的全球名称分配

创建光纤通道 SR-IOV 虚拟功能

如何创建光纤通道 SR-IOV 虚拟功能

销毁光纤通道 SR-IOV 虚拟功能

如何销毁光纤通道 SR-IOV 虚拟功能

修改光纤通道 SR-IOV 虚拟功能

如何修改光纤通道 SR-IOV 虚拟功能

在 I/O 域中添加和删除光纤通道 SR-IOV 虚拟功能

如何向 I/O 域添加光纤通道 SR-IOV 虚拟功能

如何从 I/O 域中删除光纤通道 SR-IOV 虚拟功能

高级 SR-IOV 主题:光纤通道 SR-IOV

在来宾域中访问光纤通道虚拟功能

SR-IOV:重新引导根域

使用非 primary 根域

非 primary 根域要求

非 primary 根域限制

为 PCIe 总线启用 I/O 虚拟化

在非 primary 根域上管理直接 I/O 设备

在非 primary 根域上管理 SR-IOV 虚拟功能

第 7 章 使用虚拟磁盘

虚拟磁盘简介

虚拟磁盘标识符和设备名称

管理虚拟磁盘

如何添加虚拟磁盘

如何多次导出虚拟磁盘后端

如何更改虚拟磁盘选项

如何更改超时选项

如何删除虚拟磁盘

虚拟磁盘外观

完整磁盘

单分片磁盘

虚拟磁盘后端选项

只读 (ro) 选项

独占 (excl) 选项

分片 (slice) 选项

虚拟磁盘后端

物理磁盘或磁盘 LUN

如何将物理磁盘作为虚拟磁盘导出

物理磁盘分片

如何将物理磁盘分片作为虚拟磁盘导出

如何导出分片 2

文件和卷导出

文件或卷作为完整磁盘导出

如何将文件作为完整磁盘导出

如何将 ZFS 卷作为完整磁盘导出

文件或卷作为具有单个分片的磁盘导出

如何将 ZFS 卷作为具有单个分片的磁盘导出

导出卷以及向后兼容性

不同类型的后端的导出方式汇总

将文件和磁盘分片作为虚拟磁盘导出的准则

使用回送文件 (lofi) 驱动程序

直接或间接导出磁盘分片

配置虚拟磁盘多路径

虚拟磁盘多路径和虚拟磁盘超时

如何配置虚拟磁盘多路径

CD、DVD 和 ISO 映像

如何将 CD 或 DVD 从服务域导出到来宾域

如何从控制域导出 ISO 映像以安装来宾域

虚拟磁盘超时

虚拟磁盘和 SCSI

虚拟磁盘和 format 命令

将 ZFS 用于虚拟磁盘

在服务域中配置 ZFS 池

使用 ZFS 存储磁盘映像

使用 ZFS 存储磁盘映像的示例

创建磁盘映像的快照

使用克隆置备新域

克隆引导磁盘映像

如何创建未配置系统的磁盘映像的快照

在 Oracle VM Server for SPARC 环境中使用卷管理器

通过卷管理器使用虚拟磁盘

通过 Solaris Volume Manager 使用虚拟磁盘

在安装了 VxVM 的情况下使用虚拟磁盘

将卷管理器用于虚拟磁盘

将 ZFS 用于虚拟磁盘

将 Solaris Volume Manager 用于虚拟磁盘

将 VxVM 用于虚拟磁盘

第 8 章 使用虚拟网络

虚拟网络简介

Oracle Solaris 10 联网概述

Oracle Solaris 11 联网概述

最大程度地提高虚拟网络性能

硬件和软件要求

对域进行配置以最大程度地提高虚拟网络的性能

虚拟交换机

虚拟网络设备

Inter-Vnet LDC 通道

控制由虚拟网络设备使用的物理网络带宽量

网络带宽限制

设置网络带宽限制

虚拟设备标识符和网络接口名称

如何查找 Oracle Solaris OS 网络接口名称

自动或手动分配 MAC 地址

分配给域的 MAC 地址范围

自动分配算法

检测重复的 MAC 地址

释放的 MAC 地址

将网络适配器和域结合使用

如何确定网络适配器是否符合 GLDv3 (Oracle Solaris 10)

针对 NAT 和路由配置虚拟交换机和服务域

在 Oracle Solaris 10 系统上配置 NAT

如何设置虚拟交换机以为域提供外部连接 (Oracle Solaris 10)

在 Oracle Solaris 11 系统上配置 NAT

如何设置虚拟交换机以为域提供外部连接 (Oracle Solaris 11)

在 Oracle VM Server for SPARC 环境中配置 IPMP

在域中将虚拟网络设备配置到 IPMP 组中

在服务域中配置并使用 IPMP

在 Oracle VM Server for SPARC 虚拟网络中使用基于链路的 IPMP

如何配置物理链路状态更新

在 Logical Domains 1.3 之前的发行版中配置并使用 IPMP

在来宾域中配置 IPMP

在服务域中配置 IPMP

如何为基于探测的 IPMP 配置主机路由

使用 VLAN 标记

端口 VLAN ID

VLAN ID

如何为虚拟交换机和虚拟网络设备分配 VLAN

如何在安装服务器位于 VLAN 中时安装来宾域

使用私有 VLAN

PVLAN 配置信息

创建和删除 PVLAN

创建 PVLAN

删除 PVLAN

查看 PVLAN 信息

使用 NIU 混合 I/O

如何配置虚拟交换机和 NIU 网络设备

如何启用或禁用混合模式

将链路聚合和虚拟交换机结合使用

配置巨型帧

如何配置虚拟网络和虚拟交换机设备以使用巨型帧

与 vnet 和 vsw 驱动程序的早期(不识别巨型帧)版本的兼容性 (Oracle Solaris 10)

Oracle Solaris 11 中联网特定功能的差别

第 9 章 迁移域

域迁移介绍

迁移操作概述

软件兼容性

迁移操作安全性

迁移域

执行模拟运行

执行非交互式迁移

迁移活动域

CPU 的域迁移要求

内存的迁移要求

物理 I/O 设备的迁移要求

虚拟 I/O 设备的迁移要求

PCIe 端点设备的迁移要求

PCIe SR-IOV 虚拟功能的迁移要求

NIU 混合 I/O 的迁移要求

加密单元的迁移要求

活动域中的延迟重新配置

在活动域具有有效的电源管理弹性策略的情况下迁移

对其他域的操作

迁移 OpenBoot PROM 中的域或在内核调试器中运行的域

迁移绑定域或非活动域

虚拟 I/O 设备的迁移要求

PCIe 端点设备的迁移要求

PCIe SR-IOV 虚拟功能的迁移要求

监视正在进行的迁移

取消正在进行的迁移

从失败的迁移中恢复

迁移示例

第 10 章 管理资源

资源重新配置

动态重新配置

延迟重新配置

资源分配

CPU 分配

如何应用整体核心约束

如何应用最大核心数约束

整体核心约束和其他域功能之间的交互作用

CPU 动态重新配置

动态资源管理

为系统配置硬分区

检查域配置

为域配置 CPU 整体核心

如何创建具有 CPU 整体核心的新域

如何为现有域配置 CPU 整体核心

如何为 Primary 域配置 CPU 整体核心

硬分区系统与其他 Oracle VM Server for SPARC 功能之间的交互

CPU 动态重新配置

CPU 动态资源管理

电源管理

域重新引导或重新绑定

为域分配物理资源

如何删除 physical-bindings 约束

如何删除所有非物理绑定资源

管理控制域上的物理资源

针对管理域上物理资源的限制

使用内存动态重新配置

添加内存

删除内存

部分内存 DR 请求

重新配置控制域内存

减少控制域的内存

动态重新配置和延迟重新配置

内存对齐

活动域的内存对齐

绑定域的内存对齐

非活动域的内存对齐

添加未对齐的内存

内存 DR 示例

使用电源管理

使用动态资源管理

列出域资源

计算机可读的输出

标志定义

利用率统计信息定义

查看各种列表

列出约束

第 11 章 管理域配置

管理域配置

可用配置恢复方法

使用自动保存恢复配置

自动恢复策略

如何修改自动恢复策略

保存域配置

恢复域配置

如何从 XML 文件恢复域配置 (ldm add-domain)

如何从 XML 文件恢复域配置 (ldm init-system)

第 12 章 处理硬件错误

硬件错误处理概述

使用 FMA 将有故障的资源列入黑名单或取消其配置

在检测到有故障的资源或缺少的资源后恢复域

降级配置

启用恢复模式

将域标记为已降级

将 I/O 资源标记为已清除

第 13 章 执行其他管理任务

在 CLI 中输入名称

通过网络连接到来宾控制台

使用控制台组

如何将多个控制台组成一个组

停止高负载的域会超时

操作具有 Oracle VM Server for SPARC 的 Oracle Solaris OS

Oracle Solaris OS 启动后 OpenBoot 固件不可用

执行服务器关开机循环

在 Oracle Solaris OS 中发生中断的结果

停止或重新引导控制域的结果

将 Oracle VM Server for SPARC 与服务处理器结合使用

配置域依赖关系

域依赖关系示例

依赖关系循环

通过映射 CPU 和内存地址来确定出错位置

CPU 映射

内存映射

CPU 和内存映射示例

使用通用唯一标识符

虚拟域信息命令和 API

使用逻辑域通道

第 II 部分 可选的 Oracle VM Server for SPARC 软件

词汇表

索引

使用以太网 SR-IOV 虚拟功能

您可以同时使用静态和动态 SR-IOV 方法管理以太网 SR-IOV 设备。

以太网 SR-IOV 硬件要求

有关所需 PCIe 以太网 SR-IOV 硬件的信息,请参见Oracle VM Server for SPARC 3.1.1.1、3.1.1 和 3.1 发行说明 中的PCIe SR-IOV 硬件和软件要求

以太网 SR-IOV 限制

您可以通过设置 pvid 或 vid 属性启用虚拟功能的 VLAN 配置。您不能同时设置这两个虚拟功能属性。

规划以太网 SR-IOV 虚拟功能的使用

动态创建虚拟功能时,请确保物理功能使用多路径或未被激活。

如果无法使用多路径或必须激活物理功能,请使用静态方法创建虚拟功能。请参见静态 SR-IOV

特定于以太网设备和特定于网络的属性

使用 ldm create-vf 命令可设置特定于设备和特定于网络的虚拟功能属性。unicast-slots 属性是特定于设备的属性。mac-addr、alt-mac-addrs、mtu、pvid 和 vid 属性是特定于网络的属性。

请注意,只有在将虚拟功能分配到处于延迟重新配置状态的 primary 域时,才能更改特定于网络的属性 mac-addr、alt-mac-addrs 和 mtu。

pvid 和 vid 特定于网络的属性可以随意更改,没有任何限制。

创建以太网虚拟功能

本节介绍如何动态创建和销毁虚拟功能。如果无法使用动态方法来执行这些操作,请在创建或销毁虚拟功能之前在根域上启动延迟重新配置。

如何创建以太网 SR-IOV 虚拟功能

如果无法使用此动态方法,请改用静态方法。请参见静态 SR-IOV

  1. 确定物理功能设备。
    primary# ldm list-io

    请注意,物理功能的名称包括 PCIe SR-IOV 卡或板载设备的位置信息。

  2. 如果具有物理功能的总线尚未启用 I/O 虚拟化,请启用它。

    请只有在未对具有物理功能的总线启用 I/O 虚拟化时才执行此步骤。

    请参见如何对 PCIe 总线启用 I/O 虚拟化

  3. 基于以太网物理功能用动态或静态方法创建单个虚拟功能或多个虚拟功能。

    在创建一个或多个虚拟功能后,您可以将其分配给来宾域。

    • 动态方法:
      • 要基于一个物理功能同时创建多个虚拟功能,请使用以下命令:
        primary# ldm create-vf -n number | max pf-name

        使用 ldm create-vf -n max 命令可一次创建该物理功能的所有虚拟功能。


        Caution

        注意  - 系统使用 Intel 10-G 以太网卡时,基于每个物理功能创建的虚拟功能请勿超过 31 个,以便最大程度地提高性能。


        您可以使用路径名称或 pseudonym 名称指定虚拟功能。但是,建议做法是使用 pseudonym 名称。

      • 要基于一个物理功能创建一个虚拟功能,请使用以下命令:
        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 地址,则会自动分配 MAC 地址。

        使用此命令可为该物理功能创建一个虚拟功能。您还可以手动指定特定于光纤通道类的属性值。

    • 静态方法:
      1. 启动延迟重新配置。
        primary# ldm start-reconf root-domain-name
      2. 基于以太网物理功能创建单个虚拟功能或多个虚拟功能。

        使用如前所示的相同命令动态创建虚拟功能。

      3. 重新引导根域。
        • 要重新引导非 primary 根域,请使用以下命令:
          primary# ldm stop-domain -r root-domain
        • 要重新引导 primary 根域,请使用以下命令:
          primary# shutdown -i6 -g0 -y
示例 6-2  显示有关以太网物理功能的信息

此示例显示了有关 /SYS/MB/NET0/IOVNET.PF0 物理功能的信息:

primary# ldm list-io
NAME                                      TYPE   BUS      DOMAIN   STATUS   
----                                      ----   ---      ------   ------   
niu_0                                     NIU    niu_0    primary           
niu_1                                     NIU    niu_1    primary           
pci_0                                     BUS    pci_0    primary  
pci_1                                     BUS    pci_1    primary  
/SYS/MB/PCIE0                             PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE2                             PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE4                             PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE6                             PCIE   pci_0    primary  EMP      
/SYS/MB/PCIE8                             PCIE   pci_0    primary  EMP      
/SYS/MB/SASHBA                            PCIE   pci_0    primary  OCC      
/SYS/MB/NET0                              PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE1                             PCIE   pci_1    primary  OCC      
/SYS/MB/PCIE3                             PCIE   pci_1    primary  OCC      
/SYS/MB/PCIE5                             PCIE   pci_1    primary  OCC      
/SYS/MB/PCIE7                             PCIE   pci_1    primary  EMP      
/SYS/MB/PCIE9                             PCIE   pci_1    primary  EMP      
/SYS/MB/NET2                              PCIE   pci_1    primary  OCC      
/SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary
/SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary
/SYS/MB/PCIE5/IOVNET.PF0                  PF     pci_1    primary
/SYS/MB/PCIE5/IOVNET.PF1                  PF     pci_1    primary
/SYS/MB/NET2/IOVNET.PF0                   PF     pci_1    primary
/SYS/MB/NET2/IOVNET.PF1                   PF     pci_1    primary

以下命令显示有关指定物理功能的更多详细信息。maxvfs 值表示设备支持的虚拟功能最大数量。

primary# ldm list-io -l /SYS/MB/NET0/IOVNET.PF0
NAME                                      TYPE   BUS      DOMAIN   STATUS   
----                                      ----   ---      ------   ------   
/SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary           
[pci@400/pci@1/pci@0/pci@4/network@0]
    maxvfs = 7
示例 6-3  动态创建以太网虚拟功能而不设置可选属性

此示例会动态创建一个虚拟功能,而不设置任何可选属性。在这种情况下,自动为网络级虚拟功能分配 MAC 地址。

确保已对 pci_0 PCIe 总线启用 I/O 虚拟化。请参见如何对 PCIe 总线启用 I/O 虚拟化

现在,您可以使用 ldm create-vf 命令从 /SYS/MB/NET0/IOVNET.PF0 物理功能创建虚拟功能。

primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0
Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0
示例 6-4  动态创建以太网虚拟功能并设置属性

此示例会动态创建虚拟功能,并将 mac-addr 属性设置为 00:14:2f:f9:14:c0,以及将 vid 属性设置为 VLAN ID 23

primary# ldm create-vf mac-addr=00:14:2f:f9:14:c0 vid=2,3 /SYS/MB/NET0/IOVNET.PF0
示例 6-5  动态创建具有两个备用 MAC 地址的以太网虚拟功能

此示例会动态创建一个具有两个备用 MAC 地址的虚拟功能。一个 MAC 地址是自动分配的,另一个则显式指定为 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
示例 6-6  静态创建虚拟功能而不设置可选属性

此示例会静态创建一个虚拟功能,而不设置任何可选属性。在这种情况下,自动为网络级虚拟功能分配 MAC 地址。

首先,在 primary 域上启动延迟重新配置,然后,在 pci_0 PCIe 总线上启用 I/O 虚拟化。由于已将 pci_0 总线分配到 primary 根域,因此,请使用 ldm set-io 命令启用 I/O 虚拟化。

primary# ldm start-reconf 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.

primary# ldm set-io iov=on pci_0

现在,您可以使用 ldm create-vf 命令从 /SYS/MB/NET0/IOVNET.PF0 物理功能创建虚拟功能。

primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0

------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------

Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0

最后,重新引导 primary 根域以使更改生效。

primary# shutdown -i6 -g0 -y
示例 6-7  创建多个 SR-IOV 以太网虚拟功能

以下命令展示了如何基于 /SYS/MB/NET2/IOVNET.PF1 物理功能创建四个虚拟功能:

primary# ldm create-vf -n 31 /SYS/MB/NET2/IOVNET.PF1
Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF0
Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF1
Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF2
...
Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF30

请注意,ldm create-vf -n 命令创建了多个设置有默认属性值(如果适用)的虚拟功能。之后,您可以使用 ldm set-io 命令指定非默认属性值。

销毁以太网虚拟功能

如果当前未将虚拟功能分配给域,则可以销毁该虚拟功能。虚拟功能只能按照与创建时相反的顺序进行销毁,因此,只能销毁已创建的最后一个虚拟功能。生成的配置由物理功能驱动程序验证。

如何销毁以太网 SR-IOV 虚拟功能

如果无法使用此动态方法,请改用静态方法。请参见静态 SR-IOV

  1. 确定物理功能设备。
    primary# ldm list-io
  2. 以动态或静态方法销毁单个虚拟功能或多个虚拟功能。
    • 动态方法:
      • 要同时销毁基于一个物理功能的所有虚拟功能,请使用以下命令:
        primary# ldm destroy-vf -n number | max pf-name

        使用 ldm destroy-vf -n max 命令可一次销毁该物理功能的所有虚拟功能。

        如果您指定 number 作为 –n 选项的参数,则会销毁最后 number 个虚拟功能。请使用此方法,因为执行此操作时只进行一次物理功能设备驱动程序状态转换。

        您可以使用路径名称或 pseudonym 名称指定虚拟功能。但是,建议做法是使用 pseudonym 名称。

      • 要销毁指定的虚拟功能,请使用以下命令:
        primary# ldm destroy-vf vf-name
    • 静态方法:
      1. 启动延迟重新配置。
        primary# ldm start-reconf root-domain-name
      2. 销毁单个虚拟功能或多个虚拟功能。
        • 要同时销毁基于指定物理功能的所有虚拟功能,请使用以下命令:
          primary# ldm destroy-vf -n number | max pf-name

          您可以使用路径名称或 pseudonym 名称指定虚拟功能。但是,建议做法是使用 pseudonym 名称。

        • 要销毁指定的虚拟功能,请使用以下命令:
          primary# ldm destroy-vf vf-name
      3. 重新引导根域。
        • 要重新引导非 primary 根域,请使用以下命令:
          primary# ldm stop-domain -r root-domain
        • 要重新引导 primary 根域,请使用以下命令:
          primary# shutdown -i6 -g0 -y
示例 6-8  销毁以太网虚拟功能

此示例展示了如何动态销毁 /SYS/MB/NET0/IOVNET.PF0.VF0 虚拟功能。

primary# ldm destroy-vf /SYS/MB/NET0/IOVNET.PF0.VF0

以下示例说明如何静态销毁 /SYS/MB/NET0/IOVNET.PF0.VF0 虚拟功能。

primary# ldm start-reconf 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.

primary# ldm destroy-vf /SYS/MB/NET0/IOVNET.PF0.VF0
primary# shutdown -i6 -g0 -y
示例 6-9  销毁多个以太网 SR-IOV 虚拟功能

此示例展示了销毁基于 /SYS/MB/NET2/IOVNET.PF1 物理功能的所有虚拟功能的结果。ldm list-io 输出显示物理功能具有七个虚拟功能。ldm destroy-vf 命令销毁所有虚拟功能,并且 ldm list-io 最终输出显示未保留任何虚拟功能。

primary# ldm list-io
...
/SYS/MB/NET2/IOVNET.PF1                   PF     pci_1                      
/SYS/MB/NET2/IOVNET.PF1.VF0               VF     pci_1                      
/SYS/MB/NET2/IOVNET.PF1.VF1               VF     pci_1                      
/SYS/MB/NET2/IOVNET.PF1.VF2               VF     pci_1                      
/SYS/MB/NET2/IOVNET.PF1.VF3               VF     pci_1                      
/SYS/MB/NET2/IOVNET.PF1.VF4               VF     pci_1                      
/SYS/MB/NET2/IOVNET.PF1.VF5               VF     pci_1                      
/SYS/MB/NET2/IOVNET.PF1.VF6               VF     pci_1
primary# ldm destroy-vf -n max /SYS/MB/NET2/IOVNET.PF1
primary# ldm list-io
...
/SYS/MB/NET2/IOVNET.PF1                   PF     pci_1    ldg1

修改以太网 SR-IOV 虚拟功能

ldm set-io vf-name 命令通过更改属性值或设置新的属性来修改虚拟功能的当前配置。此命令既可以修改特定于网络的属性,也可以修改特定于设备的属性。有关特定于设备的属性的信息,请参见高级 SR-IOV 主题:以太网 SR-IOV

如果无法使用此动态方法,请改用静态方法。请参见静态 SR-IOV

如何修改以太网 SR-IOV 虚拟功能

  1. 确定物理功能设备。
    primary# ldm list-io

    请注意,物理功能的名称包括 PCIe SR-IOV 卡或板载设备的位置信息。

  2. 修改虚拟功能。
    primary# ldm set-io name=value [name=value...] vf-name
示例 6-10  销毁以太网虚拟功能

在 I/O 域中添加和删除以太网 SR-IOV 虚拟功能

如何向 I/O 域添加以太网 SR-IOV 虚拟功能

如果无法以动态方法删除虚拟功能,请使用静态方法。请参见静态 SR-IOV

  1. 确定要添加到 I/O 域的虚拟功能。
    primary# ldm list-io
  2. 以动态或静态方法添加虚拟功能。
    • 要以动态方法添加虚拟功能,请使用以下命令:
      primary# ldm add-io vf-name domain-name

      vf-name 是虚拟功能的 pseudonym 名称或路径名称。建议做法是使用 pseudonym 名称。domain-name 用于指定要将虚拟功能添加到的域的名称。

      域中虚拟功能的设备路径名称是 list-io -l 输出中显示的路径。

    • 要以静态方法添加虚拟功能,请使用以下命令:
      1. 启动延迟重新配置,然后添加虚拟功能。
        primary# ldm start-reconf root-domain-name
        primary# ldm add-io vf-name domain-name

        vf-name 是虚拟功能的 pseudonym 名称或路径名称。建议做法是使用 pseudonym 名称。domain-name 用于指定要将虚拟功能添加到的域的名称。指定的来宾必须处于非活动状态或绑定状态。

        域中虚拟功能的设备路径名称是 list-io -l 输出中显示的路径。

      2. 重新引导根域。
        • 要重新引导非 primary 根域,请使用以下命令:
          primary# ldm stop-domain -r root-domain
        • 要重新引导 primary 根域,请使用以下命令:
          primary# shutdown -i6 -g0 -y
示例 6-11  添加以太网虚拟功能

此示例展示了如何以动态方法将 /SYS/MB/NET0/IOVNET.PF0.VF0 虚拟功能添加到 ldg1 域。

primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1

如果无法动态添加虚拟功能,请使用静态方法:

primary# ldm stop-domain ldg1
primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
primary# ldm start-domain ldg1

如何从 I/O 域删除以太网 SR-IOV 虚拟功能

如果无法以动态方法删除虚拟功能,请使用静态方法。请参见静态 SR-IOV


Caution

注意  - 从域中删除虚拟功能之前,请确保它对于引导该域不至关重要。


  1. 确定要从 I/O 域删除的虚拟功能。
    primary# ldm list-io
  2. 以动态或静态方法删除虚拟功能。
    • 要以动态方法删除虚拟功能,请使用以下命令:
      primary# ldm rm-io vf-name domain-name

      vf-name 是虚拟功能的 pseudonym 名称或路径名称。建议做法是使用设备 pseudonym。domain-name 用于指定要从中删除虚拟功能的域的名称。

    • 要以静态方法删除虚拟功能,请使用以下命令:
      1. 停止 I/O 域。
        primary# ldm stop-domain domain-name
      2. 删除虚拟功能。
        primary# ldm rm-io vf-name domain-name

        vf-name 是虚拟功能的 pseudonym 名称或路径名称。建议做法是使用设备 pseudonym。domain-name 用于指定要从中删除虚拟功能的域的名称。指定的来宾必须处于非活动状态或绑定状态。

      3. 启动 I/O 域。
        primary# ldm start-domain domain-name
示例 6-12  动态删除以太网虚拟功能

此示例展示了如何以动态方法从 ldg1 域中删除 /SYS/MB/NET0/IOVNET.PF0.VF0 虚拟功能。

primary# ldm remove-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1

如果命令成功,则从 ldg1 域删除该虚拟功能。重新启动 ldg1 后,指定的虚拟功能不再显示在该域中。

如果无法动态删除虚拟功能,请使用静态方法:

primary# ldm stop-domain ldg1
primary# ldm remove-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
primary# ldm start-domain ldg1

高级 SR-IOV 主题:以太网 SR-IOV

本节介绍与使用 SR-IOV 虚拟功能相关的一些高级主题。

虚拟功能的高级网络配置
使用 SR-IOV 虚拟功能引导 I/O 域

SR-IOV 虚拟功能可提供与任何其他类型的 PCIe 设备类似的功能,例如,可将虚拟功能用作逻辑域引导设备。例如,网络虚拟功能可以用于通过网络引导以在 I/O 域中安装 Oracle Solaris OS。


注 - 在从虚拟功能设备引导 Oracle Solaris OS 时,请验证要装入的 Oracle Solaris OS 是否支持虚拟功能设备。如果支持,则可以按计划继续进行其余安装。
SR-IOV 特定于设备的属性

SR-IOV 物理功能设备驱动程序可以导出特定于设备的属性。这些属性可用于调节物理功能及其虚拟功能的资源分配。有关这些属性的信息,请参见物理功能驱动程序的手册页,例如 igb(7D)ixgbe(7D) 手册页。

ldm list-io -d 命令显示指定物理功能设备驱动程序导出的特定于设备的属性。每个属性的信息包括其名称、简要说明、默认值、最大值和一个或多个以下标志:

P

适用于物理功能

V

适用于虚拟功能

R

只读或只用于提供信息的参数

primary# ldm list-io -d pf-name

使用 ldm create-vfldm set-io 命令可为物理功能或虚拟功能设置读写属性。请注意,要设置特定于设备的属性,必须使用静态方法。请参见静态 SR-IOV

以下示例显示板载 Intel 1-Gbps 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 虚拟功能上创建 VNIC

支持在 SR-IOV 虚拟功能上创建 Oracle Solaris 11 VNIC。但是,支持的 VNIC 数量限制为分配给虚拟功能的备用 MAC 地址(alt-mac-addrs 属性)的数量。确保对虚拟功能使用 VNIC 时分配足够数量的备用 MAC 地址。可使用 ldm create-vfldm set-io 命令通过备用 MAC 地址设置 alt-mac-addrs 属性。

以下示例说明如何在 SR-IOV 虚拟功能上创建四个 VNIC。第一个命令将备用 MAC 地址分配给虚拟功能设备。此命令使用自动分配方法将四个备用 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,因此,Oracle Solaris 11 OS 也会在该 I/O 域中引导。

primary# ldm start ldg1

以下命令可在来宾域中使用 Oracle Solaris 11 dladm 命令显示具有备用 MAC 地址的虚拟功能。此输出显示 net30 虚拟功能具有四个备用 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    --

以下命令会创建四个 VNIC。请注意,尝试创建多于通过备用 MAC 地址所指定的 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

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

以下过程介绍了如何创建包括 PCIe SR-IOV 虚拟功能的 I/O 域。

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

提前进行计划,以便最大程度地减少根域的重新引导次数,从而最大限度地缩短停机时间。

开始之前

开始之前,请确保已为用于创建虚拟功能的物理功能的父项 PCIe 总线启用了 I/O 虚拟化。请参见如何对 PCIe 总线启用 I/O 虚拟化

  1. 确定要与使用 SR-IOV 功能的 I/O 域共享的 SR-IOV 物理功能。
    primary# ldm list-io
  2. 为物理功能创建一个或多个虚拟功能。
    primary# ldm create-vf pf-name

    您可以为要创建的每个虚拟功能运行此命令。您还可以使用 –n 选项通过单个命令创建基于同一物理功能的多个虚拟功能。请参见Example 6–7ldm(1M) 手册页。


    注 - 如果已从关联的物理功能创建了其他虚拟功能,并且其中任一虚拟功能已绑定到其他域,则此命令将失败。
  3. 查看根域上可用虚拟功能的列表。
    primary# ldm list-io
  4. Step 2 中创建的虚拟功能分配到其目标 I/O 域。
    primary# ldm add-io vf-name domain-name

    注 - 如果目标 I/O 域中的 OS 不支持动态 SR-IOV,则必须使用静态方法。请参见静态 SR-IOV
  5. 验证虚拟功能在 I/O 域上是否可用。

    以下 Oracle Solaris 11 命令显示虚拟功能的可用性:

    guest# dladm show-phys
示例 6-13  通过分配 SR-IOV 虚拟功能来动态创建 I/O 域

以下动态示例说明如何为物理功能 /SYS/MB/NET0/IOVNET.PF0 创建虚拟功能 /SYS/MB/NET0/IOVNET.PF0.VF0,并将该虚拟功能分配给 ldg1 I/O 域。

/SYS/MB/NET0/IOVNET.PF0 物理功能创建虚拟功能。

primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0
Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0

/SYS/MB/NET0/IOVNET.PF0.VF0 虚拟功能添加到 ldg1 域。

primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1

以下命令显示已将虚拟功能添加到 ldg1 域。

primary# ldm list-io
NAME                          TYPE  BUS      DOMAIN    STATUS
----                          ----  ---      ------    ------
niu_0                         NIU   niu_0    primary
niu_1                         NIU   niu_1    primary
pci_0                         BUS   pci_0    primary   IOV
pci_1                         BUS   pci_1    primary
/SYS/MB/PCIE0                 PCIE  pci_0    primary   OCC
/SYS/MB/PCIE2                 PCIE  pci_0    primary   OCC
/SYS/MB/PCIE4                 PCIE  pci_0    primary   OCC
/SYS/MB/PCIE6                 PCIE  pci_0    primary   EMP
/SYS/MB/PCIE8                 PCIE  pci_0    primary   EMP
/SYS/MB/SASHBA                PCIE  pci_0    primary   OCC
/SYS/MB/NET0                  PCIE  pci_0    primary   OCC
/SYS/MB/PCIE1                 PCIE  pci_1    primary   OCC
/SYS/MB/PCIE3                 PCIE  pci_1    primary   OCC
/SYS/MB/PCIE5                 PCIE  pci_1    primary   OCC
/SYS/MB/PCIE7                 PCIE  pci_1    primary   EMP
/SYS/MB/PCIE9                 PCIE  pci_1    primary   EMP
/SYS/MB/NET2                  PCIE  pci_1    primary   OCC
/SYS/MB/NET0/IOVNET.PF0       PF    pci_0    primary
/SYS/MB/NET0/IOVNET.PF1       PF    pci_0    primary
/SYS/MB/PCIE5/IOVNET.PF0      PF    pci_1    primary
/SYS/MB/PCIE5/IOVNET.PF1      PF    pci_1    primary
/SYS/MB/NET2/IOVNET.PF0       PF    pci_1    primary
/SYS/MB/NET2/IOVNET.PF1       PF    pci_1    primary
/SYS/MB/NET0/IOVNET.PF0.VF0   VF    pci_0    ldg1
示例 6-14  通过分配 SR-IOV 虚拟功能来静态创建 I/O 域

以下静态示例说明如何为物理功能 /SYS/MB/NET0/IOVNET.PF0 创建虚拟功能 /SYS/MB/NET0/IOVNET.PF0.VF0,并将该虚拟功能分配给 ldg1 I/O 域。

首先,在 primary 域上启动延迟重新配置,启用 I/O 虚拟化,然后从 /SYS/MB/NET0/IOVNET.PF0 物理功能创建虚拟功能。

primary# ldm start-reconf 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.

primary# ldm set-io iov=on pci_0
primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0

------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------
Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0

然后,关闭 primary 域。

primary# shutdown -i6 -g0 -y

停止 ldg1 域,添加虚拟功能,然后启动该域。

primary# ldm stop ldg1
primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
primary# ldm start ldg1

以下命令显示已将虚拟功能添加到 ldg1 域。

primary# ldm list-io
NAME                          TYPE  BUS      DOMAIN    STATUS
----                          ----  ---      ------    ------
niu_0                         NIU   niu_0    primary
niu_1                         NIU   niu_1    primary
pci_0                         BUS   pci_0    primary   IOV
pci_1                         BUS   pci_1    primary
/SYS/MB/PCIE0                 PCIE  pci_0    primary   OCC
/SYS/MB/PCIE2                 PCIE  pci_0    primary   OCC
/SYS/MB/PCIE4                 PCIE  pci_0    primary   OCC
/SYS/MB/PCIE6                 PCIE  pci_0    primary   EMP
/SYS/MB/PCIE8                 PCIE  pci_0    primary   EMP
/SYS/MB/SASHBA                PCIE  pci_0    primary   OCC
/SYS/MB/NET0                  PCIE  pci_0    primary   OCC
/SYS/MB/PCIE1                 PCIE  pci_1    primary   OCC
/SYS/MB/PCIE3                 PCIE  pci_1    primary   OCC
/SYS/MB/PCIE5                 PCIE  pci_1    primary   OCC
/SYS/MB/PCIE7                 PCIE  pci_1    primary   EMP
/SYS/MB/PCIE9                 PCIE  pci_1    primary   EMP
/SYS/MB/NET2                  PCIE  pci_1    primary   OCC
/SYS/MB/NET0/IOVNET.PF0       PF    pci_0    primary
/SYS/MB/NET0/IOVNET.PF1       PF    pci_0    primary
/SYS/MB/PCIE5/IOVNET.PF0      PF    pci_1    primary
/SYS/MB/PCIE5/IOVNET.PF1      PF    pci_1    primary
/SYS/MB/NET2/IOVNET.PF0       PF    pci_1    primary
/SYS/MB/NET2/IOVNET.PF1       PF    pci_1    primary
/SYS/MB/NET0/IOVNET.PF0.VF0   VF    pci_0    ldg1