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

文档信息

前言

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

本发行版新增功能

系统要求

支持的平台

必需的软件和修补程序

必需的和建议的 Oracle Solaris OS

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

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

必需的最低软件版本

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

PCIe SR-IOV 硬件和软件要求

实时迁移要求

Oracle VM Server for SPARC 2.2 软件的位置

修补程序的位置

文档的位置

相关软件

可选软件

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

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

升级至 Oracle VM Server for SPARC 2.2 软件

已知问题

常见问题

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

不再需要 I/O MMU 旁路模式

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

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

逻辑域通道和 Logical Domains

内存大小要求

引导大量域

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

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

Logical Domains 变量持久性

Oracle Sun SNMP Management Agent 不支持多个域

容器、处理器集和池与 CPU 电源管理不兼容

故障管理

延迟重新配置

加密单元

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

只有 Oracle Solaris 10 8/11 OS 和 Oracle Solaris 11 OS 中提供扩展的 Mapin 空间

图形 Configuration Assistant 工具已删除

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

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

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

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

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

域迁移限制

迁移的版本限制

迁移的 CPU 限制

Oracle VM Server for SPARC MIB 问题

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

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

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

ldmd 在取消延迟重新配置后异常终止操作

具有禁用的 CPU 的解除绑定域报告错误 CPU 资源数

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

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

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

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

ldm init-system 报告 disk server not found 错误

将单播插槽数设置为超过最大值的数字会导致将值重置为 0

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

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

ldmd 守护进程不联机

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

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

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

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

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

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

ldm init-system -r -i XML-file 不重新引导 primary

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

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

出现错误消息 panic: BAD TRAP: occurred in module "pcie" due to an illegal access to a user address

从 XML 文件重新配置的控制域无法正确删除 I/O 设备

无效 vdsdev 后端被视为有效路径

禁用整体核心约束后,在 primary 域重新引导后该约束重新显示

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

启动来宾域失败时,ldm start 错误地返回 0 而不是 1

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

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

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

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

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

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

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

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

仅 Oracle Solaris 10 系统支持 ldmconfig

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

无法分离网络接口卡驱动程序

仅 Oracle Solaris 10 系统支持 Oracle VM Server for SPARC MIB

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

从来宾域中删除大量 CPU

内存较大的域在弹性模式下可能需要较长的时间来停止

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

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

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

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

ldmd 无法从包含部分核心的域中删除核心

如果系统日志服务不联机,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 不弃用来宾域上的资源

在 Logical Domains Manager 正在运行时,OpenBoot PROM 变量无法由 eeprom(1M) 命令进行修改

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

ldm stop-domain 命令的行为可能会引起混淆

已解决的问题

已知问题

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

常见问题

本节介绍此发行版 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 2.2 管理指南》中的"导出卷以及向后兼容性"

不再需要 I/O MMU 旁路模式

从 Oracle VM Server for SPARC 2.0 发行版开始,不再需要 I/O 内存管理单元 (memory management unit, MMU) 旁路模式。因此,bypass=on 属性不再可用,不能在 ldm add-io 命令中使用。

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

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

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

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

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

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

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

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

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

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

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

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

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

逻辑域通道和 Logical Domains

任何逻辑域中的可用逻辑域通道 (logical domain channel, LDC) 数量都存在一定的限制。对于 UltraSPARC T2 服务器、SPARC T3-1 服务器、SPARC T3-1B 服务器、SPARC T4-1 服务器和 SPARC T4-1B 服务器,上限为 512。对于 UltraSPARC T2 Plus 服务器、其他 SPARC T3 服务器和其他 SPARC T4 服务器,上限为 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 安装指南:规划安装和升级》中的"系统要求和建议"。有关 Oracle Solaris 11 OS 的建议内存大小及其最小内存要求,请参见《Oracle Solaris 11 发行说明》

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

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

引导大量域

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

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

要运行最大配置,计算机需要足够的内存量来支持来宾域。内存量取决于所使用的平台和 OS。请参见有关所使用平台的文档、《Oracle Solaris 10 8/11 安装指南:规划安装和升级》《安装 Oracle Solaris 11 系统》

当来宾域所使用的 vsw 服务为(多个域中的)许多虚拟网络提供服务时,该域中的内存和交换空间使用量会增加,这是由于与 vsw 相连的所有 vnet 之间的对等链路所导致的。对于服务域来说,内存越多越好。在运行 64 个以上的域时,建议至少使用 4 GB。分组启动域(一组最多包含 10 个)并等到它们引导之后再启动下一批。在域上安装操作系统时适用同样的建议。可以通过禁用 inter-vnet 通道来减少链路数量。请参见《Oracle VM Server for SPARC 2.2 管理指南》中的"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 2.2 软件中,少数情况下变量更新不会按所预期的那样保留:

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

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

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

