Solaris 10 10/09 发行说明

硬件相关问题和错误

Solaris 10 发行版中存在以下与硬件相关的问题和错误。

Solaris 10 10/09 中 ixgbe 驱动程序的性能降低 (6885903)

ixgbe 驱动程序在默认情况下有 8 个 RX 队列。与 Solaris 10 10/08 和 Solaris 10 5/09 发行版中的单个 RX 队列相比,多个 RX 队列会导致驱动程序在混杂模式下性能降低。多个 RX 队列导致内核争用。这些内核争用可能导致 Solaris 10 10/09 发行版中的 ixgbe 性能不佳。

解决方法:ixgbe RX 和 TX 队列值设置为 1。请执行以下步骤:

  1. 编辑 /kernel/drv/ixgbe.conf 配置文件。


    rx_queue_number = 1;
    tx_queue_number = 1;
  2. 重新引导系统。

ZFS 根池在每次重新引导后需要进行维护 (6856341)

重新引导后 ZFS 根池将处于降级模式。可能受该问题影响的镜像根池将包含使用不同设备驱动程序的磁盘设备,并且在引导过程中不装入第二个驱动程序。

由于两个设备驱动程序不在同一时间装入,因此该问题的症状是当重新引导系统时池状态为 DEGRADED。可能受该问题影响的镜像根池将具有类似下列内容的 zpool 状态输出:


state: DEGRADED
status: One or more devices could not be opened. Sufficient replicas exist for 
the pool to continue functioning in a degraded state.

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

  1. 指定要强制装入的设备驱动程序。例如,按类似下列内容的语法使用 prtconf 命令:


    # prtconf -aD /dev/rdsk/c1t0d0
    SUNW,Sun-Fire-280R (driver name: rootnex)
    pci, instance #1 (driver name: pcisch)
    SUNW,qlc, instance #4 (driver name: qlc)
    fp, instance #5 (driver name: fp)
    ssd, instance #5 (driver name: ssd)
  2. 编辑 /etc/system 文件并为步骤 1 中所指定的每个驱动程序提供 forceload 条目。例如:


    forceload: drv/qlc
    forceload: drv/ssd
    forceload: drv/fp

x86: 当检测第四个 5709 接口时,具有 1 GB RAM 的系统无法检测并出现紧急情况 (6822680)

某些 x86 系统无法检测具有 1 GB RAM 的第四个 5709 接口。系统可能会出现紧急情况,或者会显示以下错误消息:


ifconfig: plumb: bnx<X>: Invalid argument

此错误会影响 Dell PowerEdge R610 和 R710 服务器。

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

  1. 使用 1 GB 以上的 RAM。

  2. 为每个接口创建 hostname.bnxX

  3. 重新引导系统。

  4. 下载并安装最新的 BNX 驱动程序 4.6.2。

  5. 修改 bnx.conf 文件以使用 tx_descriptor_count 的缺省设置。

x64: 在 Mellanox 的 ConnectX 固件 2.6.0 中,PCI 子系统 ID 发生更改 (6810093)

在正在运行的系统上将 ConnectX 固件升级到 2.6.000 版或更高版本时,可能会导致某些 HCA 或 x64 平台出现问题。此问题仅影响 Mellanox 品牌的 HCA。Sun 品牌的 PCIe HCA、EM、NEM 和 SPARC 平台不会受到影响。

您可能无法引导系统,或者系统可能会在引导期间挂起。ibd (IPoverIB) 实例编号可能会发生更改,阻止系统引导并且可能会检测 ibd 设备。

解决方法 1:使用 cxflash 更新固件后,在重新引导系统之前,从 /etc/path_to_inst 文件和 /dev 目录删除 ibd<x> 实例。请执行以下步骤:

  1. 以超级用户身份登录。设备树信息可能类似如下:


    # ls -R /devices | grep 15b3
    /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0
    /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0/ibport@1,ffff,ipib
    /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0/ibport@1,ffff,ipib:ibd0
    /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0/ibport@2,ffff,ipib
    /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0/ibport@2,ffff,ipib:ibd1
    /devices/pci@0,0/pci10de,5d@e/pci15b3,634a@0:devctl

    注 –

    设备规格会有所不同,具体取决于所安装的 Mellanox 品牌的卡。


  2. 编辑 path_to_inst 文件。请执行以下步骤:

    1. 制作现有 path_to_inst 文件的备份副本。


      # cp /etc/path_to_inst /etc/path_to_inst.backup
    2. 打开 path_to_inst 文件:


      # vi /etc/path_to_inst
    3. 搜索包含 ibd 和 hermon 的行,然后删除这些行。

    4. 保存所做更改并关闭文件。

  3. 删除 /dev 目录中的条目:


    rm /dev/ibd?*
  4. 重新引导系统。系统会正常引导,相应的设备树类似如下:


    # ls -R /devices | grep 15b3
    /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0
    /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0/ibport@1,ffff,ipib
    /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0/ibport@1,ffff,ipib:ibd0
    /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0/ibport@2,ffff,ipib
    /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0/ibport@2,ffff,ipib:ibd1
    /devices/pci@0,0/pci10de,5d@e/pci15b3,5@0:devctl

