本章介绍 Solaris Container Manager 1.1 (Container Manager) 软件的运行时问题和错误。
Solaris Container Manager 1.1 软件运行时可能出现以下问题。
Solaris Container Manager 1.1 的命令行界面 (CLI) 安装脚本仅以英文提供。此版本尚未汉化。但是,该英文界面并不会影响产品的安装进程和功能。
解决方法:要以本地语言进行安装,请使用 GUI 进行安装 (es-guiinst) 和设置 (es-guisetup)。
如果您查看“新建容器”向导中“名称”字段的帮助信息,会发现其给出的字符长度限制为 64。但是,该限制是不正确的。如字段帮助和错误消息中所述,“名称”字段最多可使用 32 个字符。
尽管您选择使用本地语言而非英语,“使用情况图”的图名和标题仍以英文显示。因为这些值未被汉化。
在运行 Solaris 8 OS 的系统中,Container Manager 中的“扩展记帐”功能被禁用。因此,在 Solaris 8 系统中,容器的 CSV 文件的“扩展记帐数据 (Exacct)” 栏将为空。
如果代理主机的 /etc/project 数据库中有某个项目与 Sun Management Center 数据库中的某个项目具有相同的项目 ID,但项目名称不同,则 Container Manager 无法搜索到前一个数据库中的该项目。Container Manager 要求同一服务器环境内各主机间的每个项目 ID 均应独一无二。
您不能使用 projadd 命令创建项目。请仅使用 Container Manager 来管理项目。
解决方法:从代理主机的 /etc/project 数据库中删除通过 projadd 命令创建的非默认项目,使用 Container Manager 中的“新建容器”向导创建容器。
Solaris Container Manager 1.1 软件运行时可能出现以下错误。
使用“移动进程”功能移动进程时,可能会移动未被选择的进程。 因此,请勿使用“进程”选项卡中的“移动”按钮。
解决方法:为防止不经意地移动进程,请执行以下步骤:
成为超级用户。
使用以下命令将进程移动到正确的项目。
% newtask -c <项目 ID>
如果存在报警情况,性能可能会降级。要纠正这一情况,请执行下列操作之一:
使用 Sun Management Center 3.5 Update 1b 管理报警。有关详细信息,请参阅《Sun Management Center 3.5 用户指南》中的第 16 章 “使用 Web 控制台管理警报”。
修改报警标准以消除报警。有关详细信息,请参阅《安装和管理 Solaris Container Manager 1.1》中的第 7 章 “管理报警”。
如果将代理移入另一个服务器环境内,访问该代理中的对象时,会显示以下错误消息:
There was an error while retrieving the Container data.
选择以下操作之一:
将代理返回其初始服务器环境
从原来的服务器的拓扑中删除该代理
解决方法:无。
代理如果崩溃,会将 scm-container* 文件留在 /var/opt/SUNWsymon/cfg/ 目录内。该代理重新启动时,可能不会以最优化的模式运行。可通过以下错误消息识别这种情况:
Insufficient security privilege to complete the operation.
您可以键入以下命令确定代理中进程的状况:
% ps -eaf | grep esd
解决方法:要提高性能,请键入以下命令:
成为超级用户。
% su -
停止代理。
# /opt/SUNWsymon/sbin es-stop -a
删除状况文件。
# rm /var/opt/SUNWsymon/cfg/scm-container*
重新启动代理。
#/opt/SUNWsymon/sbin/es-start -a
重新引导服务器后,Java Web Console 不能自动启动。
要启动 Java Web Console,请键入以下命令:
成为超级用户。
% su -
键入超级用户密码。
重新启动 Java Web Console。
# /usr/sbin/smcwebserver restart
键入以下命令,确保 Java Web Console 以后可重新启动。
# /usr/sbin/smcwebserver enable
解决方法:无。
选择“对象的使用率合计”选项时,无法显示以下对象和时间间隔的图形:
选择了“上一周”时间间隔的项目对象
选择了“上一月”时间间隔的所有对象
解决方法:无。
对于一项已正常部署时间、执行并且完成的“资源更改作业” ,如果您要更新该“资源更改作业”, 该更新作业将失败。
解决方法:请不要更新“资源更改作业”;而是将其删除,然后创建一个新作业。
如果从“新建区域”向导的“语言环境”下拉菜单中选择了无效的语言环境,区域创建操作将失败。“语言环境”下拉菜单中可能包含一些无效的语言环境值。
要了解哪些语言环境有效,请参阅《International Language Environments Guide》中的“Supported Locales”。
解决方法:在“新建区域”向导的“语言环境”下拉菜单中选择一个有效的语言环境。如果您不确定语言环境值,请选择 C,它表示英文环境。
如果您使用“Breadcrumb(路径导航)”转到任意窗格,然后启动向导,则会出现应用程序错误。
解决方法:请勿在单击“Breadcrumb(路径导航)”之后立即启动向导。
您选定一个区域,随后单击表格顶部的某个操作按钮。但是,上面的操作可能不会激活与该区域状况相对应的操作按钮。
要确保能正确激活操作按钮,请导航至另一窗格,然后再返回“区域”表。
解决方法:无。
删除了某个区域后,系统不会立即删除“区域”表中相应的行。直到删除区域的操作完成之后,才会将相应的区域条目从“区域”表中删除。完成此过程可能需要几分钟。
要查看更新后的“区域”表,请执行以下步骤之一:
转到另一个窗口,然后返回“区域”表格。
单击表格顶部的某个操作按钮。
解决方法:无。
当您尝试删除包含区域的资源池时,该资源池将被删除,其中包含的区域将被移入 pool_default 资源池内。
解决方法:无。
如果项目状态发生了更改,“项目”表中的“状态”字段可能不会立即更新为新状态。
要显示正确的状态,请导航至另一个窗格,然后再返回“项目”表。
请勿使用浏览器的“重新载入”按钮来刷新项目表。此操作不受支持。
解决方法:无。
如果存在报警情况,会显示报警标记的工具提示而不是报警标记本身。
如果您导航至另一个窗格,然后再返回报警对象的图标,则会显示正确的报警标记。
解决方法:无。
当您导航至“区域 - 属性”窗格时,其中可能不显示附加属性值。
如果遇到这种情况,请使用左侧窗格中的链接离开此窗格并返回“区域”窗格,然后单击“属性”选项卡。
解决方法:无。
如果您要创建一个其名称的首字符不是字母的资源池,该创建操作将失败。
此操作失败后,如果主机不能正常响应,您可能需要重新启动主机:
成为主机的超级用户。
% su -
关闭主机然后重新启动。
# /opt/SUNWsymon/sbin/es-stop -a
# /opt/SUNWsymon/sbin/es-start -a
有效的字符包括:
字母 (A–Z, a–z)
数字 (0–9)
连字符 (-)
下划线 (_)
句点 (.)
解决方法:以字母字符作为资源池名称的起始字符。
单击浏览器的“后退”按钮时,Container Manager 可能会抛出异常。此发行版不支持使用浏览器的“后退”按钮。
要从此异常恢复,请访问 https://服务器名称:6789/containers 并导航至适当页面。
解决方法:无。
在安装了 Container Manager 的 Solaris 8 系统上,/etc/project 下的项目可能使用了与名称约定不一致的项目名称。名称约定为:user.用户名。进行搜索时,这些项目将作为应用程序类型的容器显示。这种指定可以在容器的属性表单中得到确认。
如果项目具有用户名 形式的 lnode 和 user.用户名 形式的项目名称,则容器将被标识为基于用户的容器。这种容器可在 Container Manager 中正常工作。
如果项目没有关联的 lnode,您可以取消激活该项目。/etc/project 数据库中的相应条目将被删除。如果您随后尝试激活容器,则会显示以下错误消息:
There was an error while activating the Container. Container activation failed. |
解决方法:通过 Container Manager 重新创建容器定义,请按以下步骤进行操作:
删除容器定义。
通过 Container Manager 重新创建容器定义。
使用情况图有时会显示不正确。与 x 轴相关的所有数据点显示为 y 轴上的一条直线。
解决方法:重新载入显示使用情况图的框架,请使用以下解决方法之一:
对于 NetscapeTM 4.79 软件:
在显示使用情况图的框架内,按鼠标右键。
从弹出的菜单中选择“重新载入框架”。
对于 Netscape 6 或更高版本的软件:
在显示使用情况图的框架内,单击鼠标右键。
从弹出的菜单中选择“本框架”。
从子菜单中选择“重新载入框架”。
对于 Internet Explorer 5.0 或更高版本的软件:
在显示使用情况图的框架内,单击鼠标右键。
从弹出的菜单中选择“刷新”。
请勿单击浏览器工具条中的“重新加载”或“刷新”按钮,您可能返回主机导航窗口。
当载入 Container Manager 模块时,模块会读取 /etc/project 数据库以刷新容器。在运行 Solaris 8 OS 的代理主机上,libproject 库的 API 中的一个错误会导致内存泄露。
解决方法:要解决内存泄露问题,请使用以下解决方法之一:
作为永久性的解决方法,请安装以下修补程序:
108528-29 108987-13 108993-33 109147-28 111023-03 111111-03 111317-05 112396-02 113648-03 115827-01 116602-01 |
要暂时解决这一问题,请编辑 /etc/nsswitch.conf 文件,从项目行中删除 nis。修改后的项目行类似于以下示例:
project: files |
在 Solaris 9 操作系统中,某些进程,如用户 nobody 运行的 JavaTM 应用程序,由于 newtask 命令中的一个错误,因此没有移入到容器内。
解决方法:使用 newtask 命令在适当容器中启动由用户 nobody 运行的应用程序。
# /usr/bin/newtask -p 项目名称 命令 |
其中,项目名称是指在其中启动应用程序的项目,命令是指用来启动应用程序的命令。
有关详细信息,请参阅 newtask(1) 手册页。
单击“帮助”按钮将显示帮助目录。区分上下文的帮助目前尚不可用。
解决方法:选择以下一种方法访问某一面板的帮助信息:
每个面板都在其页面标题之下包含内置帮助。单击内置帮助的链接,以打开该面板的“帮助”窗口。
使用帮助目录访问特定面板的帮助信息。目录中的链接名称是基于页面的标题而定的。例如,要查看“主机和组”面板的帮助信息,请单击帮助目录中的“关于主机和组”链接。
如果您在创建容器定义时,使用了以下四种匹配表达式中的一种并随后激活了容器,则会导致代理主机挂起:
n
ns
nsc
nscd
解决方法:使用 newtask 命令在适当的项目中启动 nscd 进程。
# /usr/bin/newtask -p 项目名称 命令 |
其中,项目名称是指在其中启动应用程序的项目,命令是指用来启动应用程序的命令。
有关详细信息,请参阅 newtask(1) 手册页。
如果您计划在服务器层重新安装 Solaris Container Manager 1.1 软件,请确保在执行卸载操作时保存数据。同样,如果要再次对服务器层运行设置,在系统问及是否要重新创建数据库时,请务必回答 "No"。否则,如果您在没有保存数据的情况下重新安装和设置了服务器层,则先前搜索到的代理主机会从数据库丢失。
解决方法:如果重新安装或重新设置服务器层后,主机丢失,请执行以下步骤在主机上重新启动 Sun Management Center 代理。
登录到代理系统。
成为超级用户。
% su -
键入以下命令停止 Sun Management Center 代理:
# /opt/SUNWsymon/sbin/es-stop -a |
键入以下命令启动 Sun Management Center 代理:
# /opt/SUNWsymon/sbin/es-start -a |