Oracle Sun SNMP Management Agent 不支持多个域

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

容器、处理器集和池与 CPU 电源管理不兼容

对于处理器集、资源池或区域的专用 CPU 功能,不能使用 CPU 动态重新配置 (dynamic reconfiguration, DR) 关闭虚拟 CPU 的电源。

使用 CPU 电源管理弹性策略时,Oracle Solaris OS 来宾只能看到为域分配的通电 CPU。这意味着,psrinfo(1M) 命令的输出会随当前受电源管理的 CPU 的数量而动态变化。这会对处理器集和池造成问题,因为只有当实际 CPU ID 为静态时才能将其分配给相应的处理器集和池。这还可能会影响区域的专用 CPU 功能。

解决方法:将电源管理策略设置为性能策略。

故障管理

存在一些与 FMA 和受电源管理的 CPU 相关联的问题。如果设置了弹性策略的 CPU 在运行时出现故障,请切换到性能策略,直到出现故障的 CPU 恢复为止。如果所有出现故障的 CPU 都恢复了,则可以再次使用弹性策略。

延迟重新配置

primary 域处于延迟重新配置状态时,CPU 仅在 primary 域重新引导之后才受电源管理。这意味着,在 primary 域重新引导从而清除延迟重新配置状态之前,CPU 电源管理不会在该域的负载使用率很高时,将其他 CPU 置于联机状态。

加密单元

Oracle Solaris 10 10/09 OS 引入了在域中动态添加和删除加密单元这一功能,该功能称为加密单元动态重新配置 (dynamic reconfiguration, DR)。Logical Domains Manager 自动检测域是否允许对加密单元执行 DR,并且仅对允许执行 DR 的域启用该功能。另外,在绑定了加密单元而且运行适当版本 Oracle Solaris OS 的域中,CPU DR 不再处于禁用状态。

当 SP 设置为弹性策略时,不会对绑定了加密单元的域执行核心禁用操作。要允许在系统设置了弹性策略时执行核心禁用操作,请删除绑定到该域的加密单元。

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 Solaris 10 8/11 OS 和 Oracle Solaris 11 OS 中提供扩展的 Mapin 空间

只有 Oracle Solaris 10 8/11 OS 和 Oracle Solaris 11 OS 中提供扩展的 mapin 空间。默认情况下,此功能处于禁用状态。

可以使用 ldm add-domainldm set-domain 命令在运行 Oracle Solaris 10 8/11 OS 或 Oracle Solaris 11 OS 的域中设置 extended-mapin-space=on 来启用该模式。请参见 ldm(1M) 手册页。

图形 Configuration Assistant 工具已删除

从 Oracle VM Server for SPARC 2.1 发行版开始,仅提供基于终端的 Configuration Assistant 工具 ldmconfig。不再提供图形用户界面工具。

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 要求,才能确保域迁移成功。

迁移的版本限制

源计算机和目标计算机均必须至少运行 2.1 版的 Logical Domains Manager。

以下示例说明了运行旧版本的 Logical Domains Manager 和/或系统固件时将显示的消息:

迁移的 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 2.2 管理指南》中的"迁移 OpenBoot PROM 中的域或在内核调试器中运行的域"

Oracle VM Server for SPARC MIB 问题

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


注 - Oracle VM Server for SPARC MIB 软件只能在 Oracle Solaris 10 系统上使用。


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

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

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

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

本节总结了在使用此版本的软件时可能遇到的错误。错误说明按错误号的数字大小顺序列出。如果存在解决方法和恢复过程,则会进行具体说明。

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

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

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

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

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

ldmd 在取消延迟重新配置后异常终止操作

错误号 7165095 和 7165101:在具有直接 I/O 或 SR-IOV 域的系统上,取消延迟重新配置并且随后执行任何后续重新配置操作时,ldmd 守护进程异常终止并生成 core 文件。ldmd SMF 服务可能还会进入维护模式。

解决方法:避免使用 ldm cancel-reconf 命令。如果必须取消或者已经取消了延迟重新配置,则先重新启动 ldmd SMF 服务,然后再执行任何其他 ldm 操作。

# scvadm restart ldmd

恢复:如果 ldmd SMF 服务进入维护模式,必须先关闭然后再打开系统电源,然后才能恢复 ldmd 服务。

以下显示如何从控制域和从服务处理器 (service processor, SP) 关闭然后再打开系统电源:

具有禁用的 CPU 的解除绑定域报告错误 CPU 资源数

