本节介绍 Solaris 10 OS 中的系统管理错误。
FKU 137137-xx 修补程序不支持第三方卷管理器软件,不过有一些例外的情况。缺少这种支持是由于 prepatch、postpatch 和 postbackout 实现导致的。如果用户使用不受支持的第三方卷管理器软件,则无法应用 FKU 修补程序。在安装修补程序期间将显示以下错误消息:
unsupported root slice type xxxxx |
但是,支持 Fujitsu 和 Veritas 卷管理器软件。
解决方法: 无。
在具有非全局区域的系统上,建议不要使用 patchadd -M 选项。patchadd -M 的当前实现会首先将所有修补程序应用到全局区域,然后才会将它们应用到非全局区域。这不是最合适的做法,因为如果将大量修补程序应用到全局区域而未应用到非全局区域后出现问题,区域之间可能会出现明显的不同步,从而可能导致难以恢复。
解决方法:可以使用 patchadd -a -M 为一组修补程序建构有效的安装序列,从而确保这些修补程序的安装不会出现问题。
有关更多信息,请参见位于 http://www.sun.com/bigadmin/features/articles/patch_management.jsp 的 BigAdmin 修补中心上的“最佳做法”文章。
在 Solaris 10 5/09 OS 上执行 mdb 调试程序 ::findleaks 命令会失败。将显示以下错误消息:
mdb: couldn't walk 'modctl': unknown walk name |
解决方法:在使用 ::findleaks 命令之前,键入 ::load krtld 命令。
缺省情况下,Solaris 10 5/09 DVD 不会在运行时挂载。不会显示任何错误消息。
解决方法: 请执行以下步骤:
成为超级用户。
禁用 vold:
在 Solaris 10 系统上:
# svcadm disable -t volfs |
在 Solaris 8 和 Solaris 9 系统上:
/etc/init.d/volmgt stop |
使用 # mount -F hsfs 块设备的路径 挂载点的路径命令手动挂载介质。例如:
# mount -F hsfs /dev/rdsk/c0t2d0s2 /mnt |
在启用 Solaris 高可靠扩展版之后,SolarisTM Management Console 挂起,不允许以超级用户身份登录 Solaris Management Console。出现此种 Solaris Management Console 挂起时,可能会显示以下错误消息:
Configuring the Management Server... |
解决方法: 请执行以下步骤:
配置 Solaris 高可靠扩展版并启动 Solaris Management Console。
在控制台菜单中选择“打开工具箱”。
如果列出了 localhost,请选择它。
如果未列出 localhost,请键入 localhost。
选择 Policy=TSOL 工具箱。
以超级用户身份再次登录 Solaris Management Console。
(可选)如果第二次登录 Solaris Management Console 时失败,请重复步骤 1 至步骤 5,但是在步骤 3 中键入 127.0.0.1,而不是 localhost。
连接区域时,如果原始主机和新主机的软件包处于相同的修补程序级别,但处于不同的中间修补程序历史记录,则区域连接可能会失败。会显示各种错误消息。错误消息取决于两台主机的修补程序历史记录。
解决方法: 确保原始主机和新主机的每个修补程序都应用了相同序列的修补程序版本。
在具有 AHCI 兼容 SATA 控制器的系统中,BIOS 设置通常允许在 AHCI、传统或 RAID 模式中设置控制器。Solaris 支持 AHCI 和传统模式。
在 Solaris 初始安装之后,不得更改 BIOS 中的 SATA 模式设置。在 Solaris 升级之前或之后,也不得更改 SATA 模式设置。如果在安装 Solaris 后修改 SATA 模式 BIOS 设置,则系统将会重置并无法引导,且不会指出导致失败的原因。
解决方法: 如果由于更改 BIOS 设置而导致引导失败,请恢复回原始设置以引导 Solaris。
从修补程序 119254-42 和 119255-42 开始,为了更改对某些提供新功能的修补程序或与运行中系统不兼容的现有文件的处理方式,已经对修补程序安装实用程序 patchadd 和 patchrm 进行了修改。对实用程序的这一修改会对在任意 Solaris 10 发行版上安装这些修补程序有所影响。这些“延迟激活”修补程序可以更好地处理内核修补程序中所交付的大范围更改。
在延迟激活修补过程中,会使用回送文件系统 lofs 来创建根文件系统的副本。系统将正在修补的原始文件复制到一个安全位置,并对根文件系统的 lofs 副本进行修补。原始文件在修补后,会借助 lofs 文件系统通过新文件重新挂载回去。这意味着在用户重新引导系统之前,正在运行的系统在修补持续期间保持一致,新功能处于不活动状态,任何不兼容的更改处于隐藏状态。
在应用延迟激活修补程序之后,用户应尽快重新引导系统,但是不必立即重新引导,他们仍可继续添加其他修补程序,然后重新引导。
修补程序 README 提供了有关哪些修补程序需要重新引导的说明。
Sun 强烈建议在单用户模式下执行修补程序操作,尤其是修补程序自述文件也如此建议时。
如果您在运行非全局区域或者禁用了 lofs,则在安装或删除延迟激活修补程序时,请考虑以下几点:
所有非全局区域必须处于停止状态,才能执行此修补程序操作。在应用修补程序之前,必须先停止非全局区域。
为了成功地完成操作,延迟激活修补需要回送文件系统 lofs。由于启用 lofs 后会对 HA-NFS 功能有所限制,所以运行 Sun Cluster 3.1 或 Sun Cluster 3.2 的系统可能会将 lofs 关闭。因此,安装延迟激活修补程序之前,必须执行以下步骤来重新启用回送文件系统。
删除或注释掉 /etc/system 文件中的以下行:
exclude:lofs |
重新引导系统。
安装修补程序。
在完成修补程序的安装操作之后,请在 /etc/system 文件中恢复或取消注释该行。
重新引导系统以恢复正常运行。
不会显示任何错误消息。
解决方法: Sun 建议使用 Solaris Live Upgrade 进行修补管理。Solaris Live Upgrade 可防止对运行的系统进行修补时出现问题。通过在出现问题时提供回退功能,Solaris Live Upgrade 缩短了修补引起的停机时间,同时降低了风险。有关更多信息,请参见《Solaris 10 5/09 安装指南:Solaris Live Upgrade 和升级规划》。
在大型文件系统(例如 ZFS)上运行时,使用 statvfs(2) 或 statfs(2) 获取有关文件系统状态的信息的应用程序会显示错误。将显示以下错误消息:
Value too large for defined data type |
解决方法: 应用程序应改为使用 statvfs64()。
在运行不识别区域的 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 选项的命令来创建备用根路径:
Patch ID 119254-19(适用于基于 SPARC 的系统)
Patch ID 119255-19(适用于基于 x86 的系统)
解决方法 2:限制使用 patchadd -R 命令或任何接受 -R 选项的命令来创建备用根路径。
而是引导备用根(例如,Solaris 10 发行版)作为活动 OS。然后在不使用 -R 选项的情况下安装和卸载 Solaris 10 软件包和修补程序。
运行 Sun Patch Manager Tool 2.0 的系统可以管理运行包括 Sun Patch Manager Tool 1.0 的修补程序管理器工具的远程系统。
不过,使用早期版本的修补程序管理器工具的系统无法管理运行 Patch Manager Tool 2.0 的远程系统。早期版本包括:
Sun Patch Manager Base Software 1.x
Sun Patch Manager Tool 1.0
Solaris 8 OS 中不存在对修补程序管理器工具的“通用信息模型/基于 Web 的企业管理 (CIM/WBEM)”支持。因此,使用修补程序管理器进行远程管理不适用于 Solaris 8 系统。
如果使用 smdiskless 命令删除无盘客户机,该命令失败。无盘客户机未从系统数据库中删除。将显示以下错误消息:
Failing with error EXM_BMS. |
解决方法: 添加客户机前取消共享 /export 分区。
如果使用 smosservice delete 命令删除无盘客户机服务,该命令不能成功删除所有服务目录。
解决方法: 执行以下步骤。
确保不存在使用该服务的客户机。
# 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 |
从 /etc/bootparams 文件中删除以下项。
fs1-24 boottype=:os |
仅在此文件服务器不为任何其他服务提供功能或资源时删除此项。
从 /etc/dfs/dfstab 文件中删除以下项。
share -F nfs -o ro /export/exec/Solaris_8_sparc.all/usr |
修改 /var/sadm/system/admin/services/Solaris_10 文件。
如果文件服务器不是 Solaris_10,则删除该文件。
如果文件服务器是 Solaris_10,则删除前三行后的所有项。所删除的行表示 /export/root/templates/Solaris_10 中的服务 USR_PATH 和 SPOOLED ROOT 软件包和支持的平台。