Solaris 10 10/08 发行说明

系统管理

本节介绍 Solaris 10 OS 中的系统管理错误。

SPARC: FKU 137137-xx 不支持第三方卷管理器软件

FKU 137137-xx 修补程序不支持第三方卷管理器软件,不过有一些例外的情况。缺少这种支持是由于 prepatch、postpatch 和 postbackout 实现导致的。如果用户使用不受支持的第三方卷管理器软件,则无法应用 FKU 修补程序。在安装修补程序期间将显示以下错误消息:


unsupported root slice type xxxxx

但是,支持 Fujitsu 和 Veritas 卷管理器软件。

解决方法: 无。

请勿使用 patchadd -M 在具有非全局区域的系统上安装修补程序

在具有非全局区域的系统上,建议不要使用 patchadd -M 选项。patchadd -M 的当前实现会首先将所有修补程序应用到全局区域,然后才会将它们应用到非全局区域。这不是最合适的做法,因为如果将大量修补程序应用到全局区域而未应用到非全局区域后出现问题,区域之间可能会出现明显的不同步,从而可能导致难以恢复。

解决方法:可以使用 patchadd -a -M 为一组修补程序建构有效的安装序列,从而确保这些修补程序的安装不会出现问题。

有关更多信息,请参见位于 http://www.sun.com/bigadmin/features/articles/patch_management.jsp 的 BigAdmin 修补中心上的“最佳做法”文章。

::findleaks 命令失败 (6720107)

在 Solaris 10 10/08 OS 上执行 mdb 调试程序 ::findleaks 命令会失败。将显示以下错误消息:


mdb: couldn't walk 'modctl': unknown walk name

解决方法:在使用 ::findleaks 命令之前,键入 ::load krtld 命令。

vold 可能不会自动挂载 Solaris 10 10/08 DVD 介质 (6712352)

在缺省情况下,Solaris 10 10/08 DVD 不会在运行时挂载。不会显示任何错误消息。

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

  1. 成为超级用户。

  2. 禁用 vold

    • 在 Solaris 10 系统上:


      # svcadm disable -t volfs
    • 在 Solaris 8 和 Solaris 9 系统上:


      /etc/init.d/volmgt stop
  3. 使用 # mount -F hsfs 块设备的路径 挂载点的路径命令手动挂载介质。例如:


    # mount -F hsfs /dev/rdsk/c0t2d0s2 /mnt

在启用 Solaris 高可靠扩展版之后无法登录 Solaris Management Console (6639493)

在启用 Solaris 高可靠扩展版之后,SolarisTM Management Console 挂起,不允许以超级用户身份登录 Solaris Management Console。出现此种 Solaris Management Console 挂起时,可能会显示以下错误消息:


Configuring the Management Server...

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

  1. 配置 Solaris 高可靠扩展版并启动 Solaris Management Console。

  2. 在控制台菜单中选择“打开工具箱”。

  3. 如果列出了 localhost,请选择它。

  4. 如果未列出 localhost,请键入 localhost

  5. 选择 Policy=TSOL 工具箱。

  6. 以超级用户身份再次登录 Solaris Management Console。

  7. (可选)如果第二次登录 Solaris Management Console 时失败,请重复步骤 1 至步骤 5,但是在步骤 3 中键入 127.0.0.1,而不是 localhost

zoneadm attach 命令可能会失败 (6550154)

连接区域时,如果原始主机和新主机的软件包处于相同的修补程序级别,但处于不同的中间修补程序历史记录,则区域连接可能会失败。会显示各种错误消息。错误消息取决于两台主机的修补程序历史记录。

解决方法: 确保原始主机和新主机的每个修补程序都应用了相同序列的修补程序版本。

Solaris 无法处理 SATA 控制器传统模式和 AHCI 模式间的模式切换 (6520224)

在具有 AHCI 兼容 SATA 控制器的系统中,BIOS 设置通常允许在 AHCI、传统或 RAID 模式中设置控制器。Solaris 支持 AHCI 和传统模式。

在 Solaris 初始安装之后,不得更改 BIOS 中的 SATA 模式设置。在 Solaris 升级之前或之后,也不得更改 SATA 模式设置。如果在安装 Solaris 后修改 SATA 模式 BIOS 设置,则系统将会重置并无法引导,且不会指出导致失败的原因。

解决方法: 如果由于更改 BIOS 设置而导致引导失败,请恢复回原始设置以引导 Solaris。

延迟激活修补 (6486471)

从修补程序 119254-42 和 119255-42 开始,为了更改对某些提供新功能的修补程序或与运行中系统不兼容的现有文件的处理方式,已经对修补程序安装实用程序 patchaddpatchrm 进行了修改。对实用程序的这一修改会对在任意 Solaris 10 发行版上安装这些修补程序有所影响。这些“延迟激活”修补程序可以更好地处理内核修补程序中所交付的大范围更改。

在延迟激活修补过程中,会使用回送文件系统 lofs 来创建根文件系统的副本。系统将正在修补的原始文件复制到一个安全位置,并对根文件系统的 lofs 副本进行修补。原始文件在修补后,会借助 lofs 文件系统通过新文件重新挂载回去。这意味着在用户重新引导系统之前,正在运行的系统在修补持续期间保持一致,新功能处于不活动状态,任何不兼容的更改处于隐藏状态。

在应用延迟激活修补程序之后,用户应尽快重新引导系统,但是不必立即重新引导,他们仍可继续添加其他修补程序,然后重新引导。

修补程序 README 提供了有关哪些修补程序需要重新引导的说明。


注 –

Sun 强烈建议在单用户模式下执行修补程序操作,尤其是修补程序自述文件也如此建议时。


如果您在运行非全局区域或者禁用了 lofs,则在安装或删除延迟激活修补程序时,请考虑以下几点:

不会显示任何错误消息。

解决方法: Sun 建议使用 Solaris Live Upgrade 进行修补管理。Solaris Live Upgrade 可防止对运行的系统进行修补时出现问题。通过在出现问题时提供回退功能,Solaris Live Upgrade 缩短了修补引起的停机时间,同时降低了风险。有关更多信息,请参见《Solaris 10 10/08 安装指南:Solaris Live Upgrade 和升级规划》

在大型文件系统上获取文件系统状态时 32 位应用程序可能发生错误 (6468905)

在大型文件系统(例如 ZFS)上运行时,使用 statvfs(2)statfs(2) 获取有关文件系统状态的信息的应用程序会显示错误。将显示以下错误消息:


Value too large for defined data type

解决方法: 应用程序应改为使用 statvfs64()

应当禁止从不支持 Zone 的系统上,使用 patchadd -R 指定另选根 (Root) 路径来对本系统进行修补 (6464969)

在运行不识别区域的 Solaris 发行版的系统上,无法使用 patchadd -R 或接受 -R 选项的任何命令为安装了非全局区域的全局区域指定备用根路径。

与使用 luupgrade [-t-T-p-P] 命令时显示错误消息不同,在这种情况下,不会显示与使用相应命令级限制有关的错误消息。

没有关于 -R 选项无效的提示。由于该命令执行失败,因此 Solaris 10 软件包或修补程序不会安装在任何已安装的非全局区域上。

安装和卸载软件包或修补程序时会发生此问题。


注 –

如果备用引导环境配置了非全局区域(而不是安装了非全局区域),则 -R 选项有效。但是,为了避免可能的问题,或者如果不确定是否有安装的非全局区域用作备用根路径,请在所有情况下限制使用 -R 选项。


有关更多信息,请参见以下手册页:

解决方法 1: 将 OS 至少升级到 Solaris 10 1/06 发行版。

如果运行的是 Solaris 10 3/05 发行版,请安装以下修补程序以便能够使用接受 -R 选项的命令来创建备用根路径:

解决方法 2:限制使用 patchadd -R 命令或任何接受 -R 选项的命令来创建备用根路径。

而是引导备用根(例如,Solaris 10 发行版)作为活动 OS。然后在不使用 -R 选项的情况下安装和卸载 Solaris 10 软件包和修补程序。

Sun Patch Manager Tool 2.0 与早期版本不兼容

运行 Sun Patch Manager Tool 2.0 的系统可以管理运行包括 Sun Patch Manager Tool 1.0 的修补程序管理器工具的远程系统。

不过,使用早期版本的修补程序管理器工具的系统无法管理运行 Patch Manager Tool 2.0 的远程系统。早期版本包括:


注 –

Solaris 8 OS 中不存在对修补程序管理器工具的“通用信息模型/基于 Web 的企业管理 (CIM/WBEM)”支持。因此,使用修补程序管理器进行远程管理不适用于 Solaris 8 系统。


无法从系统中删除现有无盘客户机 (6205746)

如果使用 smdiskless 命令删除无盘客户机,该命令失败。无盘客户机未从系统数据库中删除。将显示以下错误消息:


Failing with error EXM_BMS.

解决方法: 添加客户机前取消共享 /export 分区。

SPARC: smosservice delete 命令未成功删除所有目录 (6192105)

如果使用 smosservice delete 命令删除无盘客户机服务,该命令不能成功删除所有服务目录。

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

  1. 确保不存在使用该服务的客户机。


    # unshare /export/exec/Solaris_10_sparc.all
    # rm -rf /export/exec/Solaris_10_sparc.all
    # rm -rf /export/exec/.copyofSolaris_10_sparc.all
    # rm -rf /export/.copyofSolaris_10
    # rm -rf /export/Solaris_10
    # rm -rf /export/share
    # rm -rf /export/root/templates/Solaris_10
    # rm -rf /export/root/clone/Solaris_10
    # rm -rf /tftpboot/inetboot.sun4u.Solaris_10
  2. /etc/bootparams 文件中删除以下项。


    fs1-24 boottype=:os

    注 –

    仅在此文件服务器不为任何其他服务提供功能或资源时删除此项。


  3. /etc/dfs/dfstab 文件中删除以下项。


    share -F nfs -o ro /export/exec/Solaris_8_sparc.all/usr
  4. 修改 /var/sadm/system/admin/services/Solaris_10 文件。

    • 如果文件服务器不是 Solaris_10,则删除该文件。

    • 如果文件服务器是 Solaris_10,则删除前三行后的所有项。所删除的行表示 /export/root/templates/Solaris_10 中的服务 USR_PATH 和 SPOOLED ROOT 软件包和支持的平台。

kill -HUP 并不总是使代理重新读取 snmpd.conf 配置文件 (4988483)

修改 snmpd.conf 的内容后,可以发出命令 kill -HUP snmp Process ID。此命令停止 snmp 进程。然后,该命令向系统管理代理的主代理 (snmpd) 发送信号,以重新读取 snmpd.conf 并实现您引入的修改。该命令可能不会始终使主代理重新读取配置文件。因此,使用该命令可能无法总是激活配置文件中的修改。

除了使用 kill -HUP,还可以在将修改添加到 snmpd.conf 后重新启动系统管理代理。请执行以下步骤:

  1. 成为超级用户。

  2. 键入以下命令:

    # /etc/init.d/init.sma restart

x86: BIOS 引导过程中按 F4 键不能引导服务分区 (4782757, 5051157)

正在引导安装了服务分区和 x86 上的 Solaris 10 OS 的 Sun LX50。按 F4 功能键引导服务分区(如果提供该选项)会使屏幕变为空白,此时系统将无法引导服务分区。

解决方法: 当显示“BIOS 引导屏幕”时,请勿按 F4 键。超时后,将显示“当前磁盘分区信息”屏幕,在“零件号”列中选择与 type=DIAGNOSTIC 对应的编号,按回车键。系统将引导服务分区。

一些 com.sun 应用程序编程接口方法调用在 XML/HTTP 传输协议下会失败(4497393、4497399、4497406 和 4497411)

如果选择使用 com.sun 应用程序编程接口而不是使用 javax 应用程序编程接口来开发 WBEM 软件,则只完全支持通用信息模型 (Common Information Model, CIM) 远程方法调用 (remote method invocation, RMI)。其他协议,如 XML/HTTP,不一定完全支持 com.sun 应用程序编程接口。

下表列出了在 RMI 下能够成功执行、但在 XML/HTTP 下不能成功执行的调用示例:

方法调用 

错误消息 

CIMClient.close()

NullPointerException

CIMClient.execQuery()

CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED

CIMClient.getInstance()

CIM_ERR_FAILED

CIMClient.invokeMethod()

XMLERROR: ClassCastException