错误号 7160502:禁用的 CPU 可能会导致 Logical Domains Manager 报告错误的 CPU 资源数。以下示例显示解除绑定某个域会错误地更改该域的 CPU 资源计数:

# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  UART    9     4G       0.2%  1h 5m
ldg1             bound      ------  5000    116   2G
# ldm unbind ldg1
# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  UART    9     4G       1.1%  1h 5m
ldg1             inactive   ------          120   2G

此时,CPU 资源数不正确。解除绑定操作后,ldg1 域的计数应该是 116,而不是显示的 120


注 - 此示例只是一个例子,还可能有其他由于禁用的 CPU 而导致 CPU 计数错误的情况。在此类情况下,请使用解决方法中提供的方法。


解决方法:如果可能,避免使用具有禁用的 CPU 的核心。否则,对具有禁用的核心的域解除绑定时,务必将 CPU 数重置为正确数量,以便稍后可以重新绑定该域。

要重新绑定域,必须重置 CPU 资源数。例如:

# ldm set-vcpu 116 ldg1
# ldm bind ldg1

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

错误号 7159359:尝试从错误地表示虚拟功能约束的 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 命令无法正确地重新创建具有虚拟功能设备的域

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

错误号 7159114:将控制域从使用物理上受约束的核心更改为使用不受约束的 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 命令无法正确地重新创建具有虚拟功能设备的域

错误号 7158496:使用 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 可能会崩溃并重新启动

错误号 7158454:您尝试可以影响许多域的配置的操作时,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。请注意,此选项可能会对来宾域之间的网络性能产生负面影响。

ldm init-system 报告 disk server not found 错误

错误号 7155386:XML 文件同时包含控制域和来宾域配置时,ldm init-system 命令首先配置来宾域,然后配置控制域。在没有配置虚拟磁盘服务器的出厂默认配置中,尝试向来宾域添加虚拟磁盘服务器设备可能会失败,并显示以下错误:

Disk Server xxx not found

如果指定的虚拟磁盘服务器应由控制域提供,则会发生此故障。

将单播插槽数设置为超过最大值的数字会导致将值重置为 0

错误号 7155349:将单播插槽数设置为超过最大限制的数字失败,并显示相应的错误消息。但是,单播插槽数被错误而无提示地重置为 0。

解决方法:为单播插槽数指定一个在支持值范围内的值。

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

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

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

# ldm list-io -d pf-name

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

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

错误号 7153060:控制域需要系统中的最低核心。因此,如果核心 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 守护进程不联机

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

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

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

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

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

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

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

以下 Emulex 卡会出现此问题:

解决方法:无。

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

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

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

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

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

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

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

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

错误号 7149323: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 迁移的域在迁移完成后报告的运行时间不正确

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

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

ldm init-system -r -i XML-file 不重新引导 primary

错误号 7146725:使用 ldm init-system 命令从 XML 配置安装域时,primary 域无法重新引导,即使指定了 -r 选项也是如此。

解决方法:手动重新引导 primary 域。

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

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

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

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

错误号 7144314: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

出现错误消息 panic: BAD TRAP: occurred in module "pcie" due to an illegal access to a user address

错误号 7142913:绑定并启动 15 个来宾域后,primary 域会出现紧急情况并发出以下错误消息:

panic: BAD TRAP: occurred in module "pcie" due to an illegal access to a user address

域配置如下:

从 XML 文件重新配置的控制域无法正确删除 I/O 设备

错误号 7134203:通过使用 ldm init-system 命令从 XML 文件重新配置控制域时,未正确地从控制域中删除现有 I/O 设备。如果控制域仍绑定有 PCIe 叶节点设备,这种情况可能会导致来宾域上绑定失败。

无效 vdsdev 后端被视为有效路径

错误号 7131596:如果向 ldm add-vdsdev 命令指定错误的 vdsdev 后端,生成的错误消息会将该后端识别为有效路径:

# ldm add-vdsdev /wrong/path/file disk1@primary-vds0
Path /wrong/path/file is valid but not accessible on service domain primary

解决方法:验证指定的路径并根据需要更正该路径。

禁用整体核心约束后,在 primary 域重新引导后该约束重新显示

错误号 7130693:禁用整体核心约束后,primary 域重新引导后该约束重新显示。

仅在以下情况下才会出现此问题:

解决方法:通过指定不同的虚拟 CPU 数来禁用整体核心约束。

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

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

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

  1. 从根域中删除 PCIe 总线。

    primary# ldm rm-io pci_0 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.
  2. 向根域重新分配 PCIe 总线。

    primary# ldm add-io pci_0 primary
    ------------------------------------------------------------------------------
    Notice: The primary domain is in the process of a delayed reconfiguration.
    Any changes made to the primary domain will only take effect after it reboots.
    ------------------------------------------------------------------------------
  3. 将 PCIe 总线重新引导至根域。

    primary# reboot

启动来宾域失败时,ldm start 错误地返回 0 而不是 1

错误号 7125579:来宾域可能因为意外虚拟机管理程序错误而无法启动。即使域无法启动,该命令以 0(而不是 1)退出,并发出以下错误消息:

LDom domain start failed, retry the operation

解决方法:不要仅依赖于退出代码来确定域是否成功启动,而是执行以下检查之一:

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

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

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

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

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

LDom domain stop notification failed

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

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

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

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

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

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

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

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

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

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

错误号 7100859:如果使用直接 I/O (ldm remove-io) 从多插槽 SPARC T 系列系统删除多个 PCIe 插槽,系统可能会在引导时出现紧急情况。PCIe 插槽的路径彼此相似(根联合体路径除外)时会出现这种情况。您删除 PCIe 插槽然后重新引导 primary 域后,可能会出现紧急情况。有关直接 I/O (direct I/O, DIO) 功能的更多信息,请参见《Oracle VM Server for SPARC 2.2 管理指南》中的"分配 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 转换

错误号 7100841: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 虚拟功能出现故障

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

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

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

仅 Oracle Solaris 10 系统支持 ldmconfig

错误号 7093344:只能在 Oracle Solaris 10 系统上使用 ldmconfig 命令。

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

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

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

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

无法分离网络接口卡驱动程序

错误号 7083321:nwam 守护进程保存对网络接口卡 (network interface card, NIC) 设备节点的引用计数,从而无法分离 NIC 驱动程序。

解决方法:不要使用 Automatic 网络配置文件,而是使用 DefaultFixed 网络配置文件。

仅 Oracle Solaris 10 系统支持 Oracle VM Server for SPARC MIB

错误号 7082776:只能在 Oracle Solaris 10 系统上使用 Oracle VM Server for SPARC MIB。

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

错误号 7071426:避免迁移具有 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

错误号 7062298:尝试从来宾域中删除大量 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 之前停止来宾域。

内存较大的域在弹性模式下可能需要较长的时间来停止

错误号 7058261:当系统设置了电源管理弹性策略时,使用 ldm stop 命令停止内存较大的域可能需要花费较长时间。如果域有足够空闲,将禁用大多数分配给该域的 CPU 线程。禁用 CPU 之后,剩余的活动线程将执行停止域所需的处理操作。

例如,具有 252 GB 的内存并且仅启用了 2 个 CPU 的来宾域将花费大约 7 分钟停止。

解决方法:在停止域之前,通过从弹性策略切换到性能策略来禁用电源管理 (power management, PM)。

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

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

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

错误号 7042353:如果物理磁盘配置了大小为 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 出现紧急情况

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

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

set vsw:vsw_hio_max_cleanup_retries = 0x200

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

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

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

ldmd 无法从包含部分核心的域中删除核心

错误号 7035438:ldmd 允许对包含部分核心的域启用整体核心约束,但无法在同一域中删除或设置核心。

解决方法:在控制域中,以出厂默认配置执行以下操作:

  1. 在控制域上启动延迟重新配置。

    # ldm start-reconf primary
  2. 首先执行任意内存重新配置操作。

  3. 执行 CPU 重新配置操作。

    # ldm set-vcpu 16 primary
    # ldm set-vcpu -c 2 primary

此示例使用 2 个核心,但核心的数量可以为 1 到系统限制值。

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

错误号 7034191:如果系统日志服务 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 服务处于脱机状态,请验证该服务是否已启用,并且所有相关服务是否处于联机状态。

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

错误号 7030045:迁移活动来宾域可能会挂起源计算机并导致其变为不响应。出现此问题时,将向控制台和 /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 数不符

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

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

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

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

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

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

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

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

DR 过程中虚拟 CPU 超时失败

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

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

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

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

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

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

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

错误号 7019493:如果在“相反方向”上同时发出两个 ldm migrate 命令,这两个命令可能会挂起,永不会完成。例如,相反方向的一种情况是,同时启动从计算机 A 到计算机 B 的迁移,和从计算机 B 到计算机 A 的迁移。

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

解决方法:无。

从控制域中删除大量 CPU

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

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

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

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

  3. 重新引导控制域。

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

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

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

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

错误号 6984681:使用 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 路径访问的磁盘

错误号 6984008:可以在 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 删除操作可能会无限期挂起而且永远无法完成

错误号 6983279:当在域上激活多个 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 标志

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

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

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

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

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

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

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

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

ldmconfig 无法在 SP 上创建域配置

错误号 6967799: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 域进行非协同迁移

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

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

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

错误号 6956431:在执行迁移操作过程中,在暂停 Oracle Solaris 10 9/10 域之后,内存动态重新配置 (dynamic reconfiguration, DR) 会被禁用。这不仅在迁移成功时适用,而且还在迁移取消后适用(尽管域仍保留在源计算机上)。

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

错误号 6936833:如果您修改控制域上虚拟网络设备的最大传输单元 (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

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

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

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

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

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

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

错误号 6904240:在某些情况下,迁移失败时会显示以下错误消息,并且 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 终止

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

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

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

之后,所有的 ssh 连接将不再使用硬件加密单元(但这会因此而得不到相关的性能改进),ssh 连接将在加密单元被删除之后断开。

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

错误号 6892229:在装有 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 命令很慢,无法响应

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

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

当系统处于电源管理弹性模式时,来宾域可能无法成功重新引导

错误号 6853273:当系统设置了电源管理弹性策略时,重新引导来宾域可能会生成以下警告消息,而且来宾域无法成功引导:

WARNING: /virtual-devices@100/channel-devices@200/disk@0:
Sending packet to LDC, status: -1
WARNING: /virtual-devices@100/channel-devices@200/disk@0:
Can't send vdisk read request!
WARNING: /virtual-devices@100/channel-devices@200/disk@0:
Timeout receiving packet from LDC ... retrying

解决方法:如果您看到上述警告,请按如下顺序执行以下解决方法之一:

来宾域有时无法与控制域建立正确的域服务连接

错误号 6839787:有时,运行 Oracle Solaris 10 10/08 OS 或更高版本的来宾域无法与运行 Oracle Solaris 10 5/09 OS 的控制域建立正确的域服务连接。

通过域服务连接可实现动态重新配置 (dynamic reconfiguration, DR)、FMA 和电源管理 (power management, PM) 等功能。来宾域在引导后会出现这样的故障,因此,重新引导来宾域通常能够消除此问题。

解决方法:重新引导来宾域。

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

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

解决方法如下:

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

错误号 6836587:有时,当您在域中添加虚拟网络或虚拟磁盘设备之后,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 中不可见

错误号 6829016:如果在系统上配置了 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 域或来宾域出现紧急情况

错误号 6808832:可以在诸如 Sun Fire T5240 之类的系统上最多配置两个具有专用 PCI-E 根联合体的域。这些系统具有两个 UltraSPARC T2+ 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 致命错误。

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

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

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

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

约束数据库未同步到已保存的配置

错误号 6773569:在从一个配置切换到另一个配置(使用 ldm set-config 命令,然后执行关开机循环)之后,在先前配置中定义的域可能仍在当前的配置中以非活动状态存在。

这是由于 Logical Domains Manager 的约束数据库未与配置更改同步而导致的。这些非活动域不会影响正在运行的配置,可以放心地销毁。

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

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

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

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

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

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

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

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

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

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

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

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

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

# svcadm disable nis/client

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

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

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

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

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

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

# svcadm restart vntsd

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


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

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

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

uadmin 2 0

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

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

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

解决方法:确保大内存配置 (>100 GB) 至少有一个核心。这可能会缩短关闭时间。

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

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

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

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

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

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

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

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

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

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

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

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

ldc_close: (0xb) unregister failed, 11

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

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

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

错误号 6603974:如果在同一个网络上的来宾域中使用动态主机配置协议 (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 不弃用来宾域上的资源

错误号 6591844:如果 CPU 或内存出现故障,受到影响的域可能会出现紧急情况并重新引导。如果故障管理体系结构 (Fault Management Architecture, FMA) 在该域重新引导时尝试弃用出现故障的组件,Logical Domains Manager 将无法与该域通信,而且弃用操作将失败。在这种情况下,fmadm faulty 命令会将该资源列为 degraded(降级)。

恢复:等待该域完成重新引导,然后强制 FMA 重放故障事件,方法是使用以下命令重新启动控制域上的故障管理器守护进程 (fmd):

primary# svcadm restart fmd

在 Logical Domains Manager 正在运行时,OpenBoot PROM 变量无法由 eeprom(1M) 命令进行修改

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

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

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

ickey: setkey: ioctl: I/O error

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

ldm stop-domain 命令的行为可能会引起混淆

错误号 6506494:在某些情况下,ldm stop-domain 命令的行为会引起混淆。

# ldm stop-domain -f ldom

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

LDom <domain name> stop notification failed