Oracle® VM Server for SPARC 3.3 发行说明

退出打印视图

更新时间: 2015 年 10 月
 
 

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

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

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

在支持全部功能的 Oracle Solaris OS 发行版中已修复以下 Oracle Solaris OS 错误。这些错误在 Oracle Solaris 10 OS 版本可能仍存在。要避免这些问题,请确保运行的是与错误号关联的 Oracle Solaris OS 版本之一。

要获取此表中错误的详细信息,请查阅错误报告。

表 1-1  已解决的 Oracle Solaris OS 错误
错误号
错误说明
在 Oracle Solaris OS 版本中已解决
15707426
如果系统日志服务不联机,Logical Domains 代理服务就不会联机
Oracle Solaris 11
修补程序 ID 至少为 147147-26 的 Oracle Solaris 10 1/13
15701258
DR 过程中虚拟 CPU 超时失败
Oracle Solaris 11
修补程序 ID 至少为 147147-26 的 Oracle Solaris 10 1/13
15560811
Oracle Solaris 11:配有自动网络接口的区域可能无法启动
Oracle Solaris 11
15422900
在同一网络中使用 DHCP 的虚拟网络过多的来宾域可能无法响应
Oracle Solaris 11

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

运行 cfgadm configurecfgadm unconfigure 命令后,IOV 信息更新可能需要四分钟

错误号 21953704:运行 cfgadm 命令后,ldm list-io 命令未立即显示最新的 IOV 信息。您必须等待四分钟才能看到更新的信息。

解决方法:无。

如果语言环境不是 C,ovmtcreate 会生成不正确的 OVF 文件

错误号 21780045:如果语言环境不是 C 语言环境(非英语语言环境),ovmtcreate 实用程序在 OVF 文件中生成的 Version 信息是空字符串。

如本示例中黑体的 XML 行所示,VersionFullVersion 属性的值均为空:

<ovf:VirtualSystem ovf:id="templates">
        <ovf:Info>Oracle VM Template</ovf:Info>
        <ovf:ProductSection ovf:class="com.oracle.ovmt">
                <ovf:Info>Oracle VM Template</ovf:Info>
                <ovf:Product>Oracle VM Template</ovf:Product>
                <ovf:Version></ovf:Version>
                <ovf:FullVersion></ovf:FullVersion>

ovmtdeploy 实用程序使用通过 ovmtcreate 实用程序在非 C 语言环境中创建的模板时,就会出现 Java 异常,因为这些模板包含空字符串。

# /opt/ovmtutils/bin/ovmtdeploy -d guest10 -o /export/home/ovm \
/export/home/templates.ova

Oracle Virtual Machine for SPARC Deployment Utility
ovmtdeploy Version
Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.

STAGE 1 - EXAMINING SYSTEM AND ENVIRONMENT
------------------------------------------
Checking user privilege
Performing platform & prerequisite checks
Checking for required services
Named resourced available

2 - ANALYZING ARCHIVE & RESOURCE REQUIREMENTS
---------------------------------------------------
Checking .ova format and contents
Validating archive configuration
Exception in thread "main" java.lang.NullPointerException
        at ovfparse.OvfParse.getTagValue(OvfParse.java:233)
        at ovfparse.VmProduct.<init>(VmProduct.java:33)
        at ovfparse.VmSys.<init>(VmSys.java:72)
        at ovfparse.OvfParse.parseOVFByDOM(OvfParse.java:371)
        at ovfparse.OvfParse.<init>(OvfParse.java:56)
        at ovmtdeploy.Ovmtdeploy.exec(Ovmtdeploy.java:1841)
        at ovmtdeploy.Ovmtdeploy.main(Ovmtdeploy.java:1946)

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

  1. 通过编辑 OVF 文件向 VersionFullVersion 属性的内容中添加版本号。

  2. 使用 gtar 命令重新归档模板 ova

    例如:

    # /usr/bin/gtar -cf templates.ova templates.ovf templates.mf System.img.gz
  3. 运行带有 –k 选项的 ovmtdeploy 实用程序跳过校验和验证。

ldm add-vsan 在更换 PCIe 卡时失败

错误号 21674282:在同一插槽更换 PCIe 卡时,无法使用 ldm add-vsan 命令为物理 SCSI HBA 设备 (/SYS) 指定别名。

解决方法:不要指定设备名称别名。而应在 ldm add-vsan 命令中指定完整设备路径名 (/pci)。

如果服务域具有多个虚拟磁盘服务器,ovmtcreate 会失败

错误号 21635033:如果一个服务域具有多个虚拟磁盘服务器 (vds),则无法对来宾域运行 ovmtcreate 实用程序,因为该实用程序只检查服务域中的第一个 vds 实例。

    例如,如果虚拟磁盘采用如下配置,则无法对 gdom3 域运行 ovmtcreate 实用程序:

  • primary 域具有四个虚拟磁盘服务器 (vds)

  • gdom3 域中的虚拟磁盘相对应的虚拟磁盘服务器设备与 vds3 关联

在以下样例输出中,黑体的行表示 vds0 是第一个虚拟磁盘服务器,而 gdom3 虚拟磁盘的虚拟磁盘服务器设备不是 vds0

primary# ldm list -l -p -o disk
VERSION 1.15

DOMAIN|name=primary|
VDS|name=vds0|nclients=1
|vol=vol0|opts=|dev=/export/home/ovm/gdom0.img|mpgroup=
VDS|name=vds1|nclients=1
|vol=vol0|opts=|dev=/export/home/ovm/gdom1.img|mpgroup=
VDS|name=vds2|nclients=1
|vol=vol0|opts=|dev=/export/home/ovm/gdom2.img|mpgroup=
VDS|name=cdrom|nclients=3
|vol=1|opts=|dev=/export/home/ovm/sol-113_1.iso|mpgroup=
|vol=2|opts=|dev=/export/home/ovm/sol-113_2.iso|mpgroup=
|vol=3|opts=|dev=/export/home/ovm/sol-113_3.iso|mpgroup=
|vol=4|opts=|dev=/export/home/ovm/sol-113_4.iso|mpgroup=
VDS|name=vds3|nclients=1
|vol=disk0|opts=|dev=/export/home/ovm/gdom3.img|mpgroup=
DOMAIN|name=gdom0|
VDISK|name=vdisk0|vol=vol0@vds0|timeout=|dev=disk@0|server=primary|mpgroup=|id=0
VDISK|name=cdrom|vol=1@cdrom|timeout=|dev=disk@1|server=primary|mpgroup=|id=1
DOMAIN|name=gdom1|
VDISK|name=vdisk0|vol=vol0@vds1|timeout=|dev=disk@0|server=primary|mpgroup=|id=0
VDISK|name=cdrom|vol=2@cdrom|timeout=|dev=disk@1|server=primary|mpgroup=|id=1
DOMAIN|name=gdom2|
VDISK|name=vdisk0|vol=vol0@vds2|timeout=|dev=disk@0|server=primary|mpgroup=|id=0
VDISK|name=cdrom|vol=3@cdrom|timeout=|dev=disk@1|server=primary|mpgroup=|id=1
DOMAIN|name=gdom3|
VDISK|name=vdisk0|vol=disk0@vds3|timeout=|dev=disk@0|server=primary|mpgroup=|id=0

以下 ldm list 命令显示 gdom3 域状态:

primary# ldm list
NAME         STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIME
primary      active     -n-cv-  UART    32    46848M   0.3%  0.3%  1d 51m
gdom0        active     -n----  5000    24    24G      0.0%  0.0%  1d 35m
gdom1        active     -n----  5001    24    24G      0.0%  0.0%  8d 18h 21m
gdom2        active     -n----  5002    24    24G      0.0%  0.0%  8d 17h 43m
gdom3        bound      ------  5003    24    24G

以下命令显示对 gdom3 域运行 ovmtcreate 命令时收到的错误:

# /opt/ovmtutils/bin/ovmtcreate -d gdom3 -o /export/home/ovmt
STAGE 1 - EXAMINING SYSTEM AND ENVIRONMENT
-------------------------------------------
Performing platform & prerequisite checks
Checking user permissions
Checking for required packages
Checking for required services
Checking directory permissions

STAGE 2 - ANALYZING DOMAIN
---------------------------
Retrieving and processing attributes
Checking domain state
Getting domain resource settings
Discovering network topology
Discovering disk topology
ERROR: VDS Device  does not exist or not readable

解决方法:运行 ovmtcreate 实用程序之前,确保服务域只有一个虚拟磁盘服务器。

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

错误号 21616429:Oracle VM Server for SPARC 3.3 软件仅对 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 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 资源类型的所有部分。

当域只有少数几个虚拟 CPU 时,DRM 无响应

错误号 21561834:如果域中虚拟 CPU 的数量少于四个,DRM 可能无法向该域添加虚拟 CPU,即使利用率远远超出上限利用率水平。如果 util-upper 属性值大于缺省值 70,DRM 可能无法添加虚拟 CPU,即使该域具有四个以上的 CPU。

解决方法:将 DRM 策略的 elastic-margin 属性值至少设置为 15。

primary# ldm set-policy elastic-margin=15 name=policy-name domain-name

如果 util-upper 属性值大于 70,就将 DRM 策略的 elastic-margin 属性值至少设置为 20。

primary# ldm set-policy elastic-margin=20 name=policy-name domain-name

注 - 确保 elastic-margin 属性值小于 util-upper 属性值。
Fujitsu M10 服务器:在活动域上运 ldm set-socket 可能导致 Logical Domains Manager 运行不稳定

错误号 21527087:在极少数情况下,使用 ldm set-socket 命令为运行的域指定套接字会导致以下异常行为:

  • Logical Domains Manager 可能会崩溃

  • ldm set-socket 命令已完成,但并非域的所有 CPU 和内存都重新映射到指定的套接字

但是,如果物理分区 (physical partition, PPAR) 具有 12 个以上的套接字,请不要在域运行期间使用 ldm set-socket --restored-degradedldm set-socket socket_id=id 命令。如果确实在运行的域中运行了这些命令,ldmd 状态可能会损坏。

解决方法:执行 ldm set-socket 命令之前,先停止域。

使用 ldm set-socket 命令将 socket_id 属性设置为空值来清除活动域的套接字约束始终是安全可靠的。

移除一个或多个 PCIe 总线时,device busyldm remove-io 命令有时会失败

错误号 21510615:移除一个或多个 PCIe 总线时,有时可能会出现永久性的 device busyldm remove-io 失败。

解决方法:检查 gdm 服务,手动将其禁用(或检查并终止 Xorg),然后重试 ldm remove-io 操作。

# svcs | grep gdm
# svcadm disable -st svc:/application/graphical-login/gdm:default

或:

# ps -ef | grep Xorg
# pkill Xorg
Fujitsu M10 服务器:在移除 CPU 期间不一致的套接字约束可能导致 Logical Domains Manager 崩溃

错误号 21367043:在极少数情况下,套接字约束可能与域的绑定 CPU 和内存资源不同步。ldm rm-vcpuldm set-vcpuldm rm-coreldm set-core 命令可能导致 Logical Domains Manager 崩溃并在 ldmd SMF 日志中显示以下错误消息:

fatal error: xcalloc(0,4) : one of number or size is <= 0 at line 1183
of affinity_core.c

解决方法:使用以下命令清除域的套接字约束:

primary# ldm list-socket domain-name
primary# ldm set-socket socket_id= domain-name
ldmpower 导致 ldmd 发生分段错误

错误号 21369897:管理来宾域时,运行 ldmpower 命令时导致 ldmd 守护进程发生分段错误。

解决方法:在来宾域上执行添加或移除操作时,不要执行 ldmpower 命令。

PCIe 光纤中的致命错误导致根域出现紧急情况

错误号 21352084、21861284 和 21861327:在极少数情况下,重置 I/O 域时,如果根域收到 I/O 错误并开始分析该错误,该根域可能会出现紧急情况。

故障消息如下所示:

panic[cpu15]/thread=2a1017d3c20:
Fatal error has occured in: PCIe fabric.(0x2)(0x245)

出现紧急情况时,ereport 会转储到控制台。Ereport 会显示一些状态注册值(包括 pcie_ue_status 值)均为 FF。出现紧急情况后,根域会重新引导自身并进行恢复。

解决方法:无。

当某一服务域由于虚拟 SCSI HBA 超时设置而停止时,虚拟 SCSI HBA 来宾域的 I/O 吞吐量会下降

错误号 21321166:使用的虚拟 SCSI HBA MPxIO 路径指向脱机服务域时,I/O 吞吐量会下降。

解决方法:在脱机服务域恢复运行之前,通过使用 mpathadm disable path 命令禁用指向该服务域的路径。

Fujitsu M10 服务器:如果内存块未对齐,ldm shrink-socket 命令会删除其他内存

错误号 21299404:如果使用 ldm shrink-socket 命令执行内存 DR 操作且域中的某一个内存块不是按 256 MB 对齐的,该命令可能从活动域中删除其他 256 MB 的内存。如果域的内存碎片化,ldmd 守护进程可能尝试进一步删除其他内存。

解决方法:无。

ldm list-group/SYS/MB 及其他资源组下显示相同的内存和 I/O

错误号 21283102:ldm list-rsrc-group 命令在 /SYS/MB(主板)及其他资源组下显示相同的内存和 I/O 资源信息。例如:

primary# ldm list-group
NAME                                    CORE  MEMORY   IO
/SYS/PM0                                32    64G      4
/SYS/PM1                                32    256G     4
/SYS/PM2                                32    128G     4
/SYS/PM3                                32    128G     4
/SYS/MB                                 0     576G     16

primary# ldm list-group -a -l
NAME                                    CORE  MEMORY   IO
/SYS/PM0                                32    64G      4

CORE
    CID                                             BOUND
    0, 1                                            primary
    2, 3, 4, 5, 6, 7, 8, 9
    10, 11, 12, 13, 14, 15, 16, 17
    18, 19, 20, 21, 22, 23, 24, 25
    26, 27, 28, 29, 30, 31

MEMORY
    PA               SIZE             BOUND
    0x0              57M              _sys_
    0x3900000        32M              _sys_
    0x5900000        94M              _sys_
    0xb700000        393M             _sys_
    0x24000000       192M             _sys_
    0x30000000       31488M
    0x7e0000000      64M              _sys_
    0x7e4000000      64M              _sys_
    0x7e8000000      384M             _sys_
    0x80000000000    32G

IO
    DEVICE           PSEUDONYM        BOUND
    pci@300          pci_0            primary
    pci@340          pci_1            primary
    pci@380          pci_2            primary
    pci@3c0          pci_3            primary
------------------------------------------------------------------------------

NAME                                    CORE  MEMORY   IO
/SYS/PM1                                32    256G     4

CORE
    CID                                             BOUND
    32, 33, 34, 35, 36, 37, 38, 39
    40, 41, 42, 43, 44, 45, 46, 47
    48, 49, 50, 51, 52, 53, 54, 55
    56, 57, 58, 59, 60, 61, 62, 63

MEMORY
    PA               SIZE             BOUND
    0x100000000000   768M
    0x100030000000   24G              primary
    0x100630000000   105728M
    0x180000000000   128G

IO
    DEVICE           PSEUDONYM        BOUND
    pci@400          pci_4            primary
    pci@440          pci_5            primary
    pci@480          pci_6            primary
    pci@4c0          pci_7            primary
------------------------------------------------------------------------------

NAME                                    CORE  MEMORY   IO
/SYS/PM2                                32    128G     4

CORE
    CID                                             BOUND
    64, 65, 66, 67, 68, 69, 70, 71
    72, 73, 74, 75, 76, 77, 78, 79
    80, 81, 82, 83, 84, 85, 86, 87
    88, 89, 90, 91, 92, 93, 94, 95

MEMORY
    PA               SIZE             BOUND
    0x200000000000   64G
    0x280000000000   64G

IO
    DEVICE           PSEUDONYM        BOUND
    pci@500          pci_8            primary
    pci@540          pci_9            primary
    pci@580          pci_10           primary
    pci@5c0          pci_11           primary
------------------------------------------------------------------------------

NAME                                    CORE  MEMORY   IO
/SYS/PM3                                32    128G     4

CORE
    CID                                             BOUND
    96, 97, 98, 99, 100, 101, 102, 103
    104, 105, 106, 107, 108, 109, 110, 111
    112, 113, 114, 115, 116, 117, 118, 119
    120, 121, 122, 123, 124, 125, 126, 127

MEMORY
    PA               SIZE             BOUND
    0x300000000000   64G
    0x380000000000   64G

IO
    DEVICE           PSEUDONYM        BOUND
    pci@600          pci_12           primary
    pci@640          pci_13           primary
    pci@680          pci_14           primary
    pci@6c0          pci_15           primary
------------------------------------------------------------------------------

NAME                                    CORE  MEMORY   IO
/SYS/MB                                 0     576G     16

MEMORY
    PA               SIZE             BOUND
    0x0              57M              _sys_
    0x3900000        32M              _sys_
    0x5900000        94M              _sys_
    0xb700000        393M             _sys_
    0x24000000       192M             _sys_
    0x30000000       31488M
    0x7e0000000      64M              _sys_
    0x7e4000000      64M              _sys_
    0x7e8000000      384M             _sys_
    0x80000000000    32G
    0x100000000000   768M
    0x100030000000   24G              primary
    0x100630000000   105728M
    0x180000000000   128G
    0x200000000000   64G
    0x280000000000   64G
    0x300000000000   64G
    0x380000000000   64G

IO
    DEVICE           PSEUDONYM        BOUND
    pci@300          pci_0            primary
    pci@340          pci_1            primary
    pci@380          pci_2            primary
    pci@3c0          pci_3            primary
    pci@400          pci_4            primary
    pci@440          pci_5            primary
    pci@480          pci_6            primary
    pci@4c0          pci_7            primary
    pci@500          pci_8            primary
    pci@540          pci_9            primary
    pci@580          pci_10           primary
    pci@5c0          pci_11           primary
    pci@600          pci_12           primary
    pci@640          pci_13           primary
    pci@680          pci_14           primary
    pci@6c0          pci_15           primary

解决方法:在以下列中查看有关内存和 I/O 的详细信息,确定显示的资源信息是否相同:

  • 内存:PASIZEBOUND

  • I/O:DEVICEPSEUDONYMBOUND

如果不重新引导,虚拟 SCSI HBA 不会显示 LUN 的动态更改

错误号 21188211:配置虚拟 SCSI HBA 后,如果在虚拟 SAN 中添加或移除 LUN,ldm rescan-vhba 命令有时不显示新的 LUN 视图。

解决方法:移除虚拟 SCSI HBA,然后重新添加。检查是否显示 LUN。如果移除再重新添加操作不成功,则必须重新引导来宾域。

Logical Domains Manager 不应依赖轮询从 DIO 代理获取配置状态

错误号 21114622:执行 ldm create-vfldm destroy-vf 命令时,会分离再重新连接关联的物理功能驱动程序,这会花费大量时间,但具体时间无法量化。花费的时间取决于涉及的虚拟功能数量以及目标硬件设备的复杂程度。

运行 ldm list-io 命令可能会显示物理功能(及其虚拟功能)具有 INV(无效)状态。

目前,Logical Domains Manager 会对代理轮询一段时间,然后停止轮询。如果轮询周期过短,设备可能会无限期地显示 INV 状态。


注 - 错误 20772410 的修复方法是应减少此问题的发生次数。

解决方法:从拥有物理功能设备的根域,重新启动 ldoms/agents 服务。

primary# svcadm restart ldoms/agents

如果在发出 ldm create-vfldm destroy-vf 命令后 INV 状态至少持续六分钟,请运行此命令。

在服务域中启用 MPxIO 后,vhba 应支持 SCSI HBA

错误号 20951004:在服务域中启用 MPxIO 后,vhba 应支持 SCSI HBA。

解决方法:通过运行以下命令对服务域中的所有启动器端口禁用 MPxIO:

# stmsboot -d
将 PCI 总线从 primary 域重新分配到来宾域后,FRU 监视程序警报会隐藏

错误号 20882700:在域中移除或添加 PCIe 设备(或 SR-IOV 虚拟功能)后,Oracle Solaris 11.3 fmd 故障管理守护进程报告此事件的方式与物理移除或添加了 FRU 的方式完全相同。

    您可能会在控制台和 /var/adm/messages 文件中看到类似如下内容的消息:

  • SUNW-MSG-ID: FMD-8000-A0, TYPE: Alert, VER: 1, SEVERITY: Minor
    EVENT-TIME: Tue May 19 18:39:41 PDT 2015
    PLATFORM: unknown, CSN: unknown, HOSTNAME: starbuck
    SOURCE: software-diagnosis, REV: 0.1
    EVENT-ID: 5077e6c3-6a15-457e-a55b-cb72ea5f9728
    DESC: FRU has been added to the system.
    AUTO-RESPONSE: FMD topology will be updated.
    IMPACT: System impact depends on the type of FRU.
    REC-ACTION: Use fmadm faulty to provide a more detailed view of this event. 
    Please refer to the associated reference document at 
    http://support.oracle.com/msg/FMD-8000-A0 for the latest service procedures 
    and policies regarding this diagnosis.
  • # fmadm faulty
    --------------- ------------------------------------  ----------- --------- 
    TIME            EVENT-ID                              MSG-ID      SEVERITY 
    
    --------------- ------------------------------------  ----------- --------- 
    Apr 14 10:04:00 2d981602-975c-4861-9f26-e37360eca697  FMD-8000-CV Minor    
    
    Problem Status    : open 
    Diag Engine       : software-diagnosis / 0.1 
    System 
        Manufacturer  : Oracle Corporation 
        Name          : SPARC T7-2 
        Part_Number   : T7_2 
        Serial_Number : T7_2 
        Host_ID       : 86582a8c 
    
    ---------------------------------------- 
    Suspect 1 of 1 : 
       Problem class : alert.oracle.solaris.fmd.fru-monitor.fru-remove 
       Certainty   : 100% 
    
       FRU 
         Status           : active/not present 
         Location         : "/SYS/MB/PCIE1" 
         Manufacturer     : unknown 
         Name             : unknown 
         Part_Number      : unknown 
         Revision         : unknown 
         Serial_Number    : unknown 
         Chassis 
            Manufacturer  : Oracle-Corporation 
            Name          : SPARC-T7-2 
            Part_Number   : T7_2 
            Serial_Number : T7_2 
       Resource 
         Status           : active/not present 
    
    Description : FRU '/SYS/MB/PCIE1' has been removed from the system. 
    
    Response    : FMD topology will be updated. 
    
    Impact      : System impact depends on the type of FRU. 
    
    Action      : Use 'fmadm faulty' to provide a more detailed view of this event. 
                  Please refer to the associated reference document at 
                  http://support.oracle.com/msg/FMD-8000-CV for the latest service 
                  procedures and policies regarding this diagnosis.

解决方法:只要这些警报都是由显式管理员操作(在域中添加或移除 I/O 设备)生成的,就可以将其忽略。

拔出光纤通道电缆时,mpathadm 显示错误的虚拟 SCSI HBA 路径状态输出。

错误号 20876502:从属于虚拟 SCSI HBA MPxIO 来宾域配置的服务域拔出 SAN 电缆会导致 mpathadm 输出的 "Path State"(路径状态)列显示错误的值。此外,拔出电缆会导致来宾域中的 I/O 操作失败。

解决方法:插入 SAN 电缆,并对连接了电缆的服务域中的所有虚拟 SCSI HBA 运行 ldm rescan-vhba 命令。执行此解决方法后,来宾域应恢复执行 I/O 操作。

尝试删除承载支持 SES 的存储设备的 PCIe 总线时出现 device busy 错误

错误号 20774477:如果使用支持 SES 的存储设备,则在尝试删除承载这些设备的 PCIe 总线时可能会看到 device busy 错误。要确定是否在使用此类型的存储设备,请在 PCIe 总线的 ldm list-io -l 输出中搜索 sesenclosure 字符串。

解决方法:执行以下解决方法之一删除 PCIe 总线:

  • 动态删除 PCIe 总线。

    1. 禁用 FMD 服务。

      primary# svcadm disable -st svc:/system/fmd
    2. 删除 PCIe 总线。

      primary# ldm remove-io bus
    3. 重新启用 FMD 服务。

      primary# svcadm enable svc:/system/fmd
  • 静态删除 PCIe 总线。

    1. 将具有 PCIe 总线的根域置于延迟重新配置中。

      primary# ldm start-reconf root-domain
    2. 删除 PCIe 总线。

      primary# ldm remove-io bus
    3. 从根域控制台执行重新引导。

      root-domain# reboot