解决方法 2:如果在更新 path_to_inst 文件和 /dev 目录前重新引导系统,系统可能会挂起。在这种情况下,请执行以下步骤:

  1. 关闭系统电源并从总线移除 HCA。

  2. 在未安装 HCA 的情况下重新引导系统。

  3. 系统重新引导完成后,执行解决方法 1 中所列的步骤 2 至 3。

  4. 关闭系统电源。

  5. 重新安装 HCA。重新引导系统。

  6. 如果系统重新引导,但 ibd 接口不自动进行检测,则 /etc/hostname.ib<?> 文件可能不适合于当前的设备配置。手动重命名文件以反映正确的配置。

在 PCIe 上发生不可修复的机器检查异常 (6797934)

某些 IBM 系统在安装后会挂起或出现紧急情况。将显示以下故障消息:


Unrecoverable Machine-Check Exception

解决方法 1:安装后将以下行添加到 /etc/system 文件,以避免系统挂起:


set pcie:pcie_aer_ce_mask=0x11C1

解决方法 2:如果系统在安装期间或者在安装后的引导期间出现紧急情况,则使用此解决方法。使用 -kd 选项引导系统,并在 kmdb 调试程序中对其进行设置:


::bp pcie`pcie_initchild
:c
pcie_aer_ce_mask/W 11C1
:d all
:c

系统启动后,将以下行附加到 /etc/system 文件,以使更改永久有效:


set pcie:pcie_aer_ce_mask=0x11C1

x86: i86_mwait 工作不按设计的方式运行 (6736444)

运行 Solaris 10 10/09 OS 并且使用 Intel Xeon Processor MP 7400 系列的系统在利用率较低时可能会出现性能下降和功耗升高的情况。如果 CPU 在空闲时无法进入停顿状态,从而阻碍电源管理,则会发生该问题。不会显示任何错误消息。

解决方法:/etc/system 文件中添加以下行,然后重新引导系统。


set idle_cpu_prefer_mwait=0

fwflash 不支持 ConnectX 和 hermon HCA (6731804)

标准 fwflash 命令需要插件才能支持在 ConnectX HCA 闪存设备上更新固件。Solaris 10 10/09 发行版中尚未提供此插件。

解决方法:提供此实用程序的单机版本以使 Solaris 10 用户能够更新其固件。请执行以下步骤:

  1. 从客户下载中心 (http://www.sun.com/download/index.jsp?tab=2) 下载此实用程序和手册页。在此页面上搜索 Solaris InfiniBand (IB) Updates 3。按照说明下载软件包并对文件执行 untar(解包)。不要安装该软件包,因为您只需提取部分文件。

  2. 重命名原始 .tar 文件:


    # mv ib_updates_3_s10u6.i386.tar ib_updates_3_s10u6.i386.tar-orig
  3. 对压缩的 .tar 文件进行解压缩:


    #gunzip ib_updates_3_s10u6.i386.tgz
  4. .tar 文件中提取 cxflash 实用程序:


    # tar -xvf ib_updates_3_s10u6.i386.tar usr/sbin/cxflash

    这将会在您的工作目录下提取相对路径:


    # ls -lR usr
    usr:
    total 2
    drwxrwxrwx   2 staff    staff        512 Mar  9 09:20 sbin
    
    usr/sbin:
    total 88
    -rwxr-xr-x   1 staff    staff      44976 Jan 26 13:39 cxflash
  5. cxflash 文件复制到 /usr/sbin。此实用程序可用于将固件闪存到 hermon 和 ConnectX HCA 中。


    # ls -l firmware
    total 1952
    -rw-r--r--   1 staff    staff     487336 Jan 30 18:29 SUN-375-3548_2.5.100.bin
    -rw-r--r--   1 staff    staff     487436 Jan 30 18:29 SUN-375-3549_2.5.100.bin

    注 –

    提取文件时创建的固件目录包含用于 Sun 品牌的 HCA 卡和 Express 模块的固件文件。如果您有不同版本的 HCA 卡,请从 HCA 卡供应商处获取至少为 2.5.000 修订版的固件。


HP NC326i 适配器和 bge 驱动程序存在的问题 (6691658)

bge 无法在 HP NC326i 设备上正常运行。不会显示任何错误消息。

解决方法: 无。

SPARC: NCP 设备驱动程序出现 19.55% 的性能降低 (6660074)

在装有 Solaris 10 10/09 发行版的 Sun SPARC® Enterprise T5220 计算机上,Niagara Crypto Provider (NCP) 设备驱动程序的性能会降低。不会显示任何错误消息。

解决方法: 将下行添加到 /platform/sun4v/kernel/drv/ncp.conf 配置文件中:


ncp-threads-per-core=6;

USB 软盘驱动器无法挂载 (6650724)

将软盘插入 USB 软盘驱动器时,软盘不会自动挂载。不会显示任何错误消息。无法访问软盘上的 pcfs 文件系统。

解决方法:可通过运行 mount 命令手动挂载软盘上的文件系统。例如:


mount -F pcfs /vol/dev/dsk/c3t0d0/noname /rmdisk

断开 USB 存储设备时显示错误消息 (6624786)

断开 USB 存储设备时显示以下错误消息:


Disconnected device was busy, please reconnect.

即使成功卸载设备,也会显示该消息。

解决方法: 无。可以放心地忽略该错误消息。

(ZFS) ARC 分配内核区域 (Kernel Cage) 的内存会阻止 DR 功能 (6522017)

在具有极大内存配置的系统上,ZFS 可能在所有系统板上分配内核内存。进行动态内存重新配置需要有一个空闲系统板,这样,系统板上要进行动态重新配置的内存便能复制到空闲系统板。动态内存重新配置意味着,在具有极大内存配置且运行 ZFS 的系统上不能动态重新配置内存。高端 SunFireTM 服务器可以重定位内核页,因此避免了该问题。对于有 32 个以上内核的域,这些服务器必须启用内核页重定位 (kernel page relocation, KPR)。不会显示任何错误消息。

解决方法: 通过在 /etc/system 文件中设置 zfs_arc_max 参数,减少 ZFS 可分配的内核内存量。以下示例将最大大小设置为 512 MB。


set zfs_arc_max = 0x20000000

mpathadm 不显示特定于设备的负载平衡设置

执行 mpathadm show logical-unit 子命令时列出的是 Current Load Balance 属性的负载平衡全局配置值。但 csi_vhci.conf 中更改特定产品的负载平衡类型的条目并不会反映在 mpathadm 输出中,即使该设置处于活动状态也是如此。

注册工具阻止在某些帧缓存器中进行电源管理 (6321362)

如果注册工具的后台进程仍在运行,Elite3DCreator3D 帧缓存器会停止电源管理。当系统处于电源管理状态时,该故障会降低省电效果。在某些情况下,系统暂停时可能也会挂起。不会显示任何错误消息。在系统暂停或恢复操作期间,系统可能会挂起。

解决方法:

在每次登录后大约 60 秒,运行以下命令:


# pkill -f basicreg.jar
# pkill -f swupna.jar

SPARC: Solaris 10 OS 不支持 Sun Crypto Accelerator 4000 卡版本 1.0 和 1.1

Solaris 10 OS 提供新的加密框架。不过,Sun Crypto Accelerator 4000 卡版本为 1.0 和 1.1 的软件和固件不使用此框架。因此,Solaris 10 OS 不支持这些版本。

2.0 发行版使用新框架。此发行版是对计划使用 Solaris 10 OS 的当前 Sun Crypto Accelerator 4000 用户提供的免费升级。因为 Sun Crypto Accelerator 4000 是导出控制的产品,您必须与 Sun Enterprise Services 或本地销售渠道联系以获得免费升级。Sun 的产品站点中的 Sun Crypto Accelerator 4000 Web 页面上提供了其他信息。

某些 USB 2.0 控制器被禁用

由于这些设备与 EHCI 驱动程序不兼容,对某些 USB 2.0 控制器的支持已被禁用。将显示以下消息:


Due to recently discovered incompatibilities with this 
USB controller, USB2.x transfer support has been disabled. 
This device will continue to function as a USB1.x controller. 
If you are interested in enabling USB2.x support please refer 
to the ehci(7D) man page. 
Please refer to www.sun.com/io for Solaris Ready products 
and to www.sun.com/bigadmin/hcl for additional compatible 
USB products.

有关 USB 设备的最新信息,请访问 http://www.sun.com/io_technologies/USB-Faq.html

支持的 USB 设备和相应的集线器配置

本 Solaris 发行版支持 USB 1.1 和 USB 2.0 设备。下表是工作于特定配置下的 USB 设备的摘要。连接类型可以是直接连接到计算机或通过 USB 集线器连接到计算机。注意,USB 1.1 设备和集线器是低速或全速的。USB 2.0 设备和集线器是高速的。有关操作的端口和速度的详细信息,请参见《系统管理指南:设备和文件系统》

表 2–1 USB 设备和配置

USB 设备 

连接类型 

USB 2.0 存储设备 

直连,USB 1.1 集线器,USB 2.0 集线器 

USB 1.1 设备(音频设备除外) 

直连,USB 1.1 集线器,USB 2.0 集线器 

USB 1.1 音频设备 

直连,USB 1.1 集线器 

USB 2.0 音频设备 

不支持 

x86: 对 Solaris 10 OS 中的某些设备驱动程序存在的限制

以下列表介绍对用于 x86 平台的此 Solaris 10 发行版中某些驱动程序和接口的限制:

Checkpoint Resume

已为所有设备类型关闭此功能。在 detach() 函数的 DDI_SUSPEND 代码中,应返回 DDI_FAILURE

Power Management

此功能不可用于 USB 设备。不要创建电源管理组件。请编写驱动程序,以便仅在创建电源管理组件时调用 pm_raise_power()pm_lower_power()

无显示系统上的 DVD-ROM/CD-ROM 驱动器

交互式设备(如可拆卸介质)的电源管理与监视器和驱动监视器显卡的电源管理相联系。如果屏幕活动,则 CD-ROM 驱动器和软盘等设备仍然处于全电模式。在没有监视器的系统上,这些设备可切换到低电模式。要恢复 CD 或软盘的电源,键入 volcheck 以便从每个可拆卸设备获得最新状态。

或者,您可以使用 Dtpower GUI 禁用系统的电源管理。通过禁用电源管理,这些设备将始终处于全电模式。

x86: 指定非美国英语键盘需要手动配置

在缺省情况下,kdmconfig 程序指定 Generic US-English(104-Key) 作为连接到系统的键盘类型。如果系统键盘不是美国英语键盘,则必须在安装期间手动指定键盘类型。否则,会使用与系统的实际键盘类型不一致的缺省键盘规范继续安装。

解决方法 1: 如果系统键盘不是美国英语键盘,请在安装期间执行以下步骤:

  1. 当显示“为安装建议的窗口系统配置”时,按 Esc 键。


    注 –

    “为安装建议的窗口系统配置”中的信息(包含键盘类型)仅显示 30 秒。如果希望更改配置设置,必须在 30 秒之内按 Esc 键。否则,会继续按照所显示的设置进行安装。


  2. 将键盘类型更改为与系统键盘对应的类型。

  3. 按 Enter 键接受更改,然后继续安装。

解决方法 2: 如果想更改已在运行 Solaris 10 OS 的系统的键盘类型,请使用 kdmconfig 程序。选择适用于系统所运行的 X 服务器的类型的选项。

SPARC: 连接到磁带设备的某些主机总线适配器的 jfca 驱动程序可能导致错误 (6210240)

下列主机总线适配器 (HBA) 的 jfca 在这些 HBA 连接到磁带设备时可能导致系统出现紧急情况或引起 I/O 故障:

在运行特定操作时,这些 HBA 的 jfca 驱动程序容易出现竞争情况,从而导致错误。相应操作如下所示:

可能显示与下例相似的错误消息:

解决方法: 不要将磁带设备连接到 SG-PCI1FC-JF2 或 SG-PCI2FC-JF2 HBA。

共享相同总线的某些设备之间存在争用 (6196994)

如果 Quad 快速以太网 (QFE) 卡与下列任何适配器共享同一总线,会出现总线争用:

这些适配器使用的 ce 驱动程序的无限成组传送参数在缺省情况下启用。因此,仅很少或无总线时间可用于共享同一总线的 QFE 端口。

解决方法: 不要使 QFE 卡与列表中的网络适配器共享同一总线。

某些 DVD 和 CD-ROM 驱动器无法引导 Solaris (4397457)

SunSwiftTM PCI 以太网/SCSI 主机适配器 (X1032A) 卡的 SCSI 部分的缺省超时值不符合 Sun 的 SCSI DVD-ROM 驱动器 (X6168A) 的超时要求。使用特殊介质,DVD-ROM 会偶尔出现超时错误。唯一的例外是 Sun Fire 6800、4810、4800 和 3800 系统。这些系统以 OpenBoot PROM 的方式覆写 SCSI 超时值。

解决方法: 对于其他平台,使用与板上 SCSI 接口或 DVD-ROM 兼容的 SCSI 适配器,如下例所示: