Go to main content

Oracle® VM Server for SPARC 3.5 发行说明

退出打印视图

更新时间: 2017 年 8 月
 
 

已知问题

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

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

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

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

从域中移除核心失败后,ldmd 会崩溃

错误号 26435797:如果虚拟 CPU 或 CPU 核心删除操作失败,ldmd 守护进程可能会转储核心。目标域中的所有 CPU 都被绑定或负载较重时,可能会发生此故障。

发生此故障时,ldm remove-core 命令可能会发出以下错误消息之一:

Invalid response

Failed to receive version negotiation response from logical domain manager:
  Connection reset by peer

要移除虚拟 CPU,必须从目标域中取消绑定一些 CPU 或降低工作负荷。请注意,此问题不影响在绑定或取消绑定的域中执行虚拟 CPU 移除操作。

关联的服务域重新引导时,vsw-relay-mode 行为从 remote 恢复为 local

错误号 26184111:在虚拟交换机上设置了 vsw-relay-mode 属性以启用反射中继模式。在服务域重新引导后未保留此模式,因此状态恢复为默认值 local

解决方法:在重新引导后在虚拟交换机上运行以下命令以启用 vsw-relay-mode 属性:

primary# ldm set-vsw vsw-relay-mode=remote primary-vsw0
如果启用了全局性能计数器,跨 CPU 迁移可能会失败

错误号 26047815:在某些跨 CPU 迁移方案中,迁移可能会失败并显示以下错误:

API group 0x20b v1.0 is not supported in the version of the firmware
 running on the target machine.
API group 0x214 v1.0 is not supported in the version of the firmware
 running on the target machine.

    必须满足以下所有条件才会遇到此问题:

  • 域的 cpu-arch 属性设置为 genericmigration-class1

  • 域的 perf-counter 属性设置包含 global

  • 至少在 SPARC M7 系列服务器或 SPARC T7 系列服务器上引导了域

  • 目标计算机是 SPARC M7 系列服务器或 SPARC T7 系列服务器之前发布的平台

发生此问题是因为在至少 SPARC M7 系列服务器或 SPARC T7 系列服务器上引导的域(perf-counter 属性设置包含 global 值)将注册较早平台上不存在的平台特定的性能计数器虚拟机管理程序接口。在迁移过程中,会执行检查以确保域使用的所有接口都在目标计算机上。检测到这些 SPARC M7 系列服务器或 SPARC T7 系列服务器特定的接口时,将中止迁移。

解决方法:如果 cpu-arch 不为 native 且至少 SPARC M7 系列服务器和 SPARC T7 系列服务器是迁移池的一部分,请勿设置 perf-counter=global

虚拟 SCSI HBA 子系统不支持所有 SCSI 附件服务设备

错误号 25865708:Oracle Solaris OS 识别为辅助功能的 SES 设备是 vhba 无法支持的 SES 设备类型。vhba 可以支持其设备类型的值为 0xd(在 INQUIRY 有效负荷的 inq_dtype 字段中指定)的 SES 设备。

来宾域中的 vhba 二进制文件尝试初始化一些 SCSI 附件服务 (SCSI enclosure service, SES) 设备时,vhba 会导致 scsi 发出以下警告消息:

... scsi: WARNING: scsi_enumeration_failed: vhba2 probe@w50080e51bfd32004,0,d enumeration failed during tran_tgt_init

,d 子字符串表示 0xd 十六进制数字,这是 SES 设备的 SCSI 行业标准代码。,d 字符串指示此警告消息是由不受支持的 SES 设备类型导致的。

vhba 可以支持设备类型为 0xd(在 INQUIRY 有效负荷的 inq_dtype 字段中指定)的 SES 设备:

# mdb -k
> ::vsan
vsan_t( 6400126e08c0 ) cfg-hdl(0) iport-path(/pci@300/pci@1/pci@0/pci@4/SUNW,emlxs@0,11/fp@0,0)
    vsan_iport_t( 6400125b8710 )
        vsan_tport_t( 64001bf89718 ) tport_phys(w216000c0ff8089d5)
        vsan_lun_t( 640011aa65d0 ) lun(0) vlun-id(1127b) []

> 640011aa65d0::print vsan_lun_t vl_sd |::print struct scsi_device sd_inq |::print struct scsi_inquiry inq_dtype
inq_dtype = d
ldomHbaTable 为空