rcm_daemon 可能会在 ldm remove-io 操作过程中在控制台上发出消息

错误号 20619894:如果未安装 system/management/hwmgmtd 软件包,则动态总线删除操作会导致 rcm_daemon 在控制台上输出以下消息:

rcm_daemon[839]: rcm script ORCL,pcie_rc_rcm.pl: svcs: Pattern 'sp/management'
doesn't match any instances

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

移除 PCIe 总线之前,虚拟 SAN 设备应识别动态总线移除

错误号 20532270:识别任何尝试移除虚拟 SAN 控制的物理 SCSI HBA 的直接 I/O 或动态总线移除操作。

对虚拟 SAN 设备引用的 PCIe 资源执行 ldm remove-io 操作时,如果再也没有 ldm add-vhba 命令引用该设备,该设备将不可用。如果在运行 ldm add-vhba 命令后执行 ldm remove-io 操作,vsan 模块阻止移除 PCIe 资源。

解决方法:删除虚拟 SAN。

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

 

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

解决方法:在需要将新配置保存到 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

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

对包含虚拟 SCSI HBA 的 MPxIO 使用 ldm rm-io virtual-function 命令时出现紧急情况

错误号 20046234:启用 MPxIO 后,虚拟 SCSI HBA 和光纤通道 SR-IOV 设备可查看来宾域中的相同 LUN 时,可能会出现紧急情况。如果将光纤通道 SR-IOV 卡从来宾域移除,再重新添加,则会出现紧急情况。

解决方法:当光纤通道 SR-IOV 和虚拟 SCSI HBA 都启用 MPxIO 时,不要在来宾域中配置这两者。

I/O 域上的 ixgbevf 节点被 ipadm 命令报告为已禁用,并且被 ifconfig 命令报告为不存在

错误号 20004281:在关闭并重新打开 primary 域电源时,I/O 域上的 ixgbevf 节点可能被 ipadm 命令报告为已禁用,并被 ifconfig 命令报告为不存在。

解决方法:重新启用 IP 接口:

# svcadm restart network/physical:default
无法使用通过使用到 I/O 域的直接 I/O 分配的 HGXE 接口

错误号 19943809:如果分配卡时使用了直接 I/O 功能,则 hxge 驱动程序无法使用 I/O 域中的接口。

以下警告将发到系统日志文件中:

WARNING: hxge0 : <== hxge_setup_mutexes: failed 0x1

解决方法:将以下行添加到 /etc/system 中并重新引导:

set px:px_force_intx_support=1
来宾域 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 个。

Oracle VM Server for SPARC 不再跟踪释放的 MAC 地址

错误号 19078763:Oracle VM Server for SPARC 不再跟踪释放的 MAC 地址。现在分配 MAC 地址时将随机选择地址,然后确认该地址未被本地网络上的任何逻辑域占用。

Sun Storage 16 Gb 光纤通道通用 HBA 固件不支持带宽控制

错误号 18083904:Sun Storage 16 Gb 光纤通道通用 HBA 固件 Emulex 卡不支持设置带宽控制。HBA 固件将忽略为 bw-percent 属性指定的任何值。

解决方法:无。

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

错误号 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 输出显示了光纤通道虚拟功能的正确设备路径。

解决方法:无。

FMA 检测到故障内存时可能会出现问题

错误号 17576087:更换故障内存后,可能无法通过关闭并重新打开系统以使用保存的配置来恢复内存。

解决方法:更换故障内存后,关闭并重新打开系统以使用 factory-default 配置。然后,对要使用的配置执行系统关开机循环。

DLMP 在来宾域中对虚拟网络设备或 SR-IOV 虚拟功能不起作用

在来宾域中,无法对 SR-IOV NIC 虚拟功能或虚拟网络设备配置 DLMP 聚合。

无法在使用 EFI GPT 磁盘标签的单分片虚拟磁盘上安装 Oracle Solaris 11.1 OS

错误号 17422973:在单分片磁盘上安装 Oracle Solaris 11.1 OS 可能会失败,而且在至少运行系统固件版本 8.4.0 的 SPARC T4 服务器上,至少运行系统固件版本 9.1.0 的 SPARC T5、SPARC M5 和 SPARC M6 服务器上或者至少运行 XCP 版本 2230 的 Fujitsu M10 服务器上会出现以下错误:

cannot label 'c1d0': try using fdisk(1M) and then provide a specific slice
Unable to build pool from specified devices: invalid vdev configuration

解决方法:重新为磁盘添加 SMI 标签。

来宾域在 lgrp_lineage_add(mutex_enter: bad mutex, lp=10351178) 处出现紧急情况

错误号 17020950:在将活动域从 SPARC T4 平台迁移到绑定了 8.3 版固件的 SPARC T5、SPARC M5 或 SPARC M6 平台后,执行内存动态重新配置可能会导致来宾域出现紧急情况。

解决方法:在执行迁移之前,请使用 8.4 版系统固件更新 SPARC T4 系统。然后,重新绑定域。

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

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

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

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

复原 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
PCIe 设备下的子设备恢复成未分配的名称

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

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

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

在附加 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

硬件提供了有限数目的中断,因此,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
重新引导 primary 域后,SR-IOV 域中的 ixgbevf 设备可能会变为禁用状态

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

解决方法:无。

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

错误号 16071170:在 SPARC M5-32 或 SPARC M6-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 和 SPARC M6-32 组合件的一个 IOU 中。每个端口都会报告一次此错误。

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

SPARC T5-8:对于某些 ldm 列表命令,运行时间数据显示了值 0

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

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

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

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

解决方法:无。

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

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

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

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

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

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

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

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

要确保系统保持在未发生上述任何操作的状态下,请参见 Using the ldm init-system Command to Restore Domains on Which Physical I/O Changes Have Been Made(使用 ldm init-system 命令恢复已执行了物理 I/O 更改的域)。

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

错误号 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%
限制可以分配给域的最大虚拟功能数

错误号 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 卡,在此支持文档 中列出了这类卡。

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

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

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

LDom domain-name stop notification failed

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

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

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

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

  • 减少虚拟功能数以减少失败的虚拟功能数。此更改可能会保持芯片处于响应状态。

  • ixgbe 虚拟功能创建多个中断资源管理 (Interrupt Resource Management, IRM) 池,因为默认情况下,只会为系统上的所有 ixgbe 虚拟功能创建一个 IRM 池。

使用部分核心的 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 线程并设置整体核心约束。

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

错误号 15721872:在使用 ldm rm-io 命令从 primary 域中删除某个 PCIe 端点设备之后,您无法通过 Oracle Solaris 热插拔操作“热删除”该设备。有关替换或删除 PCIe 端点设备的信息,请参见Oracle VM Server for SPARC 3.3 管理指南 中的更改 PCIe 硬件

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

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

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

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
运行 Oracle Solaris 10 的来宾域:对多个已激活的 NIU nxge 实例执行内存 DR 删除操作可能会无限期挂起而且永远无法完成

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

解决方法:取消 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 命令。

有时,对虚拟网络设备的 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
从域中动态删除所有的加密单元导致 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 命令。例如,在 Sun SPARC Enterprise T5140 和 T5240 服务器上等待两分钟左右,在 Sun SPARC Enterprise T5440 服务器或 Sun Netra T5440 服务器上等待四分钟左右。

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

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

  • 解决方法 1:向来宾域分配一个或多个物理网络设备。使用 PCIe 总线分配、直接 I/O (Direct I/O, DIO) 或 SR-IOV 功能向该域分配物理 NIC。

  • 解决方法 2:如果区域配置要求是仅在域内具有区域间通信,请创建 etherstub 设备。使用 etherstub 设备作为区域配置中的“较低链路”,以便在该 etherstub 设备上创建该虚拟 NIC。

  • 解决方法 3:使用独占链路分配向区域分配 Logical Domains 虚拟网络设备。根据需要向域分配虚拟网络设备。您还可以选择禁用 Inter-Vnet 链路,以便能够创建大量虚拟网络设备。

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

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

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

# svcadm disable nis/client
有时,从 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 的情况下运行。

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

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

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

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

错误号 15387338:Oracle VM Server for SPARC 3.3 管理指南 中的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 domain-name

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

LDom <domain-name> stop notification failed