3.0 ZENworks 命令行实用程序查错

以下小节提供了使用 Micro Focus ZENworks 命令行实用程序时可能遇到的问题的解决方法:

运行 zman db 命令时,可能会发生 Java 堆空间错误

来源: ZENworks 2017 Update 2
解释: 运行 zman db 命令时,可能会发生 OutOfMemoryError:Java 堆空间错误。
可能的原因: 为 zman 进程配置的 Java 堆内存有限。
操作: 您可以使用新的配置操作 UpdateZManConfigPropertiesConfigureAction 来配置堆大小。最大堆大小默认设为 512。

要增加堆大小,请执行以下操作:

在命令提示符处,运行以下命令:

novell-zenworks-configure -c UpdateZManConfigPropertiesConfigureAction -Dzman.jvm.max.heapSize=<用户输入>

其中,<用户输入> 值可介于 max.heapsize 的默认值 512 与上限值 1024 之间

除 max.heapsize 外,您还可以配置 min.heapsize、scrollsize 和 debugLevel 等其他参数。

novell-zenworks-configure -c UpdateZManConfigPropertiesConfigureAction -Dzman.jvm.max.heapSize=<用户输入> -Dzman.jvm.min.heapSize=<用户输入> -Dzman.renderer.scrollSize=<用户输入> -Dzman.debugLevel=<用户输入>

其中,min.heapsize 的 <用户输入> 值可介于默认值 64 与上限值 512 之间

scrollSize 接受任何整数值(默认值为 -1)

debugLevel 接受值 1、2、3(默认值)和 4

注:如果 zman-config.property 文件已损坏或已删除,请运行不带参数的 novell-zenworks-configure -c UpdateZManConfigPropertiesConfigureAction 命令,以获取该文件中的默认值。

通过命令行重新定向运算符(例如:> 或 >>)将命令的输出重新定向到文件时,zman 会挂起

源: ZENworks;zman。
可能的原因: 执行每个命令时,zman 都要求提供 ZENworks 管理员用户名和口令。如果使用命令时未提供身份凭证,系统会提示您输入身份凭证。但如果命令的输出被重定向到文件,系统将不会提示您输入身份凭证,因为要求输入用户名和口令的提示也会重定向到该文件。这样一来,zman 就会挂起,等待您输入身份凭证。
操作: 使用 -U|--User-P|--Password 选项可以将身份凭证指定为命令的一部分。
操作: 使用 admin-store-credential 命令储存身份凭证,然后执行该命令。
操作: 使用 -R|--Redirect 选项而非重定向运算符(例如 > 或 >>),将输出重定向到文件。

“暂存组名称”可选自变量并未传递给 system-update-staging-group-create 命令,却错误地显示成功讯息

源: ZENworks;zman。
解释: 如果“暂存组名称”可选自变量未传递给 system-update-staging-group-create 命令,zman 会错误地显示如下讯息:
Successfully created the object "null"
操作: 要查看将包含新建暂存组的暂存组列表,请在控制台提示符处执行 system-update-staging-group-list (susgl) 命令。

使用 zman ssaimg 命令添加到“从属”设备的“映像”角色不会立即应用于服务器

源: ZENworks;zman。
解释: 如果使用 zman ssaimg 命令配置了“映像”角色,该角色会立即添加到设备。如果角色未立即添加,那么只有在下次执行设备刷新时才会添加。
操作: 如果要立即将角色应用于设备,必须使用以下其中一种方法手动刷新设备:
  • 在命令提示符处,运行 zman workstation-refresh|wrf 命令。如果受管设备是服务器,则运行 zman server-refresh|srf 命令。

  • 在受管设备上,以右键单击 ZENworks 图标,然后单击刷新

zman 命令不适用于 ZENworks Linux 服务器上的非根用户

源: ZENworks;zman。
解释: 如果非用户在 ZENworks Linux 服务器上执行 zman 命令,则会显示以下错误讯息:

您没有足够的权限运行 zman 命令。作为 Linux 中的非根用户,您必须属于 zmanusers 组才能够运行 zman 命令。

操作: 请先将非用户添加到 zmanusers 组,然后再执行 zman 命令。
  1. 用户身份登录 ZENworks 服务器。

  2. 在服务器控制台提示符处:

    • 如果 Linux 设备上已存在该用户,请执行以下命令:

      groupmod -A non-rootusername zmanusers

    • 如果 Linux 设备上不存在该用户,请执行以下命令:

      useradd -G zmanusers non-rootusername

  3. 以非用户身份登录 ZENworks 服务器。

非根用户无法使用 zman ssc 命令配置从属角色

来源: ZENworks;zman。
解释: 如果非根用户尝试使用 zman ssc 命令在 Linux 主服务器上配置从属角色,以下错误讯息将会显示:
The role you specified (Satellite_role_name) is not a valid satellite server role. Valid roles are:
ZoneConfig.ROLE_COLLECTION
ZoneConfig.ROLE_CONTENT
ZoneConfig.ROLE_AUTHENTICATION
操作: 执行下列操作:
  1. 确保非根用户已添加到 zmanusers 组。

    1. 用户身份登录 ZENworks 服务器。

    2. 在服务器控制台提示符处:

      • 如果 Linux 设备上已存在该用户,请执行以下命令:

        groupmod -A non-rootusername zmanusers

      • 如果 Linux 设备上不存在该用户,请执行以下命令:

        useradd -G zmanusers non-rootusername

  2. 使用 usermod -A 非根用户名命令将非根用户添加到 ZENworks 用户组。之后,非根用户便可配置从属角色。

collectionStatsDB 数据库损坏时,zac cuo 命令不会将从属服务器上的代理审计文件上载到主服务器。

来源: ZENworks;zac。
解释: 代理审计文件上载到从属服务器后,服务器仍会参照 collectionStatsDB 数据库中的审计文件。如果数据库受损,所有的参照都将丢失,文件将被孤立。因此,当您运行 zac cuo 命令将代理审计文件上载到主服务器时,会发生错误。
操作: 要将代理审计文件上载到主服务器,需要在从属服务器上执行以下步骤:
  1. 停止代理服务。

  2. 删除参照到孤立审计文件的 /var/opt/novell/zenworks/work/collection/collectionStatsDB 文件夹。

  3. 启动代理服务。

  4. 执行 zac cuo 命令。

某些 zman 命令失败并出现 OutOfMemoryError

来源: ZENworks;zman。
解释: 某些 zman 命令可能已失败并出现 OutOfMemoryError。
操作: 增加 zman 的最大堆大小:

Windows:%ZENWORKS_HOME%\conf\zman\properties\zman-config.properties 文件中,将 JVM_STARTUP_OPTIONS 的最大堆大小值从 128m 增加到 512m。

Linux:/opt/novell/zenworks/bin/zman 文件中,将 MEM_OPTS 的最大堆大小从 256m 增加到 512m。

用于去除从属角色的 zman 命令 ssd 失败

来源: ZENworks;zman。
解释: zman 命令 ssd 失败,出现以下错误:

发生了内部错误。如需更多信息,请查看 zman 日志

在使用 ssd (从从属服务器去除角色的 zman 命令)时,此命令可去除角色但无法发送刷新从属服务器快速任务。

可能的原因: 原因是针对从属服务器的刷新从属服务器快速任务已在进行中,或即将进行。
操作:

当内容复制日程安排配置为较短时长时,zac 命令会在 RHEL 从属服务器上挂起

来源: ZENworks;zac。
解释: 当您在 RHEL 从属服务器上运行 zac 命令时,进程会无限期挂起。
可能的原因: 内容复制日程安排配置为较短时长。例如,5 分钟。

注:建议将内容复制日程安排配置为 12 小时。

操作: 登录 ZENworks 控制中心,添加区域系统变量 enable.cdp.cleanup.thread.wait.time 并将其值设置为 True