JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle VM Server for SPARC 3.0 发行说明     Oracle VM Server for SPARC (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle VM Server for SPARC 3.0 发行说明

本发行版新增功能

系统要求

支持的平台

必需的软件和修补程序

必需的和建议的 Oracle Solaris OS 版本

支持 Oracle VM Server for SPARC 3.0 功能所必需的软件

必需的和建议的系统固件修补程序

必需的最低软件版本

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

PCIe SR-IOV 硬件和软件要求

Oracle VM Server for SPARC 3.0 软件的位置

修补程序的位置

文档的位置

相关软件

可选软件

可以与 Logical Domains Manager 一起使用的软件

与 Logical Domains 软件交互的系统控制器软件

升级至 Oracle VM Server for SPARC 3.0 软件

Oracle VM Server for SPARC 3.0 发行版中的过时功能

已知问题

常见问题

从低于 Oracle Solaris 10 5/08 OS 的 Oracle Solaris 10 OS 升级

"服务处理器"一词和"系统控制器"一词可互换使用

在某些情况下,来宾域的 Solaris Volume Manager 配置或元设备可能会丢失

逻辑域通道和 Logical Domains

内存大小要求

引导大量域

彻底关闭 Logical Domains 系统以及对 Logical Domains 系统执行关开机循环

请求的内存大小可能不同于分配的内存

Logical Domains 变量持久性

Oracle Sun SNMP Management Agent 不支持多个域

延迟重新配置

加密单元

ldmp2v convert 命令:引导期间出现 VxVM 警告消息

Oracle 针对软件许可证的硬分区要求

使用 ldmp2v prepare -R 时不显示 "Upgrade"(升级)选项

动态添加的内存块只能作为一个整体动态删除

ldmp2v 命令:不再使用 ufsdump 归档方法

在延迟重新配置期间,仅允许执行一个 CPU 配置操作

域迁移限制

迁移的版本限制

对于 cpu-arch=generic 迁移的 SPARC M5 和 SPARC T5 支持

迁移的 CPU 限制

Oracle VM Server for SPARC MIB 问题

使用版本 2 或版本 3 选项时 snmptable 命令不起作用

影响 Oracle VM Server for SPARC 3.0 软件的错误

在压力下对来宾域使用 ldm stop 命令时会出现send_mondo_set: timeout 紧急情况

SPARC T5 和 SPARC M5:正在使用 SR-IOV 设备时,尝试取消绑定或删除资源时会挂起并且不能使用 Ctrl-C 组合键停止

将故障导线束动态添加到域可能会导致出现紧急情况

PCIe 设备下的子设备恢复成未分配的名称

SPARC M5-32:panic: mpo_cpu_add: Cannot read MD

SPARC M5-32:根联合体故障转移可能会导致不正确的直接 I/O 来宾域配置

SPARC M5-32:可通过多个直接 I/O 路径访问的磁盘会出现问题

重新引导 primary 域后,SR-IOV 域中的 ixgbevf 设备可能会变为禁用状态

重新引导 Oracle Solaris 10 1/13 primary 域可能不会自动为虚拟功能接口激活或分配 IP 地址

ILOM 功率上限设置器应随 /SYS/VPS 更新同步调整更新

禁用 IOV 借用设备时,无法引导来宾域

在重新引导或关闭 primary 域时出现 mutex_enter: bad mutex 紧急情况

SPARC M5-32:LSI-SAS 控制器不正确地导出为支持 SR-IOV

在 SPARC T5-1B primary 域中,无法为 sxge 虚拟功能设置大型 MTU

重新启动 Logical Domains Manager 后,之前列入黑名单的资源被错误地标记为"可用"(清除暂挂)

ldmd 无法设置 sxge 设备的 mac-addralt-mac-addrs 属性值

SPARC T5-1B 上 sxge 设备的 ldm list-io -d 输出缺少两个属性

其他迁移限制

ldmconfig 失败:错误号 15972394 的修复排除了未修改的 factory-default 配置

大量虚拟 CPU 的 CPU DR 操作可能会显示为失败

具有 HIO 虚拟网络且 cpu-arch=generic 的来宾域迁移发生超时并一直等待该域暂停

SPARC T4-4:无法绑定来宾域

跨 CPU 迁移后,执行 CPU DR 时来宾域出现紧急情况

内存分段程度高时来宾域无法引导

对可用 CPU 进行 CPU 动态重新配置将导致 lpl_topo_verify fail -5 紧急情况

根域不能包含对其他根域的依赖关系

迁移之后,添加核心时来宾域出现紧急情况

threading 属性值从 max-throughput 更改为 max-ipc 时来宾域出现紧急情况

在具有两个活动直接 I/O 域的情况下控制域在重新引导时挂起

ldm rm-io 应该接受 --dry-run 作为 -n 的别名

SPARC T3 和 SPARC T4:具有虚拟网络设备或虚拟交换机的域在重压下可能会出现紧急情况

安装了不同固件版本的系统之间发生迁移问题

内存 DR 添加部分成功时不显示错误消息

对包含混合 I/O 网络设备的来宾域解除绑定或进行迁移时,primary 域或来宾域出现紧急情况

无法使用 ldm stopldm stop -f 命令停止域

当 11 个或更多域具有 PCIe 设备时,来宾域无法访问 PCIe 结构

从 XML 文件重新创建具有 PCIe 虚拟功能的域失败

将控制域从使用整体核心更改为使用部分核心时发出不正确的错误消息

ldm init-system 命令无法正确地重新创建具有虚拟功能设备的域

您尝试同时修改许多域时 Logical Domains Manager 可能会崩溃并重新启动

尝试超过 ixgbe 物理功能和虚拟功能的最大单播插槽数的值并不会失败

控制域需要系统中的最低核心

ldmd 守护进程不联机

取消迁移后,在目标系统上运行的 ldm 命令不响应

某些 Emulex 卡在分配给 I/O 域后不工作

在迁移到 SPARC T4 系统过程中运行 cputrack 命令时,来宾域出现紧急情况

Oracle Solaris 11:DRM 窃取操作报告 Oracle Solaris DR 失败并重试

限制可以分配给域的最大虚拟功能数

进行跨 CPU 迁移的来宾域在迁移完成后报告的运行时间不正确

Oracle Solaris 10:使用 Intel Dual Port Ethernet Controller X540 卡引导时,ixgbe 驱动程序可能会导致出现紧急情况

8.2.0 版的系统固件包含新版本的 scvar 数据库

销毁所有虚拟功能并将插槽返回到根域无法恢复根联合体资源

应该对具有 PCIe 到 PCI 桥的 PCIe 卡禁用 ldm remove-io

如果在 ldm start 命令后立即发出 ldm stop 命令,后者可能会失败

init-system 无法从保存的 XML 文件为来宾域恢复指定的核心约束

使用 ldm set-io 连续更改 pvid 值两次可能会导致配置失败

重新引导分配了大量虚拟功能的 primary 域时系统出现紧急情况

不明确的 SR-IOV 错误消息:Create vf failed

Oracle Solaris 11 OS:使用直接 I/O 从多插槽 SPARC T 系列系统或 Fujitsu M10 系统上的 primary 域中删除多个 PCIe 插槽可能会导致引导时出现紧急情况

使用部分核心的 primary 域无法进行整体核心 DR 转换

primary 域重新引导后,分配给 primary 域的 igbixgbe 虚拟功能出现故障

引导后,ldm list-io 命令显示 UNK 或 INV 状态

在 SPARC T4-4 上迁移内存非常大的域会导致目标系统上的域出现紧急情况

从来宾域中删除大量 CPU 会失败

无法使用 Oracle Solaris 热插拔操作来热删除 PCIe 端点设备

对于没有分片 2 的物理磁盘,虚拟磁盘验证失败

迁移包含混合 I/O 和虚拟 I/O 虚拟网络设备的来宾域时,nxge 出现紧急情况

迁移过程中丢失共享 NFS 资源时所有 ldm 命令挂起

如果系统日志服务不联机,Logical Domains 代理服务就无法联机

内核死锁导致计算机在迁移过程中挂起

DRM 和 ldm list 输出显示的虚拟 CPU 数与来宾域中的实际虚拟 CPU 数不符

对依赖于目标计算机上的非活动主域的域进行实时迁移导致 ldmd 发生故障并具有分段故障

删除策略或策略过期后,DRM 无法为迁移后的域恢复默认数量的虚拟 CPU

DR 过程中虚拟 CPU 超时失败

当系统 MAC 地址与其他 MAC 地址发生冲突时,不报告迁移失败原因

"相反方向"的同时迁移操作可能会导致 ldm 挂起

从控制域中删除大量 CPU 会失败

设置了弹性策略并且在运行 Oracle Solaris 10 8/11 OS 的系统可能会挂起

pkgadd 无法在 /var/svc/manifest/platform/sun4v/ldmd.xml 上设置 ACL 项

SPARC T3-1:可通过多个直接 I/O 路径访问的磁盘会出现问题

对多个已激活的 NIU nxge 实例执行内存 DR 删除操作可能会无限期挂起而且永远无法完成

对具有主-从关系的域使用 ldm stop -a 命令会在从域中设置 stopping 标志

迁移启用了默认 DRM 策略的域导致为目标域指定所有可用的 CPU

某个正在使用中的 MAC 地址可以被重新分配

ldmconfig 无法在 SP 上创建域配置

cpu0 处于脱机状态时,可能会阻止对 Oracle Solaris 域进行非协同迁移

在取消迁移之后,内存 DR 处于禁用状态

有时,对虚拟网络设备的 MTU 值执行动态重新配置会失败

当目标 OS 不支持对加密单元执行 DR 时,具有 MAU 的迁移域仅包含一个 CPU

实际地址内存绑定故障显示令人困惑的迁移失败消息

从域中动态删除所有的加密单元导致 SSH 终止

PCI Express Dual 10-Gigabit Ethernet Fiber 卡在 ldm list-io -l 输出中显示四个子设备

当多个域正在引导时,ldm 命令很慢,无法响应

Oracle Solaris 11:配置有自动网络接口的区域可能无法启动

Oracle Solaris 10:未在控制域中正确创建虚拟网络设备

在配置了 Logical Domains 的情况下,新添加的 NIU/XAUI 适配器在主机 OS 中不可见

e1000g 引导时,I/O 域或来宾域出现紧急情况

显式控制台组和端口绑定未迁移

当目标上的 vdsdev 具有不同的后端时迁移不失败

即使目标有足够的可用内存,迁移功能也无法绑定内存

当计算机未联网而且 NIS 客户机正在运行时,Logical Domains Manager 不启动

当迁移后的域已经引导时,Logical Domains Manager 将这些域显示为处于过渡状态

除非重新启动 vntsd,否则无法连接到迁移后的域控制台

有时,从 Logical Domains 系统执行 uadmin 1 0 命令时系统不返回到 OK 提示符

Logical Domains Manager 关闭域至少需要 15 分钟

如果 Oracle Solaris 10 5/08 OS 安装在服务域上,尝试在该服务域所提供服务的任何来宾域上执行 Oracle Solaris 10 8/07 OS 网络引导可能会使安装挂起

scadm 命令在 SC 或 SP 重置之后可能会挂起

在公用控制台组中同时进行多个域的网络安装会失败

ldc_close: (0xb) unregister failed, 11 警告消息

在同一个网络上有太多虚拟网络使用 DHCP 的来宾域可能会变得不响应

运行 Logical Domains Manager 时无法使用 eeprom 命令修改 OpenBoot PROM 变量

在 Logical Domains 运行时无法设置安全密钥

ldm stop-domain 命令的行为可能会令人困惑

文档勘误表

ldm(1M) 手册页:I/O 虚拟命令无法自动启动延迟重新配置

ldm(1M) 手册页:不支持动态创建虚拟功能

ldm(1M) 手册页:仅 ldm add-spconfig -r 执行手动恢复

其他迁移限制

已解决的问题

已知问题

本节包含与 Oracle VM Server for SPARC 3.0 软件有关的常见问题和特定错误。

常见问题

本节介绍此发行版 Oracle VM Server for SPARC 软件中常见的已知问题,这些问题比具有特定错误号的问题广泛。如果有解决方法,则会提供。

从低于 Oracle Solaris 10 5/08 OS 的 Oracle Solaris 10 OS 升级

如果控制域从版本低于 Oracle Solaris 10 5/08 OS(或没有安装修补程序 127127-11)的 Oracle Solaris 10 OS 升级,并且将卷管理器卷导出为虚拟磁盘,则在升级 Logical Domains Manager 后,必须使用 options=slice 重新导出虚拟磁盘后端。请参见《Oracle VM Server for SPARC 3.0 管理指南》中的"导出卷以及向后兼容性"

“服务处理器”一词和“系统控制器”一词可互换使用

在 Oracle VM Server for SPARC 文档内的讨论中,服务处理器 (Service Processor, SP) 一词和系统控制器 (System Controller, SC) 一词可互换使用。

在某些情况下,来宾域的 Solaris Volume Manager 配置或元设备可能会丢失

如果服务域运行的是低于 Oracle Solaris 10 8/11 的 Oracle Solaris 10 OS 版本,而且将物理磁盘分片作为虚拟磁盘导出到来宾域,则该虚拟磁盘将以不正确的设备 ID 出现在来宾域中。如果随后将该服务域升级到 Oracle Solaris 10 8/11,作为虚拟磁盘导出的物理磁盘分片将以不带设备 ID 的形式出现在来宾域中。

这种删除虚拟磁盘设备 ID 的方式可能会导致尝试引用虚拟磁盘设备 ID 的应用程序出现问题。特别是,Solaris Volume Manager 可能会找不到其配置或者无法访问其元设备。

解决方法:将服务域升级到 Oracle Solaris 10 8/11 之后,如果来宾域找不到其 Solaris Volume Manager 配置或其元设备,请执行以下过程。

如何查找来宾域的 Solaris Volume Manager 配置或元设备

  1. 引导来宾域。
  2. 通过在 /kernel/dr/md.conf 文件中添加以下行来禁用 Solaris Volume Manager 的 devid 功能:
    md_devid_destroy=1;
    md_keep_repl_state=1;
  3. 重新引导来宾域。

    在来宾域引导之后,Solaris Volume Manager 配置和元设备应当会可用。

  4. 检查 Solaris Volume Manager 配置并确保它正确无误。
  5. 通过从 /kernel/drv/md.conf 文件中删除在步骤 2 中添加的两行来重新启用 Solaris Volume Manager 的 devid 功能。
  6. 重新引导来宾域。

    在重新引导期间,您将看到类似如下的消息:

    NOTICE: mddb: unable to get devid for 'vdc', 0x10

    这些消息是正常的,不报告任何问题。

逻辑域通道和 Logical Domains

任何逻辑域中的可用逻辑域通道 (Logical Domain Channel, LDC) 数量都存在一定的限制。LDC 限制如下:

UltraSPARC T2、SPARC T3-1、SPARC T3-1B、SPARC T4-1 和 SPARC T4-1B 服务器

LDC 限制为 512。

UltraSPARC T2 Plus、其他 SPARC T3 和 SPARC T4 服务器、SPARC T5、SPARC M5 和 Fujitsu M10 系统

LDC 限制为 768。

该限制只会影响控制域,因为至少向控制域分配了 I/O 子系统的一部分(如果不是全部的话)。此外,为了实现虚拟 I/O 数据通信和对其他逻辑域进行 Logical Domains Manager 控制,有可能会创建非常多的 LDC,在这种情况下该限制也会带来问题。

在尝试添加服务或绑定域时如果 LDC 通道的数量超过了控制域的上限,则该操作会失败并出现类似如下的错误消息:

13 additional LDCs are required on guest primary to meet this request,
but only 9 LDCs are available

如果有大量虚拟网络设备连接到同一台虚拟交换机,则可以通过使用 ldm add-vswldm set-vsw 命令来设置 inter-vnet-link=off,以减少分配的 LDC 通道数。此属性设置为 off 时,不会为 inter-vnet 通信使用 LDC 通道。在此情况下,仅为虚拟网络设备和虚拟交换机设备之间的通信分配 LDC 通道。请参见 ldm(1M) 手册页。


注 - 尽管禁用 inter-vnet 通道分配可以减少 LDC 的数量,但这可能会对来宾到来宾的网络性能产生负面影响。


遵循以下准则可防止创建可能会超出控制域的 LDC 容量的配置:

  1. 控制域为与虚拟机管理程序 (hypervisor)、故障管理体系结构 (Fault Management Architecture, FMA) 和系统控制器 (System Controller, SC) 的各种通信分配大约 15 个 LDC,该数量与配置的其他逻辑域的数量无关。控制域所分配的 LDC 通道的数量取决于平台和所使用的软件版本。

  2. 控制域为每个逻辑域分配 1 个 LDC,还为控制域本身分配 1 个 LDC,用于控制通信。

  3. 控制域上的每个虚拟 I/O 服务占用 1 个 LDC 来与该服务相连的每个客户机通信。

例如,假定有 1 个控制域和 8 个额外的逻辑域。每个逻辑域至少需要以下项:

应用上述准则会产生如下结果(括号中的数字对应于上面的准则编号,值是根据该编号的准则得出的):

15(1) + 9(2) + 8 x 3(3) = 总共 48 个 LDC

现在考虑如下情况:有 45 个(而不是 8 个)域,每个域中包括 5 个虚拟磁盘、5 个虚拟网络和 1 个虚拟控制台。现在,等式变为:

15 + 46 + 45 x 11 = 总共 556 个 LDC

Logical Domains Manager 将根据平台支持的 LDC 数量接受或拒绝配置。

内存大小要求

在创建域时,Oracle VM Server for SPARC 软件不施加内存大小限制。内存大小要求是客操作系统的特性。如果所提供的内存量小于建议的大小,某些 Oracle VM Server for SPARC 功能可能不起作用。有关 Oracle Solaris 10 OS 的建议内存大小及其最小内存要求,请参见《Oracle Solaris 10 8/11 Installation Guide: Planning for Installation and Upgrade》中的"System Requirements and Recommendations"。有关 Oracle Solaris 11 OS 的建议内存大小及其最小内存要求,请参见《Oracle Solaris 11 Release Notes 》《Oracle Solaris 11.1 Release Notes 》

OpenBoot PROM 对于域有最小大小限制。目前,该限制为 12 MB。对于小于 12 MB 的域,Logical Domains Manager 会自动将该域扩展到 12 MB。Fujitsu M10 系统的最小大小限制是 256 MB。有关内存大小要求的信息,请参阅系统固件的发行说明。

内存动态重新配置 (Dynamic Reconfiguration, DR) 功能可对给定操作中所涉及内存的地址和大小强制执行 256 MB 对齐。请参见《Oracle VM Server for SPARC 3.0 管理指南》中的"内存对齐"

引导大量域

可以引导以下数量的域(具体值取决于所使用的平台):

如果存在未分配的虚拟 CPU,请将它们指定给服务域以帮助处理虚拟 I/O 请求。在创建 32 个以上的域时,为服务域分配 4 到 8 个虚拟 CPU。如果最大域配置是服务域中只有一个 CPU,则在配置和使用该域时不要为这个唯一的 CPU 施加不必要的压力。虚拟交换机 (vsw) 服务应当分布到计算机中的所有网络适配器上。例如,如果在 Sun SPARC Enterprise T5240 服务器上引导 128 个域,请创建 4 个 vsw 服务,每个服务为 32 个虚拟网络 (vnet) 实例提供服务。为每个 vsw 服务分配超过 32 个 vnet 实例可能导致服务域中发生硬挂起。

要运行最大配置,计算机需要足够的内存量来支持来宾域。内存量取决于所使用的平台和 OS。请参见有关所使用平台的文档、《Oracle Solaris 10 8/11 Installation Guide: Planning for Installation and Upgrade 》《Installing Oracle Solaris 11 Systems 》《Installing Oracle Solaris 11.1 Systems 》

当来宾域所使用的 vsw 服务为多个域中的多个虚拟网络提供服务时,该域中的内存和交换空间使用量会增加,这是由于与 vsw 相连的所有 vnet 之间的对等链路所导致的。对于服务域来说,内存越多越好。在运行 64 个以上的域时,建议的最小值为 4 GB。分组启动域(一组最多包含 10 个域)并等到它们引导之后再启动下一批。在域上安装操作系统时适用同样的建议。可以通过禁用 inter-vnet 通道来减少链路数量。请参见《Oracle VM Server for SPARC 3.0 管理指南》中的"Inter-Vnet LDC 通道"

彻底关闭 Logical Domains 系统以及对 Logical Domains 系统执行关开机循环

如果自上次将配置保存到 SC 以后对配置进行了任何更改,务必在关闭 Logical Domains 系统或对其执行关开机循环之前保存您希望保留的最新配置。

如何关闭具有多个活动域的系统

  1. 关闭、停止并解除绑定所有的非 I/O 域。
  2. 关闭、停止并解除绑定所有处于活动状态的 I/O 域。
  3. 停止 primary 域。

    由于未绑定任何其他域,因此固件会自动关闭系统。

如何对系统执行关开机循环

  1. 关闭、停止并解除绑定所有的非 I/O 域。
  2. 关闭、停止并解除绑定所有处于活动状态的 I/O 域。
  3. 重新引导 primary 域。

    由于未绑定任何其他域,因此固件会自动对系统执行关开机循环,然后再重新引导系统。当系统重新启动时,它会引导至上次保存的或者显式设置的 Logical Domains 配置。

请求的内存大小可能不同于分配的内存

在某些情况下,Logical Domains Manager 会将所请求的内存分配舍入到下一个为 8 KB 或 4 MB 倍数的最大内存量。这可以在 ldm list-domain -l 命令的如下示例输出中看出,其中的约束值比实际分配的内存量小:

Memory:
          Constraints: 1965 M
          raddr          paddr5          size
          0x1000000      0x291000000     1968M

Logical Domains 变量持久性

变量更新在重新引导之后会保留,但在执行关开机循环之后不会保留,除非是通过控制域上的 OpenBoot 固件启动变量更新,或者在执行变量更新之后将配置保存到了 SC。

在了解上述情况后,一定要注意,重新引导控制域可能会导致系统执行关开机循环:

可以使用以下任一方法来指定域的 Logical Domains 变量:

这样做的目的是:使用上述任何方法进行的变量更新始终会在域重新引导之后保留。此外,变量更新始终会反映在随后保存到 SC 的逻辑域配置中。

在 Oracle VM Server for SPARC 3.0 软件中,少数情况下变量更新不会按所预期的那样保留:

如果您希望保留 Logical Domains 变量更改,请执行以下操作之一:

如果您修改了逻辑域上的时间或日期(例如,使用 ntpdate 命令),则所做的更改在该域重新引导之后会保留,而在对相应主机执行关开机循环之后不会保留。要确保对时间所做的更改可以保留,请将包含时间更改的配置保存到 SP 并从该配置进行引导。

以下错误号已经归档,以便今后解决这些问题:15375997153873381538760615415199

Oracle Sun SNMP Management Agent 不支持多个域

Sun SNMP Management Agent 不支持多个域,SNMP 是 Simple Network Management Protocol(简单网络管理协议)的缩写。仅支持一个全局域。

延迟重新配置

primary 域处于延迟重新配置状态时,由 Oracle VM Server for SPARC 管理的资源primary 域重新引导之后才受电源管理。由 OS 直接管理的资源(例如由 Solaris Power Aware Dispatcher 管理的 CPU)不受此状态影响。

加密单元

离散加密单元存在于 UltraSPARC T2、UltraSPARC T2 Plus 和 SPARC T3 系统。

通过加密单元动态重新配置 (Dynamic Reconfiguration, DR),可以向域中添加和从域中删除加密单元。Logical Domains Manager 自动检测域是否允许对加密单元执行 DR,并且仅对允许执行 DR 的域启用该功能。此外,在绑定了加密单元然后运行适当版本 Oracle Solaris OS 的域中,CPU DR 不再处于禁用状态。

ldmp2v convert 命令:引导期间出现 VxVM 警告消息

在 Oracle Solaris 10 OS 上,对于 Oracle VM Server for SPARC P2V 工具来说,Veritas Volume Manager (VxVM) 5.x 是唯一受支持(经过测试)的版本。在 Solaris 8 和 Solaris 9 操作系统上,早期版本的 VxVM(如 3.x 和 4.x)可能也可以正常工作。在这些情况下,在运行 ldmp2v convert 命令之后首次引导时可能会显示来自 VxVM 驱动程序的警告消息。可以忽略这些消息。在来宾域引导之后,可以删除旧的 VRTS* 软件包。

Boot device: disk0:a File and args:
SunOS Release 5.10 Version Generic_139555-08 64-bit
Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: normaal
Configuring devices.
/kernel/drv/sparcv9/vxdmp: undefined symbol 'romp'
WARNING: mod_load: cannot load module 'vxdmp'
WARNING: vxdmp: unable to resolve dependency, module 'misc/ted' not found
/kernel/drv/sparcv9/vxdmp: undefined symbol 'romp'
WARNING: mod_load: cannot load module 'vxdmp'
WARNING: vxdmp: unable to resolve dependency, module 'misc/ted' not found
/kernel/drv/sparcv9/vxio: undefined symbol 'romp'
WARNING: mod_load: cannot load module 'vxio'
WARNING: vxio: unable to resolve dependency, module 'drv/vxdmp' not found
WARNING: vxspec : CANNOT INITIALIZE vxio DRIVER
WARNING: VxVM vxspec V-5-0-0 vxspec: vxio not loaded. Aborting vxspec load
WARNING: vxspec : CANNOT INITIALIZE vxio DRIVER
WARNING: VxVM vxspec V-5-0-0 vxspec: vxio not loaded. Aborting vxspec load
WARNING: vxspec : CANNOT INITIALIZE vxio DRIVER
WARNING: VxVM vxspec V-5-0-0 vxspec: vxio not loaded. Aborting vxspec load
WARNING: vxspec : CANNOT INITIALIZE vxio DRIVER
WARNING: VxVM vxspec V-5-0-0 vxspec: vxio not loaded. Aborting vxspec load
WARNING: vxspec : CANNOT INITIALIZE vxio DRIVER
WARNING: VxVM vxspec V-5-0-0 vxspec: vxio not loaded. Aborting vxspec load
WARNING: vxspec : CANNOT INITIALIZE vxio DRIVER
WARNING: VxVM vxspec V-5-0-0 vxspec: vxio not loaded. Aborting vxspec load
WARNING: vxspec : CANNOT INITIALIZE vxio DRIVER
NOTICE: VxVM not started

Oracle 针对软件许可证的硬分区要求

有关 Oracle 针对软件许可证的硬分区要求的信息,请参见 Partitioning: Server/Hardware Partitioning(分区:服务器/硬件分区)。

使用 ldmp2v prepare -R 时不显示 "Upgrade"(升级)选项

如果未将保存根 (/) 文件系统的分片的分区标记设为 root,Oracle Solaris 安装程序将不会显示 "Upgrade"(升级)选项。如果在标记来宾的引导磁盘时未显式设置该标记,则会发生此情况。可以按如下所示使用 format 命令设置分区标记:

AVAILABLE DISK SELECTIONS:
0. c0d0 <SUN-DiskImage-10GB cyl 282 alt 2 hd 96 sec 768>
  /virtual-devices@100/channel-devices@200/disk@0
1. c4t2d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
  /pci@400/pci@0/pci@1/scsi@0/sd@2,0
2. c4t3d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
  /pci@400/pci@0/pci@1/scsi@0/sd@3,0
Specify disk (enter its number)[0]: 0
selecting c0d0
[disk formatted, no defect list found]
format> p


PARTITION MENU:
0      - change `0' partition
1      - change `1' partition
2      - change `2' partition
3      - change `3' partition
4      - change `4' partition
5      - change `5' partition
6      - change `6' partition
7      - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name   - name the current table
print  - display the current table
label  - write partition map and label to the disk
!<cmd> - execute <cmd>, then return
quit

partition> 0
Part      Tag    Flag     Cylinders       Size            Blocks
0 unassigned    wm       0              0         (0/0/0)          0

Enter partition id tag[unassigned]: root
Enter partition permission flags[wm]:
Enter new starting cyl[0]: 0
Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: 8g
partition> label
Ready to label disk, continue? y

partition>

动态添加的内存块只能作为一个整体动态删除

动态添加的内存块只能作为一个整体动态删除。也就是说,不能动态删除该内存块的一部分。

内存较小的域动态增长到大得多的时候,可能会出现这种情况,如以下示例所示:

# ldm list ldom1
NAME  STATE FLAGS   CONS VCPU MEMORY UTIL UPTIME
ldom1 active -n---- 5000 2    1G     0.4% 23h

# ldm add-mem 16G ldom1

# ldm rm-mem 8G ldom1
Memory removal failed because all of the memory is in use.

# ldm rm-mem 16G ldom1

# ldm list ldom1
NAME  STATE FLAGS   CONS VCPU MEMORY UTIL UPTIME
ldom1 active -n---- 5000 2    1G     0.4% 23h

解决方法:动态添加少量内存以减少这种情况发生的概率。

恢复:重新引导域。

ldmp2v 命令:不再使用 ufsdump 归档方法

恢复受 UFS 文件系统上的文件支持的虚拟磁盘上的 ufsdump 归档可能会导致系统挂起。在这种情况下,ldmp2v prepare 命令将退出。如果虚拟磁盘是 UFS 文件系统上的文件,则在手动恢复 ufsdump 归档以便为 ldmp2v prepare -R /altroot 命令做准备时,可能会遇到此问题。为了与以前创建的 ufsdump 归档兼容,仍可以使用 ldmp2v prepare 命令恢复不受 UFS 文件系统上的文件支持的虚拟磁盘上的 ufsdump 归档。不过,建议不要使用 ufsdump 归档。

在延迟重新配置期间,仅允许执行一个 CPU 配置操作

primary 域处于延迟重新配置时,不要尝试对其执行多个 CPU 配置操作。如果尝试多个 CPU 配置请求,这些请求将被拒绝。

解决方法:执行以下操作之一:

域迁移限制

以下各节说明域迁移的限制。Logical Domains Manager 软件和系统固件版本必须兼容才允许迁移。此外,还必须满足特定的 CPU 要求,才能确保域迁移成功。


注 - 正在进行迁移时,运行网络敏感应用程序的来宾域可能会遇到短暂延迟或中断。


迁移的版本限制

如果尝试将使用固件版本 8.4 及更高版本引导的域实时迁移到运行较低版本固件的系统,迁移将失败。这是因为新旧固件版本的虚拟机管理程序 API 不匹配。在这种情况下,您将看到以下消息:

# ldm migrate ldg1 root@target
Target Password:
Domain ldg1 is using features of the system firmware that
are not supported in the version of the firmware running on
the target machine.

Domain Migration of LDom ldg1 failed

请注意,可以将在固件版本低于 8.4 的系统上引导的域实时迁移到运行 8.4 版本及更高版本固件的系统。

对于 cpu-arch=generic 迁移的 SPARC M5 和 SPARC T5 支持

错误号 15805135:在 Oracle VM Server for SPARC 3.0 中,不能将域从不同的平台类型(例如 SPARC T2、SPARC T2 Plus、SPARC T3 或 SPARC T4)迁移到 SPARC T5 或 SPARC M5 平台。即使您设置了 cpu-arch=generic,也不能进行这种类型的迁移。

对于 SPARC T5 和 SPARC M5 平台,只能在相同平台类型的系统之间执行迁移操作,例如从 SPARC T5-2 迁移到 SPARC T5-8 或者从一个 SPARC M5-32 迁移到另一个 SPARC M5-32。此限制仅适用于 SPARC T5 和 SPARC M5 平台。

迁移的 CPU 限制

如果要迁移的域运行的 Oracle Solaris OS 版本低于 Oracle Solaris 10 8/11 OS,则在迁移过程中可能会显示以下消息:

Domain domain-name is not running an operating system that is
compatible with the latest migration functionality.

仅当运行的 OS 早于 Oracle Solaris 10 8/11 OS 时,以下 CPU 要求和限制才适用:

尝试迁移在 OpenBoot 或内核调试器中运行的域时,也适用这些限制。请参见《Oracle VM Server for SPARC 3.0 管理指南》中的"迁移 OpenBoot PROM 中的域或在内核调试器中运行的域"

Oracle VM Server for SPARC MIB 问题

本节总结了使用 Oracle VM Server for SPARC 管理信息库 (Management Information Base, MIB) 软件时可能遇到的问题。

使用版本 2 或版本 3 选项时 snmptable 命令不起作用

错误号 15376861:使用带 -v2c-v3 选项的 snmptable 命令查询 Oracle VM Server for SPARC MIB 2.1 软件时将收到空的 SNMP 表。使用 -v1 选项时 snmptable 命令可以按预期工作。

解决方法:使用 -CB 选项以仅使用 GETNEXT(而不是 GETBULK)请求来检索数据。请参见《Oracle VM Server for SPARC 3.0 管理指南》中的"如何检索 Oracle VM Server for SPARC MIB 对象"

影响 Oracle VM Server for SPARC 3.0 软件的错误

本节总结了在使用此版本的软件时可能遇到的错误。最新的错误最先列出。如果有解决方法和恢复过程,则会提供。

在压力下对来宾域使用 ldm stop 命令时会出现send_mondo_set: timeout 紧急情况

错误号 16486383:直接将 PCI 设备或总线分配给来宾域,但该域没有分配 PCI 卡实际所在的 /SYS/DCU 中的核心。因为虚拟机管理程序代表来宾域重置了 PCI 设备,每次来宾域重新引导期间,DCU 中的核心连接到 PCI 设备的域就可能出现紧急情况。分配给非 DCU 本地来宾域的 PCI 设备数量越多,出现这种紧急情况的几率越高。

解决方法:执行以下解决方法之一:

SPARC T5 和 SPARC M5:正在使用 SR-IOV 设备时,尝试取消绑定或删除资源时会挂起并且不能使用 Ctrl-C 组合键停止

错误号 16426940:在具有 SR-IOV 配置的 SPARC T5 或 SPARC M5 系统上,可能会遇到不能使用 Ctrl-C 组合键停止的挂起。使用 ldm unbindldm rm-io 命令时很少会出现挂起。

解决方法:重新引导在 primary 域上运行的 Oracle Solaris OS 实例。此外,重新引导使用由 primary 域共享的 I/O 资源的任何来宾域。

将故障导线束动态添加到域可能会导致出现紧急情况

错误号 16301304:在某些情况下,已出现故障的核心不会立即被 Logical Domains Manager 列入黑名单。因此,该故障核心中的导线束有可能会被添加到域中。如果通过使用虚拟 CPU 动态重新配置添加了此类导线束,来宾域可能会出现紧急情况并显示类似于以下的消息:

panic[cpu10]/thread=2a1003e9c60: promif_start_cpu: failed to start cpu 12 (6)

如果将故障导线束添加到尚未运行的域,则该域启动时控制台中将显示以下消息:

NOTICE: cpux is not runnable and will not be brought online
NOTICE: cpux removed from system

后续每次重新引导时,也会显示这些消息。虽然这些消息不会在运行中的域中引起任何问题,但来宾域将无法使用列出的 CPU。

解决方法:要避免这些问题,请将故障导线束与所有域隔离。如果未在使用故障导线束,则不会在系统的其他任何域中引起任何不良影响。

PCIe 设备下的子设备恢复成未分配的名称

错误号 16299053:禁用 PCIe 设备后,可能会出现意外行为。虽然禁用的 PCIe 设备仍然为域所有,但该 PCIe 设备下的子设备将恢复成未分配的名称。

解决方法:如果要在 ILOM 中禁用 PCIe 插槽,请确保未通过直接 I/O (Direct I/O, DIO) 功能将该 PCIe 插槽分配给某个域。即,在 ILOM 中禁用 PCIe 插槽之前,先要确保已将该插槽分配给相应的根域。

如果在 ILOM 中禁用 PCIe 插槽时已使用 DIO 将该 PCIe 插槽分配给某个域,请停止该域并将该设备重新分配给根域,以便保证系统行为正常。

SPARC M5-32:panic: mpo_cpu_add: Cannot read MD

错误号 16238762:在至少有 2.4 TB 内存的 SPARC M5-32 上,尝试在 primary 域中将 CPU 数量从 6 设置为 1056 个会导致内核出现紧急情况,并显示以下消息:

mpo_cpu_add: Cannot read MD

以下过程将导致出现该紧急情况:

  1. 在主机分配有 DCU 时打开电源。

    例如,将 DCU0 分配给 HOST0

  2. 创建来宾域。

  3. 将配置保存到 SP。

  4. 关闭主机电源。

  5. 为该主机分配另一个 DCU。

    例如,将 DCU1 分配给 HOST0

  6. 打开主机电源。

    固件将验证配置是否是“可引导的”。此验证可确保创建配置时存在的所有 CPU、内存和 I/O 仍然存在。固件还将生成一个新的 PRI 以说明整个系统的配置。

    该配置将成功启动并引导来宾域。

  7. 尝试向现有域动态添加 CPU。

    Logical Domains 将生成反映正确等待时间信息的新 GMD,但 Oracle Solaris OS 无法解析此新信息,因此出现紧急情况。

解决方法:要避免出现该紧急情况,请勿执行问题描述中的步骤。

不过,如果您已经执行了这些步骤并出现了紧急情况,请执行以下步骤:

  1. 从一个较小的物理域引导已保存的配置后,执行操作。例如,从每个活动域删除一个 CPU。

  2. 重新引导该域。

  3. 取消域绑定。

  4. 重新绑定任何绑定的域。

  5. 将新配置保存到 SP。

SPARC M5-32:根联合体故障转移可能会导致不正确的直接 I/O 来宾域配置

错误号 16232834:SPARC M5 平台包括双端口内部磁盘及其双路径。根联合体故障转移可能会导致不正确的直接 I/O 来宾域配置。

解决方法:确保两个奇数或两个偶数的 PCIe Express 模块 (PCIe Express Module, EMS) 卡都分配给相同的域。例如,如果域拥有 EMS1EMS3,则磁盘的两个路径均位于该域内。同样,如果域拥有 EMS0EMS2 也是如此。

请执行以下步骤:

  1. 通过使用 ILOM 禁用根联合体故障转移。

    -> set /HOSTx ioreconfigure=false

    x 的值可以为 03

  2. 使用 ldm add-io 命令将同一 I/O 单元 (I/O Unit, IOU) 中的两个奇数或偶数 EMS 卡分配给来宾域。

在此双域配置单元 (Domain Configuration Unit, DCU) 主机配置示例中,以下命令将 EMS 卡分配给 ldg1 来宾域。

首先,从控制域中删除 pci_40pci_44 根联合体。

# ldm rm-io pci_40 primary
# ldm rm-io pci_44 primary

然后,将 pci_40pci_42 根联合体添加到 ldg1 来宾域中。

# ldm add-io pci_40 lgd1
# ldm add-io pci_44 lgd1

同样,可以将 pci_48pci_52 根联合体或所有四个总线分配给来宾域。

进行这些更改后,使用 ldm ls-io 命令查看更新后的配置。

# ldm ls-io
NAME                                      TYPE   BUS      DOMAIN   STATUS
----                                      ----   ---      ------   ------
pci_32                                    BUS    pci_32   primary
pci_33                                    BUS    pci_33   primary
pci_34                                    BUS    pci_34   primary
pci_35                                    BUS    pci_35   primary
pci_36                                    BUS    pci_36   primary
pci_37                                    BUS    pci_37   primary
pci_38                                    BUS    pci_38   primary
pci_39                                    BUS    pci_39   primary
pci_40                                    BUS    pci_40   primary
pci_41                                    BUS    pci_41   primary
pci_42                                    BUS    pci_42   primary
pci_43                                    BUS    pci_43   primary
pci_44                                    BUS    pci_44   primary
pci_45                                    BUS    pci_45   primary
pci_46                                    BUS    pci_46   primary
pci_47                                    BUS    pci_47   primary
pci_48                                    BUS    pci_48   primary
pci_49                                    BUS    pci_49   primary
pci_50                                    BUS    pci_50   primary
pci_51                                    BUS    pci_51   primary
pci_52                                    BUS    pci_52   primary
pci_53                                    BUS    pci_53   primary
pci_54                                    BUS    pci_54   primary
pci_55                                    BUS    pci_55   primary
pci_56                                    BUS    pci_56   primary
pci_57                                    BUS    pci_57   primary
pci_58                                    BUS    pci_58   primary
pci_59                                    BUS    pci_59   primary
/SYS/IOU2/PCIE3                           PCIE   pci_32   primary  OCC
/SYS/IOU2/EMS1/CARD/NET0                  PCIE   pci_32   primary  OCC
/SYS/IOU2/EMS1/CARD/SCSI                  PCIE   pci_32   primary  OCC
/SYS/IOU2/PCIE2                           PCIE   pci_33   primary  OCC
/SYS/IOU2/PCIE5                           PCIE   pci_34   primary  EMP
/SYS/IOU2/PCIE8                           PCIE   pci_35   primary  EMP
/SYS/IOU2/PCIE11                          PCIE   pci_36   primary  EMP
/SYS/IOU2/EMS3/CARD/NET0                  PCIE   pci_36   primary  OCC
/SYS/IOU2/EMS3/CARD/SCSI                  PCIE   pci_36   primary  OCC
/SYS/IOU2/PCIE10                          PCIE   pci_37   primary  OCC
/SYS/IOU2/PCIE13                          PCIE   pci_38   primary  OCC
/SYS/IOU2/PCIE16                          PCIE   pci_39   primary  OCC
/SYS/IOU2/PCIE6                           PCIE   pci_40   primary  EMP
/SYS/IOU2/EMS2/CARD/NET0                  PCIE   pci_40   primary  OCC
/SYS/IOU2/EMS2/CARD/SCSI                  PCIE   pci_40   primary  OCC
/SYS/IOU2/PCIE7                           PCIE   pci_41   primary  EMP
/SYS/IOU2/PCIE4                           PCIE   pci_42   primary  EMP
/SYS/IOU2/PCIE1                           PCIE   pci_43   primary  OCC
/SYS/IOU2/PCIE14                          PCIE   pci_44   primary  OCC
/SYS/IOU2/EMS4/CARD/NET0                  PCIE   pci_44   primary  OCC
/SYS/IOU2/EMS4/CARD/SCSI                  PCIE   pci_44   primary  OCC
/SYS/IOU2/PCIE15                          PCIE   pci_45   primary  OCC
/SYS/IOU2/PCIE12                          PCIE   pci_46   primary  EMP
/SYS/IOU2/PCIE9                           PCIE   pci_47   primary  EMP
/SYS/IOU3/PCIE3                           PCIE   pci_48   primary  EMP
/SYS/IOU3/EMS1/CARD/NET0                  PCIE   pci_48   primary  OCC
/SYS/IOU3/EMS1/CARD/SCSI                  PCIE   pci_48   primary  OCC
/SYS/IOU3/PCIE2                           PCIE   pci_49   primary  OCC
/SYS/IOU3/PCIE5                           PCIE   pci_50   primary  OCC
/SYS/IOU3/PCIE8                           PCIE   pci_51   primary  EMP
/SYS/IOU3/PCIE11                          PCIE   pci_52   primary  EMP
/SYS/IOU3/PCIE12                          PCIE   pci_52   primary  EMP
/SYS/IOU3/EMS3/CARD/NET0                  PCIE   pci_52   primary  OCC
/SYS/IOU3/EMS3/CARD/SCSI                  PCIE   pci_52   primary  OCC
/SYS/IOU3/PCIE9                           PCIE   pci_53   primary  OCC
/SYS/IOU3/PCIE10                          PCIE   pci_53   primary  OCC
/SYS/IOU3/PCIE13                          PCIE   pci_54   primary  EMP
/SYS/IOU3/PCIE14                          PCIE   pci_54   primary  EMP
/SYS/IOU3/EMS4/CARD/NET0                  PCIE   pci_54   primary  OCC
/SYS/IOU3/EMS4/CARD/SCSI                  PCIE   pci_54   primary  OCC
/SYS/IOU3/PCIE15                          PCIE   pci_55   primary  EMP
/SYS/IOU3/PCIE16                          PCIE   pci_55   primary  EMP
/SYS/IOU3/PCIE6                           PCIE   pci_56   primary  OCC
/SYS/IOU3/EMS2/CARD/NET0                  PCIE   pci_56   primary  OCC

SPARC M5-32:可通过多个直接 I/O 路径访问的磁盘会出现问题

错误号 16232834:当使用 ldm add-vcpu 命令将 CPU 分配给域时,Oracle Solaris OS 可能会出现紧急情况,并显示以下消息:

panic[cpu16]/thread=c4012102c860: mpo_cpu_add: Cannot read MD

如果存在以下情况,会出现此紧急情况:

ldm add-vcpu 操作的目标域将会出现紧急情况。如果该域有额外的 CPU,则重新引导时将会恢复。

解决方法:生成配置时包含的硬件资源不要比分配给主机的资源少。

要避免该问题,请勿按问题描述中所述方式添加 CPU。或者,执行以下步骤:

  1. 在添加 DCU 之后生成新的 SP 配置。

    例如,以下命令会创建名为 new-config-more-dcus 的配置:

    # ldm add-config new-config-more-dcus
  2. 关闭域。

  3. 停止主机。

    -> stop /HOST
  4. 启动主机。

    -> start /HOST

重新引导 primary 域后,SR-IOV 域中的 ixgbevf 设备可能会变为禁用状态

错误号 16224353:重新引导 primary 域后,primary 域中的 ixgbevf 实例可能无法运行。

解决方法:无。

重新引导 Oracle Solaris 10 1/13 primary 域可能不会自动为虚拟功能接口激活或分配 IP 地址

错误号 16219069:在运行 Oracle Solaris 10 1/13 OS 的 primary 域上,可能不会基于 /etc/hostname.vf-interface 文件自动为虚拟功能接口激活或分配 IP 地址。

primary 域中引导或重新引导运行 Oracle Solaris 10 1/13 OS 的 SPARC T3、SPARC T4 或 SPARC T5 系统时,会出现此问题。此问题会影响基于板载物理功能和插件物理功能创建的虚拟功能。引导 Logical Domains 来宾域映像时,不会出现此问题。

ILOM 功率上限设置器应随 /SYS/VPS 更新同步调整更新

错误号 16205895:在每个 SPARC M5 物理域中,功率上限设置会监视该域的功耗传感器 (/SYS/VPS),以确定何时调整 CPU 频率以满足功率限制。此传感器每隔 20-30 秒才更新一次。但是,系统会每隔几秒钟轮询该传感器一次并根据其值进行功率调整。过时的功耗值会导致系统在进行不必要的调整时,错误地降低或提高 CPU 频率。

解决方法:不使用功率上限设置。

禁用 IOV 借用设备时,无法引导来宾域

错误号 16098592:将 PCIe 物理功能或虚拟功能设备借给来宾域时,可以使用 ILOM CLI 或故障管理框架在动态数据库 (Dynamic Database, DDB) 中将该设备标记为禁用状态。下次启动系统(打开电源、重置)时,主机配置将通过计算机描述符向虚拟机管理程序反映 DDB 状态(如果创建了 PRI/来宾 MD 等)。虚拟机管理程序将禁用这些设备,但 Oracle Solaris OS 并不知道这些设备已被禁用。

当启动包含此类设备的来宾域时,该域将挂起。域会挂起是因为拥有 PCIe 结构的 Oracle Solaris 实例无法启动相应设备,因为虚拟机管理程序已禁用了该设备。因此,当 OBP 尝试探测 PCIe 设备时,虚拟机管理程序将阻止其访问,这将使 OBP 不断重试。

解决方法:通过执行以下步骤,从该来宾域中删除已转换为 UNK(未知)状态的设备:

  1. 停止来宾域。

  2. 从来宾域中删除处于未知状态的设备。

    使用 ldm rm-io 命令。

  3. 重新启动来宾域。

在重新引导或关闭 primary 域时出现 mutex_enter: bad mutex 紧急情况

错误号 16080855:在重新引导或关闭 primary 域时,primary 域可能会出现内核紧急情况,并显示类似于以下的紧急情况消息:

panic[cpu2]/thread=c40043b818a0: mutex_enter: bad mutex, lp=c4005fa01c88
owner=c4005f70aa80 thread=c40043b818a0

000002a1075c3630 ldc:ldc_mem_rdwr_cookie+20 (c4005fa01c80,
c4004e2c2000,2a1075c37c8, 6c80000, 1, 0)
%l0-3: 00000000001356a4 0000000000136800 0000000000000380
00000000000002ff
%l4-7: 00000000001ad3f8 0000000000000004 00000000ffbffb9c
0000c4005fa01c88
000002a1075c3710 vldc:i_vldc_ioctl_write_cookie+a4 (c4004c400030,
380,ffbff898, 100003, 0, 70233400)
%l0-3: 0000000006c80000 0000000000156dc8 0000000000000380
0000000000100003
%l4-7: 00000000702337b0 000002a1075c37c8 0000000000040000
0000000000000000
000002a1075c37f0 vldc:vldc_ioctl+1a4 (3101, c4004c400030,
ffbff898,c4004c400000, c4004c438030, 0)
%l0-3: 0000000000100003 0000000000000000 000000007b340400
0000c4004c438030
%l4-7: 0000c4004c400030 0000000000000000 0000000000000000
0000000000000000
000002a1075c38a0 genunix:fop_ioctl+d0 (c4004d327800, 0, ffbff898,
100003,c4004384f718, 2a1075c3acc)
%l0-3: 0000000000003103 0000000000100003 000000000133ce94
0000c4002352a480
%l4-7: 0000000000000000 0000000000000002 00000000000000c0
0000000000000000
000002a1075c3970 genunix:ioctl+16c (3, 3103, ffbff898, 3, 134d50, 0)
%l0-3: 0000c40040e00a50 000000000000c6d3 0000000000000003
0000030000002000
%l4-7: 0000000000000003 0000000000000004 0000000000000000
0000000000000000

恢复:允许 primary 域重新引导。如果 primary 域配置为在崩溃后不重新引导,请手动引导 primary 域。

SPARC M5-32:LSI-SAS 控制器不正确地导出为支持 SR-IOV

错误号 16071170:在 SPARC M5-32 系统上,内部 SAS 控制器导出为支持 SR-IOV 的控制器,尽管这些卡并不支持 SR-IOV。

当尝试在这些卡上创建物理功能时,Oracle VM Server for SPARC 日志将显示以下消息:

Dec 11 04:27:54 warning: Dropping pf
pci@d00/pci@1/pci@0/pci@0/pci@0/pci@4/LSI,sas@0: no IOV capable driver
Dec 11 04:27:54 warning: Dropping pf
pci@d80/pci@1/pci@0/pci@c/pci@0/pci@4/LSI,sas@0: no IOV capable driver
Dec 11 04:27:54 warning: Dropping pf
pci@c00/pci@1/pci@0/pci@c/pci@0/pci@4/LSI,sas@0: no IOV capable driver
Dec 11 04:27:54 warning: Dropping pf
pci@e00/pci@1/pci@0/pci@0/pci@0/pci@4/LSI,sas@0: no IOV capable driver

该系统有四个 LSI SAS 控制器端口,每个位于 SPARC M5-32 组合件的一个 IOU 中。每个端口都会报告一次此错误。

解决方法:可以忽略这些消息。这些消息只说明系统上的 LSI-SAS 控制器设备可以支持 SR-IOV,但此硬件不提供 SR-IOV 支持。

在 SPARC T5-1B primary 域中,无法为 sxge 虚拟功能设置大型 MTU

错误号 16059331:sxge 驱动程序无法为其 primary 域中的虚拟功能正确设置大型 MTU。

解决方法:手动修改 /kernel/drv/sxge.conf 文件,以在来宾域中的 sxge 虚拟功能接口上设置大型 MTU。

重新启动 Logical Domains Manager 后,之前列入黑名单的资源被错误地标记为“可用”(清除暂挂)

错误号 16016576:重新启动 Logical Domains Manager(不管是手动重新启动还是重新引导控制域)后,所有已列入黑名单的故障资源都变为可用。这些资源被错误地标记为“可用”(清除暂挂),尽管它们之前已被清除并成功添加到黑名单。Logical Domains Manager 不会阻止将此类资源添加到域。

恢复:不需要执行恢复。已清除的资源未分配给任何域,因此不影响当前系统配置。不过,因为这些资源之前曾出现故障,请注意避免将其分配给系统中的任何域。

ldmd 无法设置 sxge 设备的 mac-addralt-mac-addrs 属性值

错误号 15974640:ldm 命令无法正确设置 sxge 设备的 mac-addralt-mac-addrs 属性值因此,ldmd 守护进程将报告 MAC 地址不一致。此外,任何基于 VNIC MAC 地址的链路聚合都将失败。

SPARC T5-1B 上 sxge 设备的 ldm list-io -d 输出缺少两个属性

错误号 15974547:在包含 sxge 的 SPARC T5-1B 系统上运行 ldm list-io -d PF-device 时,输出中不显示 max-vlansmax-vf-mtu 属性。这些属性在包含 ixgbe 的 SPARC T5-1B 系统以及非刀片系统上是存在的。

缺少 max-vlans 属性值。该值应该为 0,因为 sxge 设备不支持硬件 VLAN 标记。max-vf-mtu 属性值已修复为 1500,这将阻止物理功能驱动程序为虚拟功能设置大型 MTU。

其他迁移限制

错误号 15858731:对于 Fujitsu M10 系统,以下限制将取代《Oracle VM Server for SPARC 3.0 管理指南》中的"迁移 OpenBoot PROM 中的域或在内核调试器中运行的域"中所述的信息。

如果要迁移的域在 OpenBoot 或内核调试器 (kmdb) 中运行,且源计算机或目标计算机是 Fujitsu M10 系统,则迁移尝试总是失败。如果要迁移的域只有一个 CPU,则可能会显示以下错误消息:

# ldm migrate ldg1 system2
Non-cooperative migration is not supported on this platform.

ldmconfig 失败:错误号 15972394 的修复排除了未修改的 factory-default 配置

错误号 15829698:ldmconfig 命令不适用于 Oracle VM Server for SPARC 3.0 软件,因为仅当系统运行未修改的 factory-default 配置时才会运行此命令。Oracle VM Server for SPARC 3.0 中引入的错误始终将配置报告为已修改。

解决方法:首先安装 Oracle VM Server for SPARC 2.2,然后运行 ldmconfig,而不是执行 Oracle VM Server for SPARC 3.0 的初始安装。创建域后,将 SUNWldm 软件包升级为 Oracle VM Server for SPARC 3.0。

大量虚拟 CPU 的 CPU DR 操作可能会显示为失败

错误号 15826354:大量 CPU 的 CPU DR 操作会导致 ldmd 守护进程返回失败。虽然 ldmd 超时了,但 DR 操作仍在后台继续执行,并终将成功。不过,ldmd 不再与生成的域保持同步,后续的 DR 操作可能不被允许。

例如:

# ldm ls
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIME
primary          active     -n-cv-  UART    7     20G      2.7%  0.4%  1h 41m
ldg0             active     -n----  5000    761   16G       75%   51%  6m

# ldm rm-vcpu 760 ldg0
Request to remove cpu(s) sent, but no valid response received
VCPU(s) will remain allocated to the domain, but might
not be available to the guest OS
Resource removal failed
 
# ldm set-vcpu 1 ldg0
Busy executing earlier command; please try again later.
Unable to remove the requested VCPUs from domain ldg0
Resource modification failed
 
# ldm ls
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIME
primary          active     -n-cv-  UART    7     20G      0.9%  0.1%  1h 45m
ldg0             active     -n----  5000    761   16G      100%  0.0%  10m

解决方法:等待几分钟后再次运行 ldm set-vcpu 命令:

# ldm set-vcpu 1 ldg0
# ldm ls
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIME
primary          active     -n-cv-  UART    7     20G      0.9%  0.1%  1h 50m
ldg0             active     -n----  5000    1     16G       52%  0.0%  15m

请注意,760 超出了建议的最大值。

具有 HIO 虚拟网络且 cpu-arch=generic 的来宾域迁移发生超时并一直等待该域暂停

错误号 15825538:在配置有混合网络 I/O 接口 (mode=hybrid) 且启用了跨 CPU 迁移 (cpu-arch=generic) 的逻辑域上,如果执行安全实时迁移 (ldm migrate),该迁移可能超时并使该域处于暂停状态。

恢复:重新启动该逻辑域。

解决方法:进行安全的跨 CPU 实时迁移时不要使用混合 I/O 虚拟网络设备。

SPARC T4-4:无法绑定来宾域

错误号 15825330:在一些仅具有单个处理器板的 SPARC T4-4 配置上,Oracle VM Server for SPARC 3.0 在启动时似乎处于挂起状态。

解决方法:确保处理器板始终占用处理器 0 和 1 的插槽。重新启动这种配置的系统会使 Oracle VM Server for SPARC 3.0 软件启动。

跨 CPU 迁移后,执行 CPU DR 时来宾域出现紧急情况

错误号 15825060:使用实时迁移将在 SPARC T3 或 SPARC T4 系统上创建的域迁移到 UltraSPARC T2 或 UltraSPARC T2 Plus 系统时,后续 CPU 动态重新配置操作可能会导致出现紧急情况。故障消息如下所示:

panic[cpu8]/thread=2a102491c60: cpu8: dev_mondo queue
configuration failed, error 6

恢复:无。

解决方法:将在 SPARC T3 或 SPARC T4 系统上创建的域迁移到 UltraSPARC T2 或 UltraSPARC T2 Plus 系统时,不迁移活动域。相反,在开始迁移过程之前先停止该域。

内存分段程度高时来宾域无法引导

错误号 15824270:如果某个域运行 Oracle Solaris 11.1 OS 并且分配了分段程度高的内存,该域可能无法引导并且显示以下错误:

ERROR: Last Trap: Fast Data Access MMU Miss

解决方法:首先,尝试改变与无法引导的来宾域绑定的内存量。如果该尝试失败,或者如果 primary 域受到影响,则执行关开机循环进入备用 SP 配置。

对可用 CPU 进行 CPU 动态重新配置将导致 lpl_topo_verify fail -5 紧急情况

错误号 16232834:在以下情况下,具有两个或更多 DCU 的 SPARC M5 上的域可能会出现紧急情况:

系统重新引导时,将在控制台和 /var/adm/messages 文件中写入以下紧急情况消息:

panlc [cpu4]/thread=0x30012a008: : lpl_topo_verify failed: -5

解决方法:执行以下步骤:

  1. 避免执行任何可能导致出现紧急情况的操作。

  2. /etc/system 文件中追加以下行:

    set lgrp_topo_levels=2
  3. 重新引导系统。

    系统重新引导后,您可以安全地执行之前导致出现紧急情况的操作。

根域不能包含对其他根域的依赖关系

错误号 15823203:拥有 PCIe 总线的根域不能将其 PCIe 端点设备或 SR-IOV 虚拟功能分配给另一个根域。不过,可以将 PCIe 总线中的 PCIe 端点设备或虚拟功能分配给拥有该总线的根域。

迁移之后,添加核心时来宾域出现紧急情况

错误号 15822313:在运行 Oracle Solaris 11.1 OS 的系统上,在已经迁移的域上执行 CPU DR 操作会导致来宾域出现紧急情况。

解决方法:在重新引导已迁移的来宾域之前,不执行域管理器 CPU DR 操作。

threading 属性值从 max-throughput 更改为 max-ipc 时来宾域出现紧急情况

错误号 15821246:在运行 Oracle Solaris 11.1 OS 的系统上,将已迁移域上的 threading 属性值从 max-ipc 更改为 max-throughput 会导致该来宾域上出现紧急情况。

解决方法:不要更改已迁移来宾域的 threading 状态,直到重新引导该域。

在具有两个活动直接 I/O 域的情况下控制域在重新引导时挂起

错误号 15820741:在具有两个使用直接 I/O 配置的域的 Oracle Solaris 11.1 系统上,重新引导控制域时该域可能会挂起。

恢复:要从重新引导挂起恢复,通过在 SP 上发出以下命令来重置控制域:

-> reset -f /HOST/domain/control

ldm rm-io 应该接受 --dry-run 作为 -n 的别名

错误号 15818302:无法为 ldm rm-io 命令指定 --dry-run 选项。

解决方法:改为使用 -n 选项。

SPARC T3 和 SPARC T4:具有虚拟网络设备或虚拟交换机的域在重压下可能会出现紧急情况

错误号 15816287:在极少数情况下,如果逻辑域的虚拟网络设备或虚拟交换机处于重压下,则逻辑域可能会出现紧急情况。

解决方法:执行以下解决方法之一。最好执行 /etc/system 解决方法以限制系统性能影响。

安装了不同固件版本的系统之间发生迁移问题

错误号 15815409:如果源计算机和目标计算机运行不同的系统固件版本,则活动域的迁移失败。在以下情况下会发生这种失败:

恢复:执行以下操作之一:

解决方法:执行迁移之前停止域。

内存 DR 添加部分成功时不显示错误消息

错误号 15812823:在可用内存较少的情况下,由于内存大小的原因并非所有内存块都可以用作内存 DR 操作的一部分。但是,这些内存块都包括在可用内存量中。这种情况可能会导致向域中添加的内存量小于所预期的。如果发生这种情况,不显示任何错误消息。

解决方法:无。

对包含混合 I/O 网络设备的来宾域解除绑定或进行迁移时,primary 域或来宾域出现紧急情况

错误号 15803617:在解除绑定或实时迁移操作过程中,如果域配置有混合 I/O 虚拟网络设备,则 primary 域或活动的来宾域可能会出现紧急情况。

恢复:重新启动受影响的域。

解决方法:不使用混合 I/O 虚拟网络设备。

无法使用 ldm stopldm stop -f 命令停止域

错误号 15801579:在很少的情况下,无法使用 ldm stopldm stop -f 命令停止域。通常,仅当某些其他问题导致域硬挂起或者进入非常快速的紧急重新引导循环时,才发生此问题。

解决方法:如果无法直接登录到域,尝试多次发出 ldm stop -f 命令。在虚拟机管理程序可以停止域期间可以执行此命令。

如果此解决方法不成功,则对系统执行关开机循环。

当 11 个或更多域具有 PCIe 设备时,来宾域无法访问 PCIe 结构

错误号 15789903:如果控制域在 11 个或更多来宾域分配有 PCIe 端点设备时重新引导,则无法在来宾域上访问这些 PCIe 设备。

恢复:停止并重新启动受影响的来宾域。

解决方法:配置控制域和已分配有 PCIe 端点设备的来宾域之间的域依赖关系。以下依赖关系可确保具有 PCIe 端点设备的域能够在控制域因故重新引导时自动停止:

primary# ldm set-domain failure-policy=stop primary
primary# ldm set-domain master=primary ldom

从 XML 文件重新创建具有 PCIe 虚拟功能的域失败

错误号 15783851:尝试从错误地表示虚拟功能约束的 XML 文件重新创建配置时,可能会遇到问题。

使用 ldm list-constraints -x 命令保存具有 PCIe 虚拟功能的域的配置时,会发生此问题。

如果稍后使用 ldm add-domain -i 命令重新创建该域,原始虚拟功能将不复存在并且域绑定尝试将失败,同时显示以下错误消息:

No free matching PCIe device...

即使创建缺少的虚拟功能,另一个域绑定尝试也会失败,同时显示相同的错误消息,因为这些虚拟功能被 ldm add-domain 命令错误地分类为 PCIe 设备。

解决方法:使用 ldm list-io 命令保存关于虚拟功能的信息,随后使用 ldm rm-dom 命令销毁每个受影响的域。然后,使用 ldm create-vf 命令创建所有必需的虚拟功能。现在,可以使用 ldm 命令重建域。使用 ldm add-io 命令添加每个虚拟功能时,会将其正确地分类为虚拟功能设备,从而可以绑定域。

有关重建使用虚拟功能的域配置的信息,请参见ldm init-system 命令无法正确地重新创建具有虚拟功能设备的域

将控制域从使用整体核心更改为使用部分核心时发出不正确的错误消息

错误号 15783608:将控制域从使用物理上受约束的核心更改为使用不受约束的 CPU 资源时,可能会显示以下多余消息:

Whole-core partitioning has been removed from domain primary,because
dynamic reconfiguration has failed and the domain is now configured
with a partial CPU core.

解决方法:可以忽略此消息。

ldm init-system 命令无法正确地重新创建具有虚拟功能设备的域

错误号 15783031:使用 ldm list-constraints -x 命令将约束保存到 XML 文件时,不保存虚拟功能详细信息。因此,将配置重置为 factory-default 并运行 ldm init-system 命令来重新创建保存的配置时,将不会创建虚拟功能,并且所有域绑定尝试都将失败。

解决方法:如果任何现有配置具有虚拟功能,则保存关于这些虚拟功能的所有信息。随后可以在运行 ldm init-system 命令之前使用这些信息手动重新创建虚拟功能。

以下过程显示如何保存稍后要使用的有关虚拟功能的所有信息:

  1. 在文件 vfs.txt 中保存域配置,以用于重新创建虚拟功能。

    primary# ldm list-io -l -p | grep "type=VF" >vfs.txt

    vfs.txt 中的典型虚拟功能条目如下所示:

    |dev=pci@400/pci@1/pci@0/pci@4/network@0,83|alias=/SYS/MB/NET0/IOVNET.PF1.VF1|
    status=RDY|domain=ldg1|type=VF|class=NETWORK
    |proptype=class|mac-addr=00:14:4f:f9:74:d0
    |proptype=class|vlan-ids=3,5,7
    |proptype=class|mtu=1500
    |proptype=device|unicast-slots=6

    为了方便阅读,已特意将第一行拆分为两行。它在 vfs.txt 文件中将是一行。

  2. 将域重置为 factory-default 配置。

  3. 重新引导控制域。

  4. 基于 vfs.txt 文件中的信息创建虚拟功能。

    对于每个此类条目,通过 ldm create-vf 命令使用虚拟功能的原始名称和属性重新创建该虚拟功能。对示例虚拟功能使用以下命令:

    primary# ldm create-vf mac-addr=00:14:4f:f9:74:d0 vid=3,5,7 mtu=1500 \
    unicast-slots=6 /SYS/MB/NET0/IOVNET.PF1

    有关 classdevice 属性的详细信息,请参见 ldm(1M) 手册页。


    注 - 虚拟功能的名称是根据其父物理功能的名称生成的。因此,请在根据名称的虚拟功能部分增加数字顺序时执行 ldm create-vf 命令。例如,物理功能 /SYS/MB/NET0/IOVNET.PF1 具有以下子虚拟功能:

    /SYS/MB/NET0/IOVNET.PF1.VF0 mac-addr=00:14:4f:f9:74:d0
    /SYS/MB/NET0/IOVNET.PF1.VF1 mac-addr=00:14:4f:f9:74:d1

    以下命令用于创建虚拟功能:

    primary# ldm create-vf mac-addr=00:14:4f:f9:74:d0 /SYS/MB/NET0/IOVNET.PF1
    Created new VF: /SYS/MB/NET0/IOVNET.PF1.VF0
    primary# ldm create-vf mac-addr=00:14:4f:f9:74:d1 /SYS/MB/NET0/IOVNET.PF1
    Created new VF: /SYS/MB/NET0/IOVNET.PF1.VF1

    第一个 ldm create-vf 命令导致系统进入延迟重新配置模式。


  5. 验证新配置是否包括您手动创建的虚拟功能。

    primary# ldm list-io -l -p | grep "type=VF" >vfs.after.txt

    vfs.after.txt 文件的内容与 vfs.txt 文件进行比较。

  6. 重新引导控制域。

  7. 从 XML 文件重新配置域。

    primary# ldm init-system -i file.xml

您尝试同时修改许多域时 Logical Domains Manager 可能会崩溃并重新启动

错误号 15782994:您尝试可以影响许多域的配置的操作时,Logical Domains Manager 可能会崩溃并重新启动。如果同一虚拟交换机中的许多虚拟网络设备在许多域中存在,则您尝试更改与虚拟网络配置相关的任何设置时,可能会出现此问题。通常,如果大约 90 个或更多的域具有连接到同一虚拟交换机的虚拟网络设备并且 inter-vnet-link 属性处于启用状态(默认行为),则会出现此问题。通过在 ldmd 日志文件中查找以下消息以及在 /var/opt/SUNWldm 目录中查找 core 文件来确认症状:

Frag alloc for 'domain-name'/MD memory of size 0x80000 failed

解决方法:避免创建连接到同一虚拟交换机的许多虚拟网络设备。如果打算这样做,请在虚拟交换机上将 inter-vnet-link 属性设置为 off。请注意,此选项可能会对来宾域之间的网络性能产生负面影响。

尝试超过 ixgbe 物理功能和虚拟功能的最大单播插槽数的值并不会失败

错误号 15780217:尝试将 ixgbe 物理功能和虚拟功能的单播插槽数设置为超过最大限制允许的值时,命令成功。尝试超过此最大限制时应该失败,但没有失败。

使用以下命令确定设备支持的最大单播插槽数:

# ldm list-io -d pf-name

然后,确保提供给该物理功能中每个虚拟功能的总单播插槽数不超过此最大值。

控制域需要系统中的最低核心

错误号 15778392:控制域需要系统中的最低核心。因此,如果核心 ID 0 是最低核心,当您希望对控制域应用整体核心约束时,该核心无法与任何其他域共享。

例如,如果系统中的最低核心为核心 ID 0,控制域应该与以下输出类似:

# ldm ls -o cpu primary
NAME
primary

VCPU
VID    PID    CID    UTIL STRAND
0      0      0      0.4%   100%
1      1      0      0.2%   100%
2      2      0      0.1%   100%
3      3      0      0.2%   100%
4      4      0      0.3%   100%
5      5      0      0.2%   100%
6      6      0      0.1%   100%
7      7      0      0.1%   100%

ldmd 守护进程不联机

错误号 15777490:如果 Oracle VM Server for SPARC 2.2 软件安装在版本低于 Oracle Solaris 10 10/09 OS 的 Oracle Solaris OS 的控制域上,ldmd 守护进程的服务管理工具 (Service Management Facility, SMF) 服务将不会联机。发生这种情况是因为添加了对 svc:/ldoms/agents SMF 服务的显式 SMF 依赖关系。

解决方法:安装 ID 为 142909-17 的修补程序,该修补程序将增加对 svc:/ldoms/agents SMF 服务 (ldmad) 的支持,ldmd 依赖于该服务。

取消迁移后,在目标系统上运行的 ldm 命令不响应

错误号 15776752:如果取消实时迁移,在目标上创建的域实例的内存内容必须由虚拟机管理程序“清理”。此清理过程是出于安全原因而执行的,必须先完成该过程,然后内存才能返回到可用内存池。执行此清理时,ldm 命令变为不响应。因此,Logical Domains Manager 看起来处于挂起状态。

恢复:必须等待此清理请求完成,然后才能尝试运行其他 ldm 命令。此过程可能要花费较长时间。例如,具有 500 GB 内存的来宾域在 SPARC T4 服务器上可能最多花费 7 分钟完成此过程,在 SPARC T3 服务器上可能最多花费 25 分钟完成此过程。

某些 Emulex 卡在分配给 I/O 域后不工作

错误号 15776319:在控制域和一个 I/O 域上运行 Oracle Solaris OS 的系统中,分配给该 I/O 域的某些 Emulex 卡无法正常运行,因为这些卡不接收中断。但是,将这些卡分配给控制域时,它们可以正常工作。

以下 Emulex 卡会出现此问题:

解决方法:无。

在迁移到 SPARC T4 系统过程中运行 cputrack 命令时,来宾域出现紧急情况

错误号 15776123:将来宾域迁移到 SPARC T4 系统时,如果对该域运行 cputrack 命令,则迁移后目标计算机上的来宾域可能会出现紧急情况。

解决方法:在将来宾域迁移到 SPARC T4 系统过程中不要运行 cputrack 命令。

Oracle Solaris 11:DRM 窃取操作报告 Oracle Solaris DR 失败并重试

错误号 15775668:具有较高优先级策略的域可以从具有较低优先级策略的域窃取虚拟 CPU 资源。在此“窃取”操作执行过程中,在 ldmd 日志中可能会每隔 10 秒显示一次以下警告消息:

warning: Unable to unconfigure CPUs out of guest domain-name

解决方法:可以忽略这些误导消息。

限制可以分配给域的最大虚拟功能数

错误号 15775637:I/O 域限制每个根联合体的可用中断资源数。

在 SPARC T3 和 SPARC T4 系统上,该限制大约为 63 个 MSI/X 向量。每个 igb 虚拟功能使用三个中断。ixgbe 虚拟功能使用两个中断。

如果向域分配大量虚拟功能,该域将耗尽系统资源来支持这些设备。可能会显示类似如下的消息:

WARNING: ixgbevf32: interrupt pool too full.
WARNING: ddi_intr_alloc: cannot fit into interrupt pool

进行跨 CPU 迁移的来宾域在迁移完成后报告的运行时间不正确

错误号 15775055:在具有不同 CPU 频率的两台计算机之间迁移域后,ldm list 命令报告的运行时间可能不正确。出现这种不正确结果是因为运行时间是相对于运行该域的计算机的 STICK 频率来计算的。如果源计算机和目标计算机的 STICK 频率不同,运行时间的度量就会显得不正确。

来宾域自身报告和显示的运行时间是正确的。此外,在来宾域中 Oracle Solaris OS 执行的任何记帐都是正确的。

Oracle Solaris 10:使用 Intel Dual Port Ethernet Controller X540 卡引导时,ixgbe 驱动程序可能会导致出现紧急情况

错误号 15773603:使用 Intel dual port Ethernet Controller X540 卡引导时,Oracle Solaris 10 ixgbe 驱动程序可能会导致出现系统紧急情况。出现此紧急情况是因为该驱动程序具有高优先级计时器,其阻止连接其他驱动程序。

解决方法:重新引导系统。

8.2.0 版的系统固件包含新版本的 scvar 数据库

错误号 15772090:8.2.0 版的系统固件包含新版本的 scvar 数据库,其在安装完成后恢复为默认值。

解决方法:在安装系统固件之前,记下正在运行的 Oracle VM Server for SPARC 配置或任何更改的系统诊断属性。使用 ILOM show 命令。例如:

-> show /HOST/domain/configs

安装固件后,打开系统电源之前,使用 ILOM set 命令。例如:

-> set /HOST/bootmode config=config-name

此时,将保留 Oracle VM Server for SPARC 配置。但是,您必须选择是引导特定配置还是 factory-default 配置。

安装固件后,以下属性值将恢复为默认值:

/HOST
   Properties:
   autorunonerror
   ioreconfigure

/HOST/bootmode
   Properties:
   config

/HOST/diag
   Properties:
   error_reset_level
   error_reset_verbosity
   hw_change_level
   hw_change_verbosity
   level
   mode
   power_on_level
   power_on_verbosity
   trigger
   verbosity

/HOST/domain/control
   Properties:
   auto-boot
   boot_guests

/HOST/tpm
   Properties:
   enable
   activate
   forceclear

/SYS
   Properties:
   keyswitch_state

/SP/powermgmt
   Properties:
   policy

销毁所有虚拟功能并将插槽返回到根域无法恢复根联合体资源

错误号 15765858:销毁所有虚拟功能并将插槽返回到根域后,根联合体上的资源未恢复。

解决方法:将特定 PCIe 总线的 iov 选项设置为 off

primary# ldm start-reconf primary
primary# ldm set-io iov=off pci_0

应该对具有 PCIe 到 PCI 桥的 PCIe 卡禁用 ldm remove-io

错误号 15761509:只使用支持直接 I/O (Direct I/O, DIO) 功能的 PCIe 卡,在此支持文档 中列出了这类卡。

解决方法:使用 ldm add-io 命令向 primary 域重新添加该卡。

如果在 ldm start 命令后立即发出 ldm stop 命令,后者可能会失败

错误号 15759601:如果在 ldm start 命令后立即发出 ldm stop 命令,ldm stop 命令可能会失败,并显示以下错误:

LDom domain stop notification failed

解决方法:重新发出 ldm stop 命令。

init-system 无法从保存的 XML 文件为来宾域恢复指定的核心约束

错误号 15758883:ldm init-system 命令无法从保存的 XML 文件为来宾域恢复指定的 CPU 核心约束。

解决方法:执行以下步骤:

  1. 为主域创建 XML 文件。

    # ldm ls-constraints -x primary > primary.xml
  2. 为来宾域创建 XML 文件。

    # ldm ls-constraints -x ldom[,ldom][,...] > guest.xml
  3. 对系统执行关开机循环并以工厂默认配置进行引导。

  4. primary 域应用 XML 配置。

    # ldm init-system -r -i primary.xml
  5. 重新引导。

  6. 向来宾域应用 XML 配置。

    # ldm init-system -f -i guest.xml

使用 ldm set-io 连续更改 pvid 值两次可能会导致配置失败

错误号 15753523:使用 ldm set-io 命令多次更改虚拟功能的 pvid 属性值可能会导致在虚拟功能硬件上设置的 pvid 值不正确。

解决方法:等待几秒钟后再次运行 ldm set-io 命令。

重新引导分配了大量虚拟功能的 primary 域时系统出现紧急情况

错误号 15750727:重新引导分配有大量虚拟功能的 primary 域时,系统出现紧急情况。

解决方法:执行以下解决方法之一:

不明确的 SR-IOV 错误消息:Create vf failed

错误号 15748555:尝试比物理功能设备的最大可配置虚拟功能数多创建一个虚拟功能时,发出 Create vf failed 消息。此错误消息未明确说明失败原因。

Oracle Solaris 11 OS:使用直接 I/O 从多插槽 SPARC T 系列系统或 Fujitsu M10 系统上的 primary 域中删除多个 PCIe 插槽可能会导致引导时出现紧急情况

错误号 15748357:如果使用直接 I/O (ldm remove-io) 从多插槽 SPARC T 系列系统或 Fujitsu M10 系统中删除多个 PCIe 插槽,系统可能会在引导时出现紧急情况。多个 PCIe 插槽的路径彼此相似(根联合体路径除外)时会出现此问题。您删除 PCIe 插槽然后重新引导 primary 域后,可能会出现紧急情况。有关直接 I/O (Direct I/O, DIO) 功能的更多信息,请参见《Oracle VM Server for SPARC 3.0 管理指南》中的"分配 PCIe 端点设备"

例如,如果删除具有相似路径名的 /SYS/MB/PCIE5 (pci@500/pci@2/pci@0/pci@0) 和 /SYS/MB/PCIE4 (pci@400/pci@2/pci@0/pci@0) 插槽,下次引导 Oracle Solaris 11 OS 时可能会出现紧急情况。

删除 /SYS/MB/PCIE4/SYS/MB/PCIE5 PCIe 插槽后,运行以下 ldm list-io 命令。

# ldm list-io
IO              PSEUDONYM       DOMAIN
--              ---------       ------
pci@400         pci_0           primary
niu@480         niu_0           primary
pci@500         pci_1           primary
niu@580         niu_1           primary

PCIE                       PSEUDONYM       STATUS  DOMAIN
----                       ---------       ------  ------
pci@400/pci@2/pci@0/pci@8  /SYS/MB/PCIE0   OCC     primary
pci@400/pci@2/pci@0/pci@4  /SYS/MB/PCIE2   OCC     primary
pci@400/pci@2/pci@0/pci@0  /SYS/MB/PCIE4   OCC
pci@400/pci@1/pci@0/pci@8  /SYS/MB/PCIE6   OCC     primary
pci@400/pci@1/pci@0/pci@c  /SYS/MB/PCIE8   OCC     primary
pci@400/pci@2/pci@0/pci@e  /SYS/MB/SASHBA  OCC     primary
pci@400/pci@1/pci@0/pci@4  /SYS/MB/NET0    OCC     primary
pci@500/pci@2/pci@0/pci@a  /SYS/MB/PCIE1   OCC     primary
pci@500/pci@2/pci@0/pci@6  /SYS/MB/PCIE3   OCC     primary
pci@500/pci@2/pci@0/pci@0  /SYS/MB/PCIE5   OCC
pci@500/pci@1/pci@0/pci@6  /SYS/MB/PCIE7   OCC     primary
pci@500/pci@1/pci@0/pci@0  /SYS/MB/PCIE9   OCC     primary
pci@500/pci@1/pci@0/pci@5  /SYS/MB/NET2    OCC     primary
#

解决方法:不要删除具有相似路径名的所有插槽。请仅删除一个此类 PCIe 插槽。

还可以将 PCIe 卡插入没有相似路径的插槽中,然后将它们用于 DIO 功能。

使用部分核心的 primary 域无法进行整体核心 DR 转换

错误号 15748348:primary 域与其他域共享最低物理核心(通常为 0)时,尝试为 primary 域设置整体核心约束失败。

解决方法:执行以下步骤:

  1. 确定域共享的最低绑定核心。

    # ldm list -o cpu
  2. 从除 primary 域之外的所有域解除绑定最低核心的所有 CPU 线程。

    因此,最低核心的 CPU 线程不再共享,可以绑定到 primary 域。

  3. 通过执行以下操作之一设置整体核心约束:

    • 通过使用 ldm set-vcpu -c 命令将 CPU 线程绑定到 primary 域并设置整体核心约束。

    • 使用 ldm set-core 命令在一个步骤中绑定 CPU 线程并设置整体核心约束。

primary 域重新引导后,分配给 primary 域的 igbixgbe 虚拟功能出现故障

错误号 15747047:重新引导 primary 域后,igbixgbe 虚拟功能设备出现故障。这些虚拟功能将分配给 primary 域。系统仅配置有 primary 域。未配置来宾域或 I/O 域。

fmadm faulty 命令显示每个虚拟功能设备出现故障。使用 fmadm repair 命令,您可以从故障进行恢复,但是每次重新引导 primary 域时故障状态都会重现。

解决方法:每次重新引导 primary 域时使用 fmadm repair 命令从故障进行恢复。

引导后,ldm list-io 命令显示 UNK 或 INV 状态

错误号 15738561:如果在引导 primary 域后立即运行 ldm list-io 命令,该命令可能会对 PCIe 插槽和 SR-IOV 虚拟功能显示 UNK 或 INV 状态。Oracle Solaris OS 中 Logical Domains 代理回复延迟会导致此问题。

只在少数几个系统上报告了此问题。

解决方法:从 Logical Domains 代理收到信息后,自动更新 PCIe 插槽和虚拟功能的状态。

在 SPARC T4-4 上迁移内存非常大的域会导致目标系统上的域出现紧急情况

错误号 15731303:避免迁移具有 500 GB 以上内存的域。使用 ldm list -o mem 命令查看域的内存配置。如果一些内存配置具有多个内存块并且这些内存块总和超过 500 GB,则这些内存配置可能会出现紧急情况,并产生类似下面的堆栈:

panic[cpu21]/thread=2a100a5dca0:
BAD TRAP: type=30 rp=2a100a5c930 addr=6f696e740a232000 mmu_fsr=10009

sched:data access exception: MMU sfsr=10009: Data or instruction address
out of range context 0x1

pid=0, pc=0x1076e2c, sp=0x2a100a5c1d1, tstate=0x4480001607, context=0x0
g1-g7: 80000001, 0, 80a5dca0, 0, 0, 0, 2a100a5dca0

000002a100a5c650 unix:die+9c (30, 2a100a5c930, 6f696e740a232000, 10009,
2a100a5c710, 10000)
000002a100a5c730 unix:trap+75c (2a100a5c930, 0, 0, 10009, 30027b44000,
2a100a5dca0)
000002a100a5c880 unix:ktl0+64 (7022d6dba40, 0, 1, 2, 2, 18a8800)
000002a100a5c9d0 unix:page_trylock+38 (6f696e740a232020, 1, 6f69639927eda164,
7022d6dba40, 13, 1913800)
000002a100a5ca80 unix:page_trylock_cons+c (6f696e740a232020, 1, 1, 5,
7000e697c00, 6f696e740a232020)
000002a100a5cb30 unix:page_get_mnode_freelist+19c (701ee696d00, 12, 1, 0, 19, 3)
000002a100a5cc80 unix:page_get_cachelist+318 (12, 1849fe0, ffffffffffffffff, 3,
0, 1)
000002a100a5cd70 unix:page_create_va+284 (192aec0, 300ddbc6000, 0, 0,
2a100a5cf00, 300ddbc6000)
000002a100a5ce50 unix:segkmem_page_create+84 (18a8400, 2000, 1, 198e0d0, 1000,
11)
000002a100a5cf60 unix:segkmem_xalloc+b0 (30000002d98, 0, 2000, 300ddbc6000, 0,
107e290)
000002a100a5d020 unix:segkmem_alloc_vn+c0 (30000002d98, 2000, 107e000, 198e0d0,
30000000000, 18a8800)
000002a100a5d0e0 genunix:vmem_xalloc+5c8 (30000004000, 2000, 0, 0, 80000, 0)
000002a100a5d260 genunix:vmem_alloc+1d4 (30000004000, 2000, 1, 2000,
30000004020, 1)
000002a100a5d320 genunix:kmem_slab_create+44 (30000056008, 1, 300ddbc4000,
18a6840, 30000056200, 30000004000)
000002a100a5d3f0 genunix:kmem_slab_alloc+30 (30000056008, 1, ffffffffffffffff,
0, 300000560e0, 30000056148)
000002a100a5d4a0 genunix:kmem_cache_alloc+2dc (30000056008, 1, 0, b9,
fffffffffffffffe, 2006)
000002a100a5d550 genunix:kmem_cpucache_magazine_alloc+64 (3000245a740,
3000245a008, 7, 6028f283750, 3000245a1d8, 193a880)
000002a100a5d600 genunix:kmem_cache_free+180 (3000245a008, 6028f2901c0, 7, 7,
7, 3000245a740)
000002a100a5d6b0 ldc:vio_destroy_mblks+c0 (6028efe8988, 800, 0, 200, 19de0c0, 0)
000002a100a5d760 ldc:vio_destroy_multipools+30 (6028f1542b0, 2a100a5d8c8, 40,
0, 10, 30000282240)
000002a100a5d810 vnet:vgen_unmap_rx_dring+18 (6028f154040, 0, 6028f1a3cc0, a00,
200, 6028f1abc00)
000002a100a5d8d0 vnet:vgen_process_reset+254 (1, 6028f154048, 6028f154068,
6028f154060, 6028f154050, 6028f154058)
000002a100a5d9b0 genunix:taskq_thread+3b8 (6028ed73908, 6028ed738a0, 18a6840,
6028ed738d2, e4f746ec17d8, 6028ed738d4)

解决方法:避免迁移具有 500 GB 以上内存的域。

从来宾域中删除大量 CPU 会失败

错误号 15726205:尝试从来宾域中删除大量 CPU 时会显示以下错误消息:

Request to remove cpu(s) sent, but no valid response received
VCPU(s) will remain allocated to the domain, but might
not be available to the guest OS
Resource modification failed

解决方法:从域中删除 100 个以上 CPU 之前停止来宾域。

无法使用 Oracle Solaris 热插拔操作来热删除 PCIe 端点设备

错误号 15721872:使用 ldm rm-io 命令将 PCIe 端点设备从 primary 域中删除之后,不能使用 Oracle Solaris 热插拔操作来热删除该设备。有关替换或删除 PCIe 端点设备的信息,请参见《Oracle VM Server for SPARC 3.0 管理指南》中的"更改 PCIe 硬件"

对于没有分片 2 的物理磁盘,虚拟磁盘验证失败

错误号 15713809:如果物理磁盘配置了大小为 0 的分片 2,可能会遇到以下问题:

另一种可同时这解决两个问题的方法是,永久禁用 ldm add-vdsdevldm bind 命令所执行的磁盘验证。因此,不必指定 -q 选项。通过更新 ldmd 服务的 device_validation 属性永久禁用磁盘验证。

# svccfg -s ldmd setprop ldmd/device_validation=value
# svcadm refresh ldmd
# svcadm restart ldmd

指定值 0 可禁用对网络和磁盘设备的验证。指定值 1 可禁用对磁盘设备的验证,但仍然启用对网络设备的验证。

device_validation 属性可能的值有:

0

对所有设备禁用验证

1

对网络设备启用验证

2

对磁盘设备启用验证

3

对网络和磁盘设备启用验证

-1

对所有类型的设备启用验证,这是默认设置

迁移包含混合 I/O 和虚拟 I/O 虚拟网络设备的来宾域时,nxge 出现紧急情况

错误号 15710957:如果高负载的来宾域具有混合 I/O 配置并且您尝试迁移该域,nxge 可能会出现紧急情况。

解决方法:将以下行添加到 primary 域和作为该域的混合 I/O 配置一部分的任何服务域中的 /etc/system 文件:

set vsw:vsw_hio_max_cleanup_retries = 0x200

迁移过程中丢失共享 NFS 资源时所有 ldm 命令挂起

错误号 15708982:已启动的或正在进行中的迁移,或任何 ldm 命令永远挂起。当要迁移的域使用了来自其他系统的共享文件系统,而该文件系统已不再共享时,会出现此情况。

解决方法:使共享文件系统可以重新访问。

如果系统日志服务不联机,Logical Domains 代理服务就无法联机

错误号 15707426:如果系统日志服务 svc:/system/system-log 启动失败且未能联机,则 Logical Domains 代理服务将不会联机。Logical Domains 代理服务没有联机时,virtinfoldm add-vswldm add-vdsdevldm list-io 命令可能无法按预期工作。

解决方法:确保 svc:/ldoms/agents:default 服务已启用且已联机:

# svcs -l svc:/ldoms/agents:default

如果 svc:/ldoms/agents:default 服务处于脱机状态,请验证该服务是否已启用,并且所有相关服务是否处于联机状态。

内核死锁导致计算机在迁移过程中挂起

错误号 15704500:迁移活动来宾域可能会挂起源计算机并导致其变为不响应。出现此问题时,将向控制台和 /var/adm/messages 文件写入以下消息:

vcc: i_vcc_ldc_fini: cannot close channel 15

vcc: [ID 815110 kern.notice] i_vcc_ldc_fini: cannot
close channel 15

请注意,显示的通道号是 Oracle Solaris 内部通道号,每个警告消息的内部通道号可能会各不相同。

解决方法:迁移域之前,与来宾域的控制台断开连接。

恢复:对源计算机执行关开机循环。

DRM 和 ldm list 输出显示的虚拟 CPU 数与来宾域中的实际虚拟 CPU 数不符

错误号 15702475:如果已装入域的 DRM 策略在 CPU 计数大幅减少后过期,Oracle VM Server for SPARC 日志中可能会出现 No response 消息。ldm list 输出中显示的分配给域的 CPU 资源多于 psrinfo 输出中显示的数量。

解决方法:使用 ldm set-vcpu 命令将域中的 CPU 数重置为 psrinfo 输出中显示的值。

对依赖于目标计算机上的非活动主域的域进行实时迁移导致 ldmd 发生故障并具有分段故障

错误号 15701865:如果尝试对依赖于目标计算机上的非活动域的域进行实时迁移,ldmd 守护进程将发生故障并具有分段故障,并且目标计算机上的域将重新启动。虽然仍可以执行迁移,但将不是实时迁移。

解决方法:尝试实时迁移之前,执行以下操作之一:

删除策略或策略过期后,DRM 无法为迁移后的域恢复默认数量的虚拟 CPU

错误号 15701853:在 DRM 策略生效时执行域迁移后,如果 DRM 策略过期或将其从迁移后的域中删除,DRM 将无法为该域恢复原始数量的虚拟 CPU。

解决方法:如果在 DRM 策略有效时迁移域,并且随后 DRM 策略过期或被删除,请重置虚拟 CPU 的数量。使用 ldm set-vcpu 命令在域中将虚拟 CPU 的数量设置为原始值。

DR 过程中虚拟 CPU 超时失败

错误号 15701258:对包含超过 100 个虚拟 CPU 和一些加密单元的来宾域运行 ldm set-vcpu 1 命令无法删除虚拟 CPU。未能删除虚拟 CPU 是由于 DR 超时错误。加密单元可以成功删除。

解决方法:使用 ldm rm-vcpu 命令从来宾域中删除除一个虚拟 CPU 之外的所有虚拟 CPU。请一次删除超过 100 个虚拟 CPU。

当系统 MAC 地址与其他 MAC 地址发生冲突时,不报告迁移失败原因

错误号 15699763:如果域中包含重复的 MAC 地址,则无法迁移该域。通常,如果迁移由于此原因失败,失败消息会显示重复的 MAC 地址。但在极少数情况下,此失败消息可能不会报告重复的 MAC 地址。

# ldm migrate ldg2 system2
Target Password:
Domain Migration of LDom ldg2 failed

解决方法:确保目标计算机上的 MAC 地址是唯一的。

“相反方向”的同时迁移操作可能会导致 ldm 挂起

错误号 15696986:如果在“相反方向”上同时发出两个 ldm migrate 命令,这两个命令可能会挂起,永不会完成。如果启动了从计算机 A 到计算机 B 的迁移,同时又启动了从计算机 B 到计算机 A 的迁移,就会出现相反方向操作。

即使迁移过程是使用 -n 选项启动的模拟运行,也会导致挂起。出现此问题时,所有其他 ldm 命令均可能挂起。

解决方法:无。

从控制域中删除大量 CPU 会失败

错误号 15677358:使用延迟重新配置(而不是动态重新配置)从控制域(也称为 primary 域)中删除超过 100 个 CPU。执行以下步骤:

  1. 使用 ldm start-reconf primary 命令将控制域置于延迟重新配置模式下。

  2. 删除所需数量的 CPU 资源。

    如果删除 CPU 资源时出错,在控制域仍处于延迟重新配置状态时,不要尝试其他删除 CPU 的请求。如果尝试,命令将失败(请参见在延迟重新配置期间,仅允许执行一个 CPU 配置操作)。相反,通过使用 ldm cancel-reconf 命令撤消延迟重新配置,然后重新启动。

  3. 重新引导控制域。

设置了弹性策略并且在运行 Oracle Solaris 10 8/11 OS 的系统可能会挂起

错误号 15672651 和 15731467:在以下条件下,登录或执行命令时 OS 可能会挂起:

解决方法:应用 ID 为 147149-01 的修补程序。

pkgadd 无法在 /var/svc/manifest/platform/sun4v/ldmd.xml 上设置 ACL 项

错误号 15668881:使用 pkgadd 命令从某个目录(该目录通过 NFS 从 Sun ZFS 存储设备导出)安装 SUNWldm.v 软件包时,会显示以下错误消息:

cp: failed to set acl entries on /var/svc/manifest/platform/sun4v/ldmd.xml

解决方法:忽略此消息。

SPARC T3-1:可通过多个直接 I/O 路径访问的磁盘会出现问题

错误号 15668368:可以在 SPARC T3-1 系统上安装双端口磁盘,这些磁盘可通过两个不同的直接 I/O 设备访问。在这种情况下,如果将这两个直接 I/O 设备分配给不同的域,可能会导致这些磁盘供这两个域使用并在实际使用当中相互影响。

解决方法:不将能够访问同一组磁盘的直接 I/O 设备指定给不同的 I/O 域。要确定 T3-1 系统上是否有双端口磁盘,请对 SP 运行以下命令:

-> show /SYS/SASBP

如果输出中包含以下 fru_description 值,则说明相应的系统上有双端口磁盘:

fru_description = BD,SAS2,16DSK,LOUISE

如果发现系统中存在双端口磁盘,请确保始终将下面的两个直接 I/O 设备分配给同一个域:

pci@400/pci@1/pci@0/pci@4  /SYS/MB/SASHBA0
pci@400/pci@2/pci@0/pci@4  /SYS/MB/SASHBA1

对多个已激活的 NIU nxge 实例执行内存 DR 删除操作可能会无限期挂起而且永远无法完成

错误号 15667770:当在域上激活多个 NIU nxge 实例时,用来从域中删除内存的 ldm rm-memldm set-mem 命令可能永远无法完成。要确定在执行内存删除操作期间是否出现此问题,请使用 ldm list -o status 命令监视内存删除操作的进度。如果进度百分比在几分钟内一直保持恒定,则说明您可能遇到了此问题。

恢复:取消 ldm rm-memldm set-mem 命令。

解决方法:取消 ldm rm-memldm set-mem 命令,并检查是否删除了足够多的内存。如果没有,则随后发出的用来删除较少量内存的内存删除命令可能会成功完成。

如果在 primary 域上出现此问题,请执行以下操作:

  1. 在 primary 域上启动延迟重新配置操作。

    # ldm start-reconf primary
  2. 为该域指定所需的内存量。

  3. 重新引导 primary 域。

如果此问题出现在另一个域上,请先停止这个有问题的域,然后再调整为该域指定的内存量。

对具有主-从关系的域使用 ldm stop -a 命令会在从域中设置 stopping 标志

错误号 15664666:在创建了重置依赖性之后,ldm stop -a 命令可能会导致具有重置依赖性的域重新启动(而不只是停止)。

解决方法:首先向主域发出 ldm stop 命令,然后向从域发出 ldm stop 命令。如果最初停止从域时导致故障,请向从域发出 ldm stop -f 命令。

迁移启用了默认 DRM 策略的域导致为目标域指定所有可用的 CPU

错误号 15655513:在迁移处于活动状态的域之后,迁移后的域中的 CPU 利用率可能会在短时间内显著提高。如果在迁移时,对于该域存在有效的动态资源管理 (Dynamic Resource Managment, DRM) 策略,Logical Domains Manager 可能会开始添加 CPU。特别是,如果在添加策略时未指定 vcpu-maxattack 属性,则默认值 unlimited 会导致将目标计算机中所有未绑定的 CPU 添加到迁移后的域中。

恢复:没有必要执行恢复。当 CPU 利用率下降到低于 DRM 策略所指定的上限之后,Logical Domains Manager 会自动删除 CPU。

某个正在使用中的 MAC 地址可以被重新分配

错误号 15655199:有时检测不到正在使用中的 MAC 地址,这些地址被错误地重新分配。

解决方法:手动确保正在使用中的 MAC 地址不被重新分配。

ldmconfig 无法在 SP 上创建域配置

错误号 15654965:ldmconfig 脚本无法在服务处理器 (Service Processor, SP) 上正确创建存储逻辑域配置。

解决方法:ldmconfig 脚本完成并且域重新引导后,请关闭系统电源然后再打开。而应该执行以下手动步骤:

  1. 将配置添加到 SP。

    # ldm add-spconfig new-config-name
  2. 从 SP 中删除 primary-with-clients 配置。

    # ldm rm-spconfig primary-with-clients
  3. 关闭系统电源,然后再打开系统电源。

如果在系统关开机循环之前未执行这些步骤,primary-with-client 配置的存在将导致域变为不活动。在这种情况下,必须手动绑定每个域,然后通过运行 ldm start -a 命令启动它们。引导来宾域后,重复此序列会使来宾域在关开机循环后自动引导。

cpu0 处于脱机状态时,可能会阻止对 Oracle Solaris 域进行非协同迁移

错误号 15653424:如果处于活动状态的域运行的发行版低于 Oracle Solaris 10 10/09 OS 发行版,而且该域中编号最小的 CPU 处于 offline 状态,则在迁移该域时可能会失败。当 Logical Domains Manager 使用 CPU DR 将该域缩减到包含单个 CPU 时,迁移操作会失败。在这种情况下,Logical Domains Manager 将尝试删除该域中除编号最小的 CPU 以外的所有 CPU,但是,由于编号最小的 CPU 处于脱机状态,因此迁移操作会失败。

解决方法:在尝试执行迁移之前,请确保域中编号最小的 CPU 处于 online 状态。

在取消迁移之后,内存 DR 处于禁用状态

错误号 15646293:在执行迁移操作过程中,暂停 Oracle Solaris 10 9/10 域之后,内存动态重新配置 (Dynamic Reconfiguration, DR) 会被禁用。此操作不仅在迁移成功时发生,在取消迁移后也会发生(尽管域仍保留在源计算机上)。

有时,对虚拟网络设备的 MTU 值执行动态重新配置会失败

错误号 15631119:如果您修改控制域上虚拟网络设备的最大传输单元 (Maximum Transmission Unit, MTU),则会触发延迟重新配置操作。如果后来取消了延迟重新配置,则该设备的 MTU 值不会恢复到其初始值。

恢复:重新运行 ldm set-vnet 命令以将 MTU 设置为其初始值。重置 MTU 值会将控制域置于延迟重新配置模式,而该模式需要取消。所得到的 MTU 值现在是最初的正确 MTU 值。

# ldm set-vnet mtu=orig-value vnet1 primary
# ldm cancel-op reconf primary

当目标 OS 不支持对加密单元执行 DR 时,具有 MAU 的迁移域仅包含一个 CPU

错误号 15606220:从 Logical Domains 1.3 发行版开始,即使域绑定了一个或多个加密单元,也可能会对该域进行迁移。

在以下情况下,在完成迁移后,目标计算机上将仅包含一个 CPU:

在完成迁移之后,目标域将成功恢复而且将正常工作,但是将处于降级状态(仅包含一个 CPU)。

解决方法:在迁移之前,从运行 Logical Domains 1.3 的源计算机中删除加密单元。

缓解:要避免出现此问题,请执行以下的一个或两个步骤:

实际地址内存绑定故障显示令人困惑的迁移失败消息

错误号 15605806:在某些情况下,迁移失败时会显示以下错误消息,并且 ldmd 报告它无法绑定源域所需的内存。即使目标计算机上的可用内存总量大于源域正使用的内存量(如 ldm ls-devices -a mem 所示),也会出现此情况。

Unable to bind 29952M memory region at real address 0x8000000
Domain Migration of LDom ldg0 failed

原因:出现这种故障的原因是无法满足目标计算机上实际地址 (Real Address, RA) 和物理地址 (Physical Address, PA) 之间的一致性要求。

解决方法:停止该域并以冷迁移形式执行迁移。还可以将来宾域上的内存量减少 128 MB,这可能会允许在域运行期间继续迁移。

从域中动态删除所有的加密单元导致 SSH 终止

错误号 15600969:如果从正在运行的域中动态删除所有的硬件加密单元,加密框架将无法无缝地切换到软件加密提供程序,而且会中止所有 ssh 连接。

恢复:在从域中删除所有的加密单元之后,重新建立 ssh 连接。

解决方法:在服务器端上的 /etc/ssh/sshd_config 文件中设置 UseOpenSSLEngine=no,然后运行 svcadm restart ssh 命令。

所有的 ssh 连接将不再使用硬件加密单元(因此也无法获得相关的性能提升),ssh 连接不会在删除加密单元之后断开。

PCI Express Dual 10-Gigabit Ethernet Fiber 卡在 ldm list-io -l 输出中显示四个子设备

错误号 15597025:在装有 PCI Express Dual 10-Gigabit Ethernet Fiber 卡 (X1027A-Z) 的系统上运行 ldm ls-io -l 命令时,输出中可能会显示如下内容:

primary# ldm ls-io -l
...
pci@500/pci@0/pci@c PCIE5 OCC primary
network@0
network@0,1
ethernet
ethernet

即使该以太网卡只有两个端口,输出中也会显示四个子设备。出现这种异常的原因在于该卡有四个 PCI 功能。其中的两个功能在内部禁用,在 ldm ls-io -l 输出中显示为 ethernet

解决方法:可以忽略 ldm ls-io -l 输出中的 ethernet 条目。

当多个域正在引导时,ldm 命令很慢,无法响应

错误号 15572184:当多个域正在引导时,ldm 命令可能很慢,无法响应。如果在该阶段发出 ldm 命令,该命令可能看起来处于挂起状态。请注意,在执行预期的任务之后,ldm 命令将返回。在该命令返回之后,系统应当能够正常响应 ldm 命令。

解决方法:避免同时引导许多域。但是,如果您必须同时引导多个域,请避免在系统恢复到正常状态之前进一步发出 ldm 命令。例如,在 Oracle Sun SPARC Enterprise T5140 和 T5240 服务器上等待两分钟左右,在 Oracle Sun SPARC Enterprise T5440 服务器或 Netra T5440 服务器上等待四分钟左右。

Oracle Solaris 11:配置有自动网络接口的区域可能无法启动

错误号 15560811:在 Oracle Solaris 11 中,配置有自动网络接口 (anet) 的区域在仅具有 Logical Domains 虚拟网络设备的域中可能无法启动。

Oracle Solaris 10:未在控制域中正确创建虚拟网络设备

错误号 15560201:有时,当您在域中添加虚拟网络或虚拟磁盘设备之后,ifconfig 指示该设备不存在。这种情况可能是由于未创建 /devices 条目而导致的。

尽管在正常操作期间不应发生此问题,但是,当虚拟网络设备的实例编号与 /etc/path_to_inst 文件中列出的实例编号不匹配时,会看到此错误。

例如:

# ifconfig vnet0 plumb
ifconfig: plumb: vnet0: no such interface

虚拟设备的实例编号显示在 ldm list 输出的 DEVICE 列下面:

# ldm list -o network primary
NAME             
primary          

MAC
 00:14:4f:86:6a:64

VSW
 NAME         MAC               NET-DEV DEVICE   DEFAULT-VLAN-ID PVID VID MTU  MODE  
 primary-vsw0 00:14:4f:f9:86:f3 nxge0   switch@0 1               1        1500        

NETWORK
 NAME   SERVICE              DEVICE    MAC               MODE PVID VID MTU  
 vnet1  primary-vsw0@primary network@0 00:14:4f:f8:76:6d      1        1500

可以将该实例编号(对于前面显示的 vnetvsw 均为 0)与 path_to_inst 文件中的实例编号进行比较以确保它们匹配。

# egrep '(vnet|vsw)' /etc/path_to_inst
"/virtual-devices@100/channel-devices@200/virtual-network-switch@0" 0 "vsw"
"/virtual-devices@100/channel-devices@200/network@0" 0 "vnet"

解决方法:如果实例编号不匹配,请删除虚拟网络或虚拟交换机设备,然后通过显式指定所需的实例编号(方法是设置 id 属性)来再次添加这些设备。

还可以手动编辑 /etc/path_to_inst 文件。请参见 path_to_inst(4) 手册页。


注意

注意 - 请注意该手册页中的如下警告:"changes should not be made to /etc/path_to_inst without careful consideration."(在对 /etc/path_to_inst 进行更改时一定要格外小心)。


在配置了 Logical Domains 的情况下,新添加的 NIU/XAUI 适配器在主机 OS 中不可见

错误号 15555509:如果在系统上配置了 Logical Domains 的情况下添加了另外一个 XAUI 网卡,则对该计算机执行关开机循环之后,该卡将不可见。

恢复:要使新添加的 XAUI 在控制域中可见,请执行以下步骤:

  1. 设置和清除控制域中的伪变量。

    以下命令使用一个名为 fix-xaui 的伪变量:

    # ldm set-var fix-xaui=yes primary
    # ldm rm-var fix-xaui primary
  2. 将修改后的配置保存到 SP,替换当前的配置。

    以下命令使用 config1 作为配置名称:

    # ldm rm-spconfig config1
    # ldm add-spconfig config1
  3. 在对控制域执行重新配置后重新引导。

    # reboot -- -r

    此时,可以配置新提供的网络,使其可供 Logical Domains 使用。

e1000g 引导时,I/O 域或来宾域出现紧急情况

错误号 15543982:可以在诸如 Sun Fire T5240 之类的系统上最多配置两个具有专用 PCI-E 根联合体的域。这些系统具有两个 UltraSPARC T2 Plus CPU 和两个 I/O 根联合体。

pci@500pci@400 是系统中的两个根联合体。primary 域始终至少包含一个根联合体。可以为另外一个域配置未指定或未绑定的根联合体。

pci@400 结构(或叶)包含板载 e1000g 网卡。以下情况可能会导致域出现紧急情况:

如果在非 primary 域中配置了以下网络设备,请避免使用它们:

/pci@400/pci@0/pci@c/network@0,1
/pci@400/pci@0/pci@c/network@0

当满足这些条件时,域将出现紧急情况,而且会出现 PCI-E 致命错误。

请避免进行这样的配置,如果使用了这样的配置,请不要从上面列出的设备进行引导。

显式控制台组和端口绑定未迁移

错误号 15527921:在迁移期间,会忽略显式指定的任何控制台组和端口,而且会为目标域创建一个具有默认属性的控制台。此控制台是通过使用目标域名称作为控制台组并使用控制域中第一个虚拟控制台集中器 (vcc) 设备上的任意可用端口创建的。如果与默认组名有冲突,迁移将失败。

恢复:要在迁移之后恢复显式控制台属性,请解除对目标域的绑定,然后使用 ldm set-vcons 命令手动设置所需的属性。

当目标上的 vdsdev 具有不同的后端时迁移不失败

错误号 15523133:如果目标计算机上的虚拟磁盘不指向源计算机上所使用的同一个磁盘后端,则迁移后的域无法访问使用该磁盘后端的虚拟磁盘。在访问域上的虚拟磁盘时,可能会挂起。

目前,Logical Domains Manager 仅检查源计算机上与目标计算机上的虚拟磁盘卷名称是否相匹配。在这种情况下,如果磁盘后端不匹配,不会显示错误消息。

解决方法:确保在将目标域配置为接收迁移的域时,目标域上的磁盘卷 (vdsdev) 与源域上使用的磁盘后端相匹配。

恢复:如果发现目标计算机上的虚拟磁盘设备指向不正确的磁盘后端,请执行以下操作之一:

即使目标有足够的可用内存,迁移功能也无法绑定内存

错误号 15523120:在某些情况下,迁移会失败,ldmd 会报告它无法绑定源域所需的内存。即使目标计算机上的可用内存总量大于源域正在使用的内存量,也会出现此情况。

出现这种故障的原因是,迁移正由源域使用的特定内存范围需要目标上也有一致的可用内存范围。如果对于源域中的任何内存范围没有找到此类一致的内存范围,迁移将无法继续。

恢复:遇到这种情况时,可以修改目标计算机上的内存使用情况来迁移域。为此,请解除绑定目标上任何已绑定的或处于活动状态的逻辑域。

使用 ldm list-devices -a mem 命令可以查看可用的内存及其使用方式。您可能还需要减少指定给另一个域的内存量。

当计算机未联网而且 NIS 客户机正在运行时,Logical Domains Manager 不启动

错误号 15518409:如果您的计算机上运行有网络信息服务 (Network Information Service, NIS) 客户机,但未配置网络,则 Logical Domains Manager 将无法在您的系统上启动。

解决方法:在非联网计算机上禁用 NIS 客户机:

# svcadm disable nis/client

当迁移后的域已经引导时,Logical Domains Manager 将这些域显示为处于过渡状态

错误号 15516245:有时,处于活动状态的逻辑域在完成引导很长时间之后或者在完成域迁移之后,显示为处于转换状态,而不是正常状态。这个小错误没有任何害处,该域仍能够完全正常运行。要查看设置了哪个标志,请检查 ldm list -l -p 命令输出中的 flags 字段,或者检查 ldm list 命令的 FLAGS 字段,这两个字段会显示 -n----(表示正常)或 -t----(表示转换)。

恢复:下次重新引导后,该域显示正确的状态。

除非重新启动 vntsd,否则无法连接到迁移后的域控制台

错误号 15513998:有时,在迁移域之后,无法连接到该域的控制台。

解决方法:重新启动 vntsd SMF 服务以允许连接到控制台:

# svcadm restart vntsd

注 - 此命令将断开所有处于活动状态的控制台连接。


有时,从 Logical Domains 系统执行 uadmin 1 0 命令时系统不返回到 OK 提示符

错误号 15511551:有时,从 Logical Domains 系统的命令行执行 uadmin 1 0 命令不会使系统在随后重置后保持在 ok 提示符处。只有当 Logical Domains 变量 auto-reboot? 设置为 true 时,才会出现这种不正确的行为。如果 auto-reboot? 设置为 false,则会出现预期的行为。

解决方法:改为使用以下命令:

uadmin 2 0

或者,始终在 auto-reboot? 设置为 false 的情况下运行。

Logical Domains Manager 关闭域至少需要 15 分钟

错误号 15505014:对于具有单个 CPU 和巨大内存的配置,关闭域或清理内存可能至少需要 15 分钟。在关闭过程中,域中的 CPU 用于清理由该域拥有的所有内存。如果配置不平衡(例如,只有一个 CPU 的域,内存多达 512 GB),完成清理所需的时间可能会相当长。清理时间延长后,关闭域所需的时间也会延长。

解决方法:确保大内存配置 (>100 GB) 至少有一个核心。

如果 Oracle Solaris 10 5/08 OS 安装在服务域上,尝试在该服务域所提供服务的任何来宾域上执行 Oracle Solaris 10 8/07 OS 网络引导可能会使安装挂起

错误号 15482406:在运行 Oracle Solaris 10 5/08 OS 的服务域所提供服务的任何来宾域上,尝试从网络引导 Oracle Solaris 10 8/07 OS 可能会导致来宾域在安装期间挂起。

解决方法:用 ID 为 127111-05 的修补程序修补 Oracle Solaris 10 8/07 OS 网络安装映像的 miniroot。

scadm 命令在 SC 或 SP 重置之后可能会挂起

错误号 15469227:对于运行 Solaris 10 11/06 OS 或更高版本的控制域,scadm 命令可能会在 SC 重置之后挂起。在 SC 重置之后,系统无法正确地重新建立连接。

解决方法:重新引导主机,以便与 SC 重新建立连接。

恢复:重新引导主机,以便与 SC 重新建立连接。

在公用控制台组中同时进行多个域的网络安装会失败

错误号 15453968:在共用同一个控制台组的系统上同时进行的多个来宾域的网络安装失败。

解决方法:仅在拥有其各自控制台组的来宾域上进行网络安装。只有在多个网络安装域之间共享一个公用控制台组的域上才会出现这种失败情况。

ldc_close: (0xb) unregister failed, 11 警告消息

错误号 15426914:在系统控制台上或系统日志中可能会看到以下警告消息:

ldc_close: (0xb) unregister failed, 11

括号中的编号是 Oracle Solaris 内部通道号,每个警告消息中的内部通道号可能会各不相同。

解决方法:可以忽略这些消息。

在同一个网络上有太多虚拟网络使用 DHCP 的来宾域可能会变得不响应

错误号 15422900:如果在同一个网络上的来宾域中使用动态主机配置协议 (Dynamic Host Configuration Protocol, DHCP) 配置了四个以上的虚拟网络 (vnet),则来宾域最终可能会在运行网络通信时变得不响应。

解决方法:如果有 8 个接口,请将 ip_ire_min_bucket_cntip_ire_max_bucket_cnt 设置为较大的值(如 32)。

恢复:针对有问题的来宾域 (ldom) 发出 ldm stop-domain ldom 命令,随后发出 ldm start-domain ldom 命令。

运行 Logical Domains Manager 时无法使用 eeprom 命令修改 OpenBoot PROM 变量

错误号 15387338:Logical Domains 变量持久性中对此问题进行了总结,它仅影响控制域。

在 Logical Domains 运行时无法设置安全密钥

错误号 15370442:在 Logical Domains 环境中,不支持从 Oracle Solaris OS 内部使用 ickey(1M) 命令设置或删除广域网 (Wide-Area Network, WAN) 引导密钥。所有的 ickey 操作都会失败并出现以下错误:

ickey: setkey: ioctl: I/O error

另外,在逻辑域(而不是控制域)中使用 OpenBoot 固件设置的 WAN 引导密钥在该域重新引导之后不会被记住。在这些域中,从 OpenBoot 固件设置的密钥将只能用于单一用途。

ldm stop-domain 命令的行为可能会令人困惑

错误号 15368170:在某些情况下,ldm stop-domain 命令的行为会令人困惑。

# ldm stop-domain -f ldom

如果域位于内核模块调试器 kmdb(1) 提示符下,则 ldm stop-domain 命令会失败并出现以下错误消息:

LDom <domain-name> stop notification failed

文档勘误表

本节包含发现过晚而无法在 Oracle VM Server for SPARC 3.0 发行版中解决的文档错误。

ldm(1M) 手册页:I/O 虚拟命令无法自动启动延迟重新配置

Several places in the ldm(1M) 手册页说明 I/O 虚拟命令会自动启动延迟配置。这不正确。如果需要,您必须手动启动延迟配置。

ldm(1M) 手册页:不支持动态创建虚拟功能

ldm(1M) 手册页的 “Create a Virtual Function” 部分声称 “To dynamically create virtual functions, ensure that you set the iov property for the parent root complex”。在 Oracle VM Server for SPARC 3.0 发行版中不支持此功能。

ldm(1M) 手册页:仅 ldm add-spconfig -r 执行手动恢复

ldm(1M) 手册中 -r 选项的说明当前指示 add-spconfiglist-spconfigremove-spconfig 子命令使用此选项执行手动恢复。这不正确。仅可以使用 ldm add-spconfig -r 命令执行手动恢复。

其他迁移限制

对于 Fujitsu M10 系统,以下限制将取代《Oracle VM Server for SPARC 3.0 管理指南》中的"迁移 OpenBoot PROM 中的域或在内核调试器中运行的域"中所述的信息。

如果要迁移的域在 OpenBoot 或内核调试器 (kmdb) 中运行,且源计算机或目标计算机是 Fujitsu M10 系统,则迁移尝试总是失败。如果要迁移的域只有一个 CPU,则可能会显示以下错误消息:

# ldm migrate ldg1 system2
Non-cooperative migration is not supported on this platform.