Solaris 10 8/07 发行说明

第 3 章 特定于系统的问题

本章介绍特定于 Sun 中型和高端服务器的问题。当前 Sun 服务器属于 Sun Fire 系统系列。旧服务器属于 Sun Enterprise 系统系列。


注 –

Sun 验证测试套件发行说明现在为单独文档,可以在 http://sun.com 上找到。



注 –

在后续的 Solaris 10 发行版中修复了本章中的某些问题和错误。如果升级了 Solaris 软件,本章中的某些问题和错误可能不再适用。要查看哪些错误和问题不再适用于您特定的 Solaris 10 软件,请参阅附录 A,Solaris 10 操作系统中的集成错误修复表


Sun Fire 高端系统的动态重新配置

本节介绍运行 Solaris 10 软件的下列 Sun Fire 高端系统上的主要域端 DR 错误:

有关 Sun 管理服务上的 DR 错误的信息,请参见系统上运行的 SMS 版本的《SMS 发行说明》。


注 –

此信息仅适用于在本节中所列出的服务器上运行的 DR。有关其他服务器上的 DR 的信息,请参见介绍这些服务器的发行说明或产品说明文档或章节。


已知的软件和硬件错误

下列软件和硬件错误适用于 Sun Fire 高端系统。

某程序使网络设备处于打开状态时无法删除该设备 (5054195)

如果某进程使网络设备处于打开状态,则与该设备相关的任何 DR 操作都会失败。保存引用计数的守护进程和进程都会停止 DR 操作,使其无法完成。

解决方法:以超级用户身份执行以下步骤:

  1. 删除或重命名 /rplboot 目录。

  2. 关闭 NFS 服务。


    # sh /etc/init.d/nfs.server stop
    
  3. 关闭 Boot Server 服务。


    # sh /etc/init.d/boot.server stop
    
  4. 执行 DR 分离操作。

  5. 重新启动 NFS 服务。


    # sh /etc/init.d/nfs.server start
    
  6. 重新启动 Boot Server 服务。


    # sh /etc/init.d/boot.server start
    

Deleteboard 显示泄漏错误 (4730142)

在配置为使用 SunSwift PCI 卡(选项 1032)的系统上执行 DR 命令时,可能会显示警告。这些警告显示在运行 Solaris 8、Solaris 9 或 Solaris 10 软件的域上。例如,会显示以下警告:


Aug 12 12:27:41 machine genunix: WARNING:
 vmem_destroy('pcisch2_dvma'): leaked

这些警告并没有什么影响。直接虚拟内存访问 (Direct Virtual Memory Access, DVMA) 空间在 DR 操作期间已正常刷新。实际上没有发生内核内存泄漏。

解决方法:要避免显示警告,请将以下行添加到 /etc/system


set pcisch:pci_preserve_iommu_tsb=0

附加 DR 后,GigaSwift Ethernet MMF 与 CISCO 4003 交换机链接失败

具有 Sun GigaSwift Ethernet MMF 选件 X1151A 的系统与某些 CISCO 交换机链接失败。尝试在连接到下列交换机之一的系统上运行 DR 操作时发生该故障:

在 CISCO 6509 交换机上未出现此问题。

解决方法:使用另一个交换机。另外,可以向 Cisco 咨询以获得所列出交换机的修补程序。

Sun Fire 中型系统的动态重新配置

本节介绍在下列 Sun Fire 中型系统中与 DR 相关的主要问题:


注 –

此信息仅适用于在本节中所列出的服务器上运行的 DR。有关其他服务器上的 DR 的信息,请参见介绍这些服务器的发行说明或产品说明文档或章节。


系统控制器固件的最低版本

表 3–1 显示对于要运行 DR 的每个 Sun Fire 中型系统,可接受的 Solaris 软件和系统控制器 (System Controller, SC) 固件的组合。


注 –

要充分利用最新的固件功能和错误修复,请在 Sun Fire 中型系统上运行最新的 SC 固件。有关最新的修补程序信息,请参见 http://sunsolve.sun.com


表 3–1 每个平台和 Solaris 发行版的 SC 固件的最低版本

平台 

Solaris 版本 

SC 固件的最低版本 

带 UltraSPARC IV+ 的 Sun Fire E6900/E4900 

Solaris 10 3/05 HW1(限制版本)或 Solaris 10 1/06 

5.19.0 

不带 UltraSPARC IV+ 的 E6900/E4900 

Solaris 9 4/04 

5.16.0 

Sun Fire 6800/4810/4800/3800 

Solaris 9 4/04 

5.16.0 

Sun Fire 6800/4810/4800/3800 

Solaris 9 

5.13.0 

可通过连接到存储固件图像的 FTP 或 HTTP 服务器来升级 Sun Fire 中型系统的系统固件。有关更多信息,请参阅自述文件Install.info 文件。这些文件包含在您的域上运行的固件发行版中。可从 http://sunsolve.sun.com 下载 Sun 的修补程序。

已知的 DR 软件错误

本部分列出了重要的 DR 错误。

某程序使网络设备处于打开状态时无法删除该设备 (5054195)

如果某进程使网络设备处于打开状态,则与该设备相关的任何 DR 操作都会失败。保存引用计数的守护进程和进程都会停止 DR 操作,使其无法完成。

解决方法:以超级用户身份执行以下步骤:

  1. 删除或重命名 /rplboot 目录。

  2. 关闭 NFS 服务。


    # sh /etc/init.d/nfs.server stop
    
  3. 关闭 Boot Server 服务。


    # sh /etc/init.d/boot.server stop
    
  4. 执行 DR 分离操作。

  5. 重新启动 NFS 服务。


    # sh /etc/init.d/nfs.server start
    
  6. 重新启动 Boot Server 服务。


    # sh /etc/init.d/boot.server start
    

无法取消配置已禁用端口 0 的 cPCI 板 (4798990)

在 Sun Fire 中型系统中,当 CompactPCI (cPCI) I/O 板上的端口 0 (P0) 已禁用时,无法取消配置该板。Solaris 10 和 Solaris 9 软件中存在此问题。在已安装下列一个或多个修补程序的 Solaris 8 软件中,也存在此问题:

同时,该错误仅在涉及 cPCI 板的 DR 操作期间发生。将显示一条类似以下示例的错误消息:


# cfgadm -c unconfigure NO.IB7
cfgadm: Hardware specific failure: unconfigure N0.IB7: Device
busy:/ssm@0,0/pci@1b,700000/pci@1

NO.IB7 为 P0 已禁用的 CompactPCI I/O 板。

解决方法:禁用插槽而不禁用端口 0。

Sun Enterprise 10000 发行说明

本节介绍有关 Sun Enterprise 10000 服务器上的下列功能的问题:


注 –

Solaris 10 软件可在 Sun Enterprise 10000 系统中的单独域上运行。不过,此发行版不支持 Sun Enterprise 10000 系统服务处理器。


系统服务处理器要求

系统服务处理器 (System Service Processor, SSP) 上需要 SSP 3.5 软件才能支持 Solaris 10 软件。首先在 SSP 上安装 SSP 3.5。然后,可以在 Sun Enterprise 10000 域上安装或升级到 Solaris 10 OS。

还需要 SSP 3.5 软件,以便正确配置域以使用 DR 模型 3.0。

动态重新配置问题

本节介绍有关 Sun Enterprise 10000 域上的动态重新配置的不同问题。

DR 模式 3.0

在运行从 Solaris 9 12/03 发行版开始的 Solaris OS 的 Sun Enterprise 10000 域上,必须使用 DR 3.0。DR 模型 3.0 引用 SSP 上使用下列命令的功能,以执行域 DR 操作:

可以在域上运行 cfgadm 命令以获得板状态信息。DR 模型 3.0 还与重新配置协调管理器 (Reconfiguration Coordination Manager, RCM) 连接,以便与域上运行的其他应用程序协调 DR 操作。

有关 DR 模型 3.0 的详细信息,请参阅《Sun Enterprise 10000 Dynamic Reconfiguration User Guide》。

DR 和 Bound 用户进程

对于此 Solaris 发行版,DR 不再自动从将要分离的 CPU 解除绑定用户进程。必须在启动分离序列前执行此操作。如果 CPU 上有未释放的进程,则隔离操作将失败。

某程序使网络设备处于打开状态时无法删除该设备 (5054195)

如果某进程使网络设备处于打开状态,则与该设备相关的任何 DR 操作都会失败。保存引用计数的守护进程和进程都会停止 DR 操作,使其无法完成。

解决方法:以超级用户身份执行以下步骤:

  1. 删除或重命名 /rplboot 目录。

  2. 关闭 NFS 服务。


    # sh /etc/init.d/nfs.server stop
    
  3. 关闭 Boot Server 服务。


    # sh /etc/init.d/boot.server stop
    
  4. 执行 DR 分离操作。

  5. 重新启动 NFS 服务。


    # sh /etc/init.d/nfs.server start
    
  6. 重新启动 Boot Server 服务。


    # sh /etc/init.d/boot.server start
    

在某些情况下启用 DR 3.0 会需要额外步骤 (4507010)

要正确配置域以用于 DR 3.0,需要 SSP 3.5 软件。将 SSP 升级至 SSP 3.5 后,在域上启用 DR 3.0 时,运行下列命令:


# devfsadm -i ngdr

域间网络

要使某域加入域间网络,该域中所有具有活动内存的板都必须至少具有一个活动 CPU。

OpenBoot PROM 变量

在 OpenBoot PROM 提示符 (OK) 下发出 boot net 命令之前,请验证 local-mac-address?变量是否已设置为 false。此设置为出厂缺省设置。如果该变量设置为 true,则必须确保该值为适当的本地配置。


注意 – 注意 –

local-mac-address?设置为 true 可能导致域无法成功通过网络进行引导。


netcon 窗口中,可以在 OpenBoot PROM 提示符处使用下列命令显示 OpenBoot PROM 变量的值:


OK printenv

local-mac-address?变量复位为缺省设置。使用 setenv 命令:


OK setenv local-mac-address? false

Sun Enterprise 中型系统的动态重新配置

本节包含有关运行 Solaris 10 软件的下列中型服务器的动态重新配置 (dynamic reconfiguration, DR) 功能的最新信息:

有关 Sun Enterprise Server Dynamic Reconfiguration 的更多信息,请参阅《Dynamic Reconfiguration User's Guide for Sun Enterprise 3x00/4x00/5x00/6x00 Systems》。Solaris 10 发行版支持上述列表中提到的系统中的所有 CPU/内存板以及大多数 I/O 板。

支持的硬件

继续操作前,请确保系统支持动态重新配置。如果系统为旧设计,则控制台或控制台日志中会显示下列消息。这类系统不适合进行动态重新配置。


Hot Plug not supported in this system

当前不支持下列 I/O 板:

软件说明

本节提供有关 DR 的一般软件信息。

启用动态重新配置

要启用动态重新配置,必须在 /etc/system 文件中设置两个变量。还必须设置一个额外变量,才能删除 CPU/内存板。请执行以下步骤:

  1. 以超级用户身份登录。

  2. 通过添加下列行,编辑 /etc/system 文件:


    set pln:pln_enable_detach_suspend=1
    set soc:soc_enable_detach_suspend=1
    
  3. 要启用 CPU/内存板的删除,请将以下行添加到文件:


    set kernel_cage_enable=1
    

    设置此变量将启用对内存的取消配置操作。

  4. 重新引导系统以应用更改。

停顿测试

使用以下命令开始停顿测试:


 # cfgadm -x quiesce-test sysctr10:slot number

在大型系统上,停顿测试的运行时间可能会长达一分钟。在这段时间内,如果 cfgadm 未发现不兼容的驱动程序,则不显示任何消息。

禁用板列表

试图连接禁用板列表中的板可能生成以下错误消息:


# cfgadm -c connect sysctrl0:slotnumber







cfgadm: Hardware specific failure: connect failed:
board is disabled: must override with [-f][-o enable-at-boot]

要改写禁用条件,可以使用下面两种方法:

要从禁用板列表中删除所有板,请根据发出命令时所在的提示符,选择下面的两种操作之一:

有关 disabled-board-list 设置的详细信息,请参阅《Platform Notes: Sun Enterprise 3x00, 4x00, 5x00, and 6x00 Systems》手册中的 "Specific NVRAM Variables" 一节。该手册包含在此发行版的文档集中。

禁用内存列表

此发行版发布有关 OpenBoot PROM disabled-memory-list 设置的信息。请参阅 Solaris on Sun Hardware 文档中《Platform Notes: Sun Enterprise 3x00, 4x00, 5x00, and 6x00 Systems》中的 "Specific NVRAM Variables"。

卸载无法安全分离的驱动程序

如果需要卸载无法安全分离的驱动程序,请使用 modinfo 行命令查找相应驱动程序的模块 ID。然后,可在 modunload 命令中使用相应模块 ID 以卸载无法安全分离的驱动程序。

连接期间自检失败

如果在 DR 连接期间显示以下错误消息,请尽快从系统中卸下该板:


cfgadm: Hardware specific failure: connect failed: firmware operation error

该板未通过自检,将其卸下可以避免下次重新引导时发生重新配置错误。

在自检失败状态下,不允许执行其他操作。所以,如果希望立即重试失败的操作,必须首先卸下该板,然后重新插入它。

已知错误

以下列表中的内容可能会随时改变。

某程序使网络设备处于打开状态时无法删除该设备 (5054195)

如果某进程使网络设备处于打开状态,则与该设备相关的任何 DR 操作都会失败。保存引用计数的守护进程和进程都会停止 DR 操作,使其无法完成。

解决方法:以超级用户身份执行以下步骤:

  1. 删除或重命名 /rplboot 目录。

  2. 关闭 NFS 服务。


    # sh /etc/init.d/nfs.server stop
    
  3. 关闭 Boot Server 服务。


    # sh /etc/init.d/boot.server stop
    
  4. 执行 DR 分离操作。

  5. 重新启动 NFS 服务。


    # sh /etc/init.d/nfs.server start
    
  6. 重新启动 Boot Server 服务。


    # sh /etc/init.d/boot.server start
    

致命复位后内存交错的设置不正确 (4156075)

在致命复位后重新引导 Sun Enterprise5 x500 服务器时,内存交错处于不正确状态。随后的 DR 操作失败。该问题仅在系统的内存交错设置为 min 时发生。

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

无法取消配置具有交错内存的 CPU/内存板 (4210234)

要取消配置并随后断开具有内存的 CPU 板或仅内存板,请首先取消配置内存。然而,如果板上的内存与其他板上的内存交错,则目前还不能动态取消对该内存的配置。

可使用 prtdiagcfgadm 命令显示内存交错。

解决方法:维修该板之前关闭系统,之后重新引导系统。要允许今后在 CPU/内存板上执行 DR 操作,请将 NVRAM memory-interleave 属性设置为 min。有关交错内存的相关讨论,另请参见致命复位后内存交错的设置不正确 (4156075)

无法取消配置具有永久内存的 CPU/内存板 (4210280)

要取消配置并随后断开具有内存的 CPU 板或仅内存板,请首先取消配置内存。然而,目前有些内存无法重定位。这种内存可视为常驻内存。

板上的常驻内存在 cfgadm 状态显示中标记为 "permanent":


# cfgadm -s cols=ap_id:type:info
Ap_Id Type Information
ac0:bank0 memory slot3 64Mb base 0x0 permanent
ac0:bank1 memory slot3 empty
ac1:bank0 memory slot5 empty
ac1:bank1 memory slot5 64Mb base 0x40000000

在上例中,插槽 3 中的板带有常驻内存,因此不能删除。

解决方法:维修该板之前关闭系统,之后重新引导系统。

运行并发 cfgadm 命令时 cfgadm 断开操作失败 (4220105)

如果正在一块板上运行 cfgadm 进程,则同时断开另一块板的尝试失败。将显示以下错误消息:


cfgadm: Hardware specific failure: 
disconnect failed: nexus error during detach:address

解决方法:一次仅运行一个 cfgadm 操作。允许一块板上运行的 cfgadm 操作完成后,再在第二块板上开始 cfgadm 断开操作。