错误号 24393532:错误号 23591953 的修复禁用了 Oracle VM Server for SPARC Oracle VM Server for SPARC MIB 监视(例如通过使用 snmpwalk 命令列出 Oracle VM Server for SPARC MIB 对象)和针对 ldomHbaTable 表的陷阱生成。因此,Oracle VM Server for SPARC MIB ldomHbaTable 表不显示内容。

primary# snmpwalk -v1 -c public localhost SUN-LDOM-MIB::ldomHbaTable
primary#

解决方法:使用 ldm list-hba 命令查看 HBA 信息。

成功迁移域期间报告不准确的 Unable to Send Suspend Request 错误

 

错误号 23206413:在极少数情况下,成功迁移域时会报告以下错误:

Unable to send suspend request to domain domain-name

如果 Logical Domains Manager 在暂停域期间检测到错误,则会发生此问题,但 Logical Domains Manager 能够恢复并完成迁移。命令的退出状态为 0,表明已成功迁移。

解决方法:由于迁移成功完成,您可以忽略该错误消息。

冷迁移具有许多虚拟设备的绑定域可能会失败,并且域将具有两个绑定副本

 

错误号 23180427:当冷迁移具有大量虚拟设备的绑定域时,操作可能会失败并且会在 SMF 日志中写入以下消息:

warning: Timer expired: Failed to read feasibility response type (9) from target LDoms Manager

此故障表明在等待域绑定到目标计算机期间在源计算机上运行的 Logical Domains Manager 超时。迁移域中的虚拟设备数越多,遇到此问题的几率越大。

出现此故障时,会导致源计算机和目标计算机上同时存在域的绑定副本。请勿同时启动此域的两个副本。此操作可能会损坏数据,因为两个域引用相同的虚拟磁盘后端。

恢复方法:验证已迁移域的副本在目标计算机上正确无误后,手动解除源计算机上域副本的绑定并将其销毁。

目标计算机的可用 LDC 不足时迁移会失败

 

错误号 23031413:当目标计算机的控制域在域迁移期间耗尽 LDC 时,迁移将失败且不提供任何解释,并会在 SMF 日志中写入以下消息:

warning: Failed to read feasibility response type (5) from target LDoms Manager

当迁移的域未能绑定到目标计算机时,系统会发出此错误。请注意,在目标计算机上绑定操作可能也会因其他原因而失败。

解决方法:要成功迁移,必须减少迁移域中或者目标计算机的控制域中的 LDC 数。您可以通过减少域使用或维护的虚拟设备数来减少 LDC 数。有关管理 LDC 的更多信息,请参见Oracle VM Server for SPARC 3.5 管理指南 中的 Using Logical Domain Channels

ovmtlibrary 将磁盘映像文件名限制为 50 个字符

 

错误号 23024583:ovmtlibrary 命令将磁盘映像文件名限制为 50 个字符。ovmtlibrary 会检查 .ovf 文件并将 <ovf:References> 部分中的信息与解压缩磁盘的实际文件名进行比较。

如果文件不同或者如果磁盘映像文件名超过 50 字符,则会发出错误。例如:

# ovmtlibrary -c store -d "example" -q -o file:/template.ova -l /export/user1/ovmtlibrary_example
event id is 3
ERROR: The actual disk image file name(s) or the actual number of disk
image(s) is different from OVF file: template.ovf
exit code: 1

以下示例 XML 显示一个长度超过 50 个字符的磁盘映像文件名:

<ovf:References>
<ovf:File ovf:compression="gzip"
ovf:href="disk_image.ldoms3.5_build_s11_u3_sru15_01_kz_42G.img.gz"
ovf:id="ldoms3" ovf:size="6687633773"/>
</ovf:References>

解决方法:限制磁盘映像文件名的长度,使其少于 50 个字符。

添加到非活动来宾域的虚拟网络设备无法获取默认 linkprop

 

错误号 22842188:为了使 linkprop=phys-state 在虚拟网络设备上受支持,Logical Domains Manager 必须能够验证虚拟网络设备连接到的虚拟交换机是否具有为虚拟交换机提供后备支持的物理 NIC。

必须在来宾域上运行 Oracle VM Server for SPARC netsvc 代理,以便可以查询虚拟交换机。

如果来宾域未处于活动状态,无法与虚拟网络设备的虚拟交换机所在的域中的代理通信,则虚拟网络设备不会设置 linkprop=phys-state

解决方案:仅当域处于活动状态时才设置 linkprop=phys-state

linkprop=phys-stateldm set-vsw net-dev= 会失败

 

错误号 22828100:如果虚拟交换机已连接 linkprop=phys-state 的虚拟网络设备,则它们连接到的虚拟交换机必须具有通过 net-dev 属性指定的有效后备 NIC 设备。net-dev 属性值必须为有效网络设备的名称。

如果使用 net-dev= 执行此操作,则虚拟交换机将显示 linkprop=phys-state,即使 net-dev 属性值不是有效的 NIC 设备也是如此。

解决方法:首先,移除连接到虚拟交换机的所有虚拟网络设备,然后移除虚拟交换机。然后重新创建具有有效 net-dev 后备设备的虚拟交换机,并重新创建所有虚拟网络设备。

不能从 XML 文件重新创建具有套接字约束的域

 

错误号 21616429:Oracle VM Server for SPARC 3.3 软件仅对 Fujitsu M12 服务器和 Fujitsu M10 服务器提供套接字支持。

在 Oracle SPARC 服务器以及 3.3 之前的 Oracle VM Server for SPARC 版本上运行的软件不能从 XML 文件重新创建具有套接字约束的域。

使用较早版本的 Oracle VM Server for SPARC 软件或在 Oracle SPARC 服务器中尝试从 XML 文件重新创建具有套接字约束的域会失败,并显示以下消息:

primary# ldm add-domain -i ovm3.3_socket_ovm11.xml
socket not a known resource

如果在 Fujitsu M12 服务器和 Fujitsu M10 服务器上运行 Oracle VM Server for SPARC 3.2 并尝试从 XML 文件重新创建具有套接字约束的域,该命令将失败并显示不同的错误消息,如下所示:

primary# ldm add-domain -i ovm3.3_socket_ovm11.xml
Unknown property: vcpus

primary# ldm add-domain -i ovm3.3_socket_ovm11.xml
perf-counters property not supported, platform does not have
performance register access capability, ignoring constraint setting.

解决方法:通过编辑 XML 文件删除引用 socket 资源类型的所有部分。

内核区域阻止来宾域的实时迁移

 

 

错误号 21289174:在 SPARC 服务器上,Oracle VM Server for SPARC 域中某个正在运行的内核区域将阻止来宾域的实时迁移。将显示以下错误消息:

Guest suspension failed because Kernel Zones are active.
Stop Kernel Zones and retry.

解决方法:请选择下列解决方法之一:

在进入 factory-default 之后,如果系统引导设备不是以前活动配置中的引导设备,则恢复模式将失败

 

错误号 20425271:在进入 factory-default 后触发恢复过程中,如果系统引导设备不是以前活动配置中的引导设备,则恢复模式将失败。如果活动配置使用的引导设备不是 factory-default 引导设备,则可能发生此故障。


注 - 此问题适用于 UltraSPARC T2、UltraSPARC T2 Plus、SPARC T3 和 SPARC T4 系列服务器。此问题还适用于运行 9.5.3 之前的系统固件版本的 SPARC T5、SPARC M5 和 SPARC M6 系列服务器。

解决方法:在需要将新配置保存到 SP 时,执行以下步骤:

  1. 确定到 primary 域的引导设备的完全 PCI 路径。

    在步骤 4 中将此路径用于 ldm set-var 命令。

  2. primary 域中删除任何当前设置的 boot-device 属性。

    仅当 boot-device 属性设置了值时才需要执行此步骤。如果该属性未设置任何值,则试图删除 boot-device 属性将导致 boot-device not found 消息。

    primary# ldm rm-var boot-device primary
  3. 将当前配置保存到 SP。

    primary# ldm add-spconfig config-name
  4. 显式设置 primary 域的 boot-device 属性。

    primary# ldm set-var boot-device=value primary

    如果在按所述将配置保存到 SP 后再设置 boot-device 属性,则会在触发恢复模式时引导指定的引导设备。

恢复:如果恢复模式已如所述失败,请执行以下步骤:

  1. 将引导设备显式设置为上次运行配置时所用的引导设备。

    primary# ldm set-var boot-device=value primary
  2. 重新引导 primary 域。

    primary# reboot

    通过重新引导可让恢复继续。

来宾域 eeprom 更新在 ldm add-spconfig 操作未完成的情况下会丢失

 

错误号 19932842:尝试从来宾域设置 OBP 变量时,如果使用 eeprom 或 OBP 命令时以下命令之一未完成,则设置可能会失败:

  • ldm add-spconfig

  • ldm remove-spconfig

  • ldm set-spconfig

  • ldm bind

如果这些命令完成的时间超过 15 秒,则可能发生此问题。

# /usr/sbin/eeprom boot-file\=-k
promif_ldom_setprop: promif_ldom_setprop: ds response timeout
eeprom: OPROMSETOPT: Invalid argument
boot-file: invalid property

恢复:ldm 操作完成后重试 eeprom 或 OBP 命令。

解决方法:在受影响的来宾域上重试 eeprom 或 OBP 命令。也许可通过在 primary 域上使用 ldm set-var 命令来避免该问题。

重新引导有超过 1000 个虚拟网络设备的来宾域导致紧急情况

 

 

错误号 19449221:一个域拥有的虚拟网络设备 (vnet) 数量不能超过 999 个。

解决方法:将一个域上的 vnet 数量限制为 999 个。

根域中光纤通道虚拟功能的设备路径不正确

 

错误号 18001028:在根域中,光纤通道虚拟功能的 Oracle Solaris 设备路径不正确。

例如,不正确的路径名为 pci@380/pci@1/pci@0/pci@6/fibre-channel@0,2,应当为 pci@380/pci@1/pci@0/pci@6/SUNW,emlxs@0,2

ldm list-io -l 输出显示了光纤通道虚拟功能的正确设备路径。

解决方法:无。

Oracle Solaris 11.3 SRU 12:在 SPARC 平台上合并了用于光纤通道设备的 ssdsd 驱动程序功能

 

错误号 17036795:Oracle Solaris 11.3 SRU 12 OS 已在 SPARC 平台上合并了用于光纤通道设备的 ssdsd 驱动程序功能。

此更改会影响物理设备路径中的设备节点名称。设备节点名称从 ssd@ 更改为 disk@。此更改还会影响从 ssdsd 的设备驱动程序绑定。


注 - 请确保调整 Oracle Solaris OS 系统中依赖于这些设备节点名称或设备驱动程序绑定的任何应用程序或客户机。

对于 Oracle Solaris 11.3 系统,默认情况下不启用此更改。

要对使用虚拟 HBA 和光纤通道设备的域执行实时迁移,必须启用此更改。

在启用此更改之前,请确保已通过运行 stmsboot -D fp -e 命令启用 MPxIO。

可运行 format 命令确定是否启用了 MPxIO。如果已启用,应该会在设备名称中看到 vhci。或者,如果 mpathadm -list lu 输入为空,则不会枚举任何 MPxIO 设备。

可使用 beadm 命令创建新的引导环境 (boot environment, BE)。通过使用 BE,可以在遇到意外问题时轻松地回滚到以前的引导环境。

挂载 BE 并将 /etc/devices/inception_points 文件替换为 /etc/devices/inception_points.vhba 文件。.vhba 文件包括一些用于启用此更改的功能标志。

最后,在激活新的 BE 后重新引导。

# beadm create BE-name
# beadm mount BE-name /mnt
# cp /mnt/etc/devices/inception_points.vhba /mnt/etc/devices/inception_points
# beadm umount BE-name
# beadm activate BE-name
# reboot

重新引导后,使用 prtconf -D | grep driver | grep sd 命令验证更改。

如果有任何磁盘使用 ssd 驱动程序,配置会有问题。

如果虚拟 HBA 和光纤通道虚拟功能都配置为识别相同的 LUN,还可以使用 mpathadm list lu 命令显示相同磁盘的多个路径。

针对 InfiniBand SR-IOV 移除操作显示了误导性的消息

 

错误号 16979993:尝试对 InfiniBand 设备使用动态 SR-IOV 移除操作导致显示令人困惑和不合适的错误消息。

InfiniBand 设备不支持动态 SR-IOV 移除操作。

解决方法:通过执行以下过程之一移除 InfiniBand 虚拟功能:

从 SPARC T5、SPARC M5 或 SPARC M6 服务器向 UltraSPARC T2 或 SPARC T3 服务器执行跨 CPU 迁移时,ldm migrate -n 会失败

 

错误号 16864417:尝试在 SPARC T5、SPARC M5 或 SPARC M6 服务器与 UltraSPARC T2 或 SPARC T3 服务器之间迁移时,即使失败 ldm migrate -n 命令也不会报告。

解决方法:无。

复原 I/O 域在重新引导根域后应支持 PCI 设备配置更改

 

错误号 16691046:如果从根域分配虚拟功能,I/O 域在以下热插拔情况下可能无法提供复原:

  • 向根域添加一个根联合体(PCIe 总线),然后创建虚拟功能并将其分配给 I/O 域。

  • 在拥有根联合体的根域中热添加一个 SR-IOV 卡,然后创建虚拟功能并将其分配给 I/O 域。

  • 更换根域所拥有的根联合体中的任何 PCIe 卡或向其空插槽中添加任何 PCIe 卡(无论是通过热插拔还是在根域停止时)。此根域会将根联合体中的虚拟功能提供给 I/O 域。

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

  • 如果根联合体已向 I/O 域提供了虚拟供并且您在该根联合体中添加、移除或更换了任何 PCIe 卡(无论是通过热插拔还是在根域停止时),必须重新引导根域和 I/O 域。

  • 如果根联合体当前未向 I/O 域分配虚拟功能并且您向该根联合体添加了 SR-IOV 卡或其他任何 PCIe 卡,您必须停止根域,才能添加 PCIe 卡。重新引导根域后,可以将该根联合体中的虚拟功能分配给 I/O 域。

  • 如果要向根域添加新的 PCIe 总线,然后从该总线创建虚拟功能并将其分配给 I/O 域,请执行以下步骤之一并重新引导该根域:

    • 在延迟重新配置期间添加总线

    • 动态添加总线

来宾域在 primary 域重新引导后处于过渡状态

 

 

错误号 16659506:来宾域在 primary 域重新引导后处于过渡状态 (t)。当在系统上配置了大量的虚拟功能时会出现此问题。

解决方法:要避免此问题,请多次重试 OBP 磁盘引导命令以避免从网络引导。

    在每个域上执行以下步骤:

  1. 访问域的控制台。

    primary# telnet localhost 5000
  2. 设置 boot-device 属性。

    ok> setenv boot-device disk disk disk disk disk disk disk disk disk disk net

    您作为 boot-device 属性的值指定的 disk 条目数取决于在系统上配置的虚拟功能数目。在较小的系统上,您可能能够在该属性值中包括较少的 disk 实例。

  3. 使用 printenv 验证是否已正确设置了 boot-device 属性。

    ok> printenv
  4. 返回到 primary 域控制台。

  5. 为系统上的每个域重复步骤 1-4。

  6. 重新引导 primary 域。

    primary# shutdown -i6 -g0 -y
在附加 I/O 设备驱动程序时,WARNING: ddi_intr_alloc: cannot fit into interrupt pool 指出中断供应已耗尽

 

错误号 16284767:在附加 I/O 设备驱动程序时,Oracle Solaris 控制台指出中断供应已耗尽:

WARNING: ddi_intr_alloc: cannot fit into interrupt pool

此限制仅适用于 SPARC M7 系列服务器和 SPARC T7 系列服务器之前的受支持 SPARC 系统。

硬件提供了有限数目的中断,因此,Oracle Solaris 会限制每个设备可以使用多少次中断。默认限制设计为与典型系统配置的需求相匹配,不过,对于某些系统配置,可能需要调整此限制。

特别是以下情况下可能需要调整此限制:当系统划分为多个逻辑域并且当向任意来宾域分配了太多的 I/O 设备时。Oracle VM Server for SPARC 会将总的中断划分为分配给各个来宾域的较小中断集。如果向某个来宾域分配了太多的 I/O 设备,则系统的供应可能太少以致于无法向每个设备分配默认的中断限制。因此,它在完全附加所有驱动程序之前会耗尽其供应。

某些驱动程序提供了一个可选的回调例程,该例程允许 Oracle Solaris 自动调整其中断。默认限制不适用于这些驱动程序。

解决方法:使用 ::irmpools::irmreqs MDB 宏来确定如何使用中断。::irmpools 宏显示划分为池的总体中断供应。::irmreqs 宏显示哪些设备映射到每个池。对于每个设备,::irmreqs 显示是否由一个可选的回调例程强制执行默认限制、每个驱动程序请求了多少中断,以及为驱动程序分配了多少中断。

这些宏不显示有关无法附加的驱动程序的信息。不过,所显示的信息有助于计算您可以将默认限制调整到的范围。对于使用了多个中断且没有提供回调例程的任何设备,都可以通过调整默认限制来强制其使用较少的中断。将默认限制降低到这样的设备使用的数量以下可以释放一些中断供其他设备使用。

要调整默认限制,请在 /etc/system 文件中将 ddi_msix_alloc_limit 属性设置为从 18 的某个值。然后,重新引导系统以使更改生效。

为了最大限度地提高性能,请先分配较大的值,然后以较小的增量减小该值,直至系统成功引导且不出现任何警告。可使用 ::irmpools::irmreqs 宏来度量调整对所附加的所有驱动程序的影响。

例如,假设在引导来宾域中的 Oracle Solaris OS 时发出了以下警告:

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

::irmpools::irmreqs 宏显示以下信息:

# echo "::irmpools" | mdb -k
ADDR             OWNER   TYPE   SIZE  REQUESTED  RESERVED
00000400016be970 px#0    MSI/X  36    36         36

# echo "00000400016be970::irmreqs" | mdb -k
ADDR             OWNER   TYPE   CALLBACK NINTRS NREQ NAVAIL
00001000143acaa8 emlxs#0 MSI-X  No       32     8    8
00001000170199f8 emlxs#1 MSI-X  No       32     8    8
000010001400ca28 emlxs#2 MSI-X  No       32     8    8
0000100016151328 igb#3   MSI-X  No       10     3    3
0000100019549d30 igb#2   MSI-X  No       10     3    3
0000040000e0f878 igb#1   MSI-X  No       10     3    3
000010001955a5c8 igb#0   MSI-X  No       10     3    3

在此示例中,默认限制是每个设备八个中断,此中断限制不足以支持将最后的 emlxs3 设备附加到系统。假设所有 emlxs 实例的行为方式相同,则 emlxs3 可能请求了 8 个中断。

从总的池大小 36 个中断中减去由所有 igb 设备使用的 12 个中断,还剩下 24 个中断可供 emlxs 设备使用。将 24 个中断除以 4,这表明每个设备 6 个中断将能够使所有 emlxs 设备都可以附加,且具有相同的性能。因此,在 /etc/system 文件中添加以下调整:

set ddi_msix_alloc_limit = 6

当系统成功引导且未出现任何警告时,::irmpools::irmreqs 宏会显示以下更新的消息:

# echo "::irmpools" | mdb -k
ADDR             OWNER   TYPE   SIZE  REQUESTED  RESERVED
00000400018ca868 px#0    MSI/X  36    36         36
 
# echo "00000400018ca868::irmreqs" | mdb -k
ADDR             OWNER   TYPE   CALLBACK NINTRS NREQ NAVAIL
0000100016143218 emlxs#0 MSI-X  No       32     8    6
0000100014269920 emlxs#1 MSI-X  No       32     8    6
000010001540be30 emlxs#2 MSI-X  No       32     8    6
00001000140cbe10 emlxs#3 MSI-X  No       32     8    6
00001000141210c0 igb#3   MSI-X  No       10     3    3
0000100017549d38 igb#2   MSI-X  No       10     3    3
0000040001ceac40 igb#1   MSI-X  No       10     3    3
000010001acc3480 igb#0   MSI-X  No       10     3    3
SPARC T5-8 服务器:对于某些 ldm List 命令,运行时间数据显示了值 0

 

错误号 16068376:在具有大约 128 个域的 SPARC T5-8 服务器上,诸如 ldm list 之类的 ldm 命令会将所有域的运行时间显示为 0 秒。

解决方法:登录到域并使用 uptime 命令来确定域的运行时间。

控制域上的 ldm list -o status 报告不正确的迁移进度

 

 

错误号 15819714:在极少情况下,ldm list -o status 命令在用于观察控制域上的迁移状态时报告错误的完成百分比。

此问题不影响正在迁移的域,也不影响源或目标控制域上的 ldmd 守护进程。

解决方法:在参与迁移以观察进度的其他控制域上运行 ldm list -o status 命令。

ldm init-system 命令可能无法正确恢复已执行了物理 I/O 更改的域配置

 

错误号 15783031:当使用 ldm init-system 命令恢复已使用了直接 I/O 或 SR-IOV 操作的域时,可能会遇到问题。

    如果已对要恢复的配置执行了下列一个或多个操作,则会出现问题:

  • 从总线中移除了仍归 primary 域拥有的一个插槽。

  • 基于 primary 域拥有的物理功能创建了虚拟功能。

  • primary 域或其他来宾域(或两者)分配了虚拟功能。

  • primary 域中删除了一个根联合体并将其分配给了来宾域,并且该根联合体用作进一步 I/O 虚拟化操作的基础。

    换句话说,您创建了非 primary 根域并执行了任何上述操作。

如果您执行了前面的任一操作,请执行 Oracle VM Server for SPARC PCIe Direct I/O and SR-IOV Features (Doc ID 1325454.1) (https://support.oracle.com/epmos/faces/SearchDocDisplay?amp;_adf.ctrl-state=10c69raljg_77&_afrLoop=506200315473090)(Oracle VM Server for SPARC PCIe 直接 I/O 和 SR-IOV 功能(文档 ID 1325454.1))中所示的解决方法。

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

 

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

解决方法:在将来宾域迁移到 SPARC T4 服务器期间,不要运行 cputrack 命令。

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

 

错误号 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
尝试连接到绑定中的来宾域控制台可能导致输入被阻止

 

错误号 15771384:如果在绑定控制台期间或之前重复尝试连接到控制台,则域的来宾控制台可能会冻结。例如,如果您在正在向计算机迁移某个域时使用自动化脚本来抓取控制台,则可能会发生此情况。

解决方法:要解除冻结控制台,请在承载着该域的控制台集中器的域上(通常为控制域)执行以下命令:

primary# svcadm disable vntsd
primary# svcadm enable vntsd
应该对具有 PCIe 到 PCI 桥的 PCIe 卡禁用 ldm remove-io

 

错误号 15761509:只使用支持直接 I/O (Direct I/O, DIO) 功能的 PCIe 卡,在此支持文档 (https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=REFERENCE&id=1325454.1) 中列出了这类卡。


注 - 从 SPARC T7 系列服务器和 SPARC M7 系列服务器开始,不再支持直接 I/O 功能。

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

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

 

错误号 15701865:如果尝试对依赖于目标计算机上的非活动域的域进行实时迁移,ldmd 守护进程将发生故障并具有分段故障以及崩溃。ldmd 守护进程会自动重新启动,但迁移会中止。

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

  • 删除与要迁移的域的来宾依赖关系。

  • 启动目标计算机上的主域。

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

 

 

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

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

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

 

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

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

恢复:在源计算机和目标计算机上重新启动 Logical Domains Manager:

primary# svcadm restart ldmd

解决方法:无。

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

 

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

解决方法:不将能够访问同一组磁盘的直接 I/O 设备指定给不同的 I/O 域。要确定 SPARC 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
对具有主-从关系的域使用 ldm stop -a 命令会在从域中设置 stopping 标志

 

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

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

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

 

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

此问题仅适用于 UltraSPARC T2、UltraSPARC T2 Plus 和 SPARC T3 服务器。

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

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

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

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

 

 

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

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

# svcadm disable nis/client
除非重新启动 vntsd,否则无法连接到迁移后的域控制台

 

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

请注意,当迁移后的域运行 Oracle Solaris 11.3 之前的 OS 版本时,会发生此问题。

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

# svcadm restart vntsd

注 - 此命令将断开所有处于活动状态的控制台连接。
在公用控制台组中同时进行多个域的网络安装会失败

 

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

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

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

 

 

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

# ldm stop-domain -f domain-name

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

LDom <domain-name> stop notification failed

文档问题

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


注 - 已对 OTN 上的Oracle VM Server for SPARC 3.5 Reference Manual英文版进行了以下文档勘误表中所述的更改。

这些更改未体现在 Oracle VM Server for SPARC 3.5 软件产品附带的手册页和 OTN 上的Oracle VM Server for SPARC 3.5 Reference Manual日语版中。


ldmd(1M):缺少 ldmd/migration_adi_legacy_compat SMF 属性的描述

ldmd(1M) 手册页缺少 ldmd/migration_adi_legacy_compat SMF 属性的以下描述:

ldmd/migration_adi_legacy_compat

指定是否在支持芯片安全内存 (Silicon Secured Memory, SSM) 的服务器之间允许进行域迁移,即使其中一台计算机不支持迁移在 Oracle VM Server for SPARC 3.5 中引入的应用程序数据完整性 (Application Data Integrity, ADI) 版本信息也是如此。

如果源计算机和目标计算机都运行最新版本的 Oracle VM Server for SPARC 软件,则不需要使用此 SMF 属性。


Caution

注意  - 如果要在支持 SSM 的服务器上执行域迁移,最好它们至少运行 Oracle VM Server for SPARC 3.5 软件。如果无法实现这一点,使用 ldmd/migration_adi_legacy_compat SMF 属性时务必非常谨慎。如果在要迁移的域中正在使用 ADI,此属性使用不正确可能会导致出现未定义的应用程序行为。


默认情况下,属性值为 false,除非源计算机和目标计算机均支持 SSM 且运行所需版本的 Oracle VM Server for SPARC 软件,否则这会阻止域迁移。此属性对不支持 SSM 的服务器没有影响。

值为 true 时,域迁移会继续,但不支持迁移 ADI 版本信息。

因此,如果源计算机或目标计算机运行的 Oracle VM Server for SPARC 软件版本低于 3.5(不支持迁移 ADI 版本信息),则允许迁移。

    仅当同时出现以下两种情况时,将 ldmd/migration_adi_legacy_compat SMF 属性值设置为 true

  • 无法将源计算机和目标计算机升级到支持迁移 ADI 版本信息的 Oracle VM Server for SPARC 软件版本

  • 您确切知道在要迁移的域中未使用 ADI 版本控制

如果将此属性设置为 true,则允许不向目标计算机传输 ADI 版本的迁移。如果在要迁移的域中正在使用 ADI,这种情况可能会导致出现未定义的应用程序行为。

低于 3.5 的 Oracle VM Server for SPARC 版本无法识别 ldmd/migration_adi_legacy_compat SMF 属性。只能在至少运行 Oracle VM Server for SPARC 3.5 的源计算机或目标计算机上使用此属性。

ldm(1M):更新了 set-domain 子命令和 –i 选项的描述

ldm(1M) 手册页包含以下更新:

  • 第一段的内容现在如下所示:

    The set-domain subcommand enables you to modify properties such as boot-policy, mac-addr, hostid, failure-policy, extended-mapin-space, master, and max-cores for a domain. You cannot use this command to update resources.(通过 set-domain 子命令可以修改域的属性,例如 boot-policy、mac-addr、hostid、failure-policy、extended-mapin-space、master 和 max-cores。不能使用此命令更新资源。)

  • –i 的描述现在如下所示:

    –i file specifies the XML configuration file to use in setting the properties of the logical domain.(-i file 指定要在设置逻辑域的属性时使用的 XML 配置文件。)

    Only the ldom_info nodes specified in the XML file are parsed. Resource nodes, such as vcpu, mau, and memory, are ignored.(仅解析 XML 文件中指定的 ldom_info 节点。将忽略资源节点,例如 vcpu、mau 和 memory。)

    If the hostid property in the XML file is already in use, the ldm set-domain -i command fails with the following error:(如果 XML 文件中的 hostid 属性已在使用,则 ldm set-domain -i 命令将失败并显示以下错误:)

    Hostid host-ID is already in use(Hostid host-ID 已在使用)

    Before you re-run the ldm set-domain -i command, remove the hostid entry from the XML file.(在重新运行 ldm set-domain -i 命令之前,请从 XML 文件中删除 hostid 条目。)

ldm(1M) 错误引用了命令记录的缓冲区

ldm(1M) 手册页错误引用了命令历史记录的缓冲区,可以通过使用 ldm list-history 命令查看该缓冲区。

"Command History"(命令历史记录)一节的第一段和第二段已更新为以下段落:

Use the ldm list-history command to view the Oracle VM Server for SPARC command history log. This log captures ldm commands and commands that are issued through the XMPP interface. By default, the number of commands shown by the ldm list-history command is ten.(可使用 ldm list-history 命令查看 Oracle VM Server for SPARC 命令历史记录日志。此日志捕获 ldm 命令和通过 XMPP 接口发出的命令。默认情况下,ldm list-history 命令显示的命令数为 10。)

To change the number of commands output by the ldm list-history command, use the ldm set-logctl command to set the history property value. If you set history=0, the saving of command history is disabled. You can re-enable this feature by setting the history property to a non-zero value.(要更改 ldm list-history 命令输出的命令数,请使用 ldm set-logctl 命令设置 history 属性值。如果设置 history=0,则禁用命令历史记录的保存。可以通过将 history 属性设置为非零值重新启用此功能。)

"Control Logging Operations"(控制日志记录操作)一节中的 history 属性描述已更新为如下所示:

history=num specifies the number of commands output by the ldm list-history command. Setting the value to 0 disables the saving of command history.(history=num 指定 ldm list-history 命令输出的命令数。如果将该值设置为 0,则禁用命令历史记录的保存。)

"View Logging Capabilities"(查看日志记录功能)一节中的 –a 选项描述已更新为如下所示:

–a shows the logging capability values for all logging types and the number of commands output by the ldm list-history command.(a 显示所有日志记录类型的日志记录功能值以及 ldm list-history 命令输出的命令数。)