2.3 查错

如果 ZENworks 服务器升级失败,您必须解决问题,然后重新运行 ZENworks 升级安装程序。

  • 您必须在启动升级的同一个服务器上重新运行升级安装程序。

  • 如果升级在升级包之后执行数据库操作期间失败,那么,在重新运行升级并鉴定区域后,会显示“升级前摘要”页,并且升级进程会继续执行数据库操作。

  • 如果使用了嵌入式 PostgreSQL 数据库,在重新运行升级安装程序之前,请确保已从数据库文件夹中删除 .dbR.logR 文件。

以下小节针对您在升级 ZENworks 主服务器时可能会遇到的问题提供了解决方案:

ZENworks 升级因 PostgreSQL 引擎升级失败而失败

解释: 升级 ZENworks 时,如果 PostgreSQL 引擎升级失败,ZENworks 升级将会失败。这可能是因为在启动升级前,PostgreSQL 服务处于不一致状态。
操作: 如果升级日志中记录了数据库服务创建 (dbsvc) 失败,返回代码:2 异常,请打开 /etc/opt/novell/zenworks(Linux 上)和 %ZENWORKS_HOME%\conf(Windows 上)中的 zen20u2_upgrade_status 文件,并从该文件中去除 POSTGRES_ENGINE_UPGRADE = stop service 一行。启动嵌入式数据库服务,然后重新触发升级。

只有在停止服务操作失败的情况下,才应执行该解决方案。但对于其他阶段的失败,不建议采取此解决方案。

在 Linux 主服务器上执行的升级完成,但发生错误

解释: 讯息的说明。
可能的原因: 升级 Linux 主服务器时,升级可能会完成,但发生错误。不过,这可能是一个错误警报,升级可能已成功。
查错: 打开升级日志检查是否记录了以下语句:

! [CDATA[Docker service check failed: Format specifier '%s']].Severity is CDATA[8]]

在升级日志中搜索“! [CDATA[8]]”出现的次数。如果只出现一处并随上述语句一起出现,则表示升级成功。请登录 ZCC 进行同样的校验。

当更新应用于安装了 ZENworks 和 MDM 两种代理的设备时,重建系统更新未设为基线

来源: ZENworks
解释: 当您在安装了 ZENworks 和 MDM 两种代理的设备上启动重建过程时,证书将在 ZENworks 代理上成功应用,并且其状态显示为“已完成”,但 MDM 代理状态显示为“等待激活证书”,即使使用取消注册 MDM 设备快速任务取消注册了 MDM,该代理也仍显示为此状态。因此,即使在激活时间到来后,重建更新也不会设为基线。
操作: 要将该更新设为基线,请忽略设备上的重建系统更新。

在 Windows 主服务器上升级到 ZENworks 2020 失败

解释: 将 Windows 主服务器升级到 ZENworks 2020 时,升级失败。
操作: 请执行下列步骤:
  1. 如果服务器升级已失败,请以超级用户身份运行以下命令:

    icacls "%zenworks_home%\cache" /remove:d Users

  2. 运行该命令后,使用 ZENworks 2020 媒体升级 (ISO) 重新尝试升级。

升级到 ZENworks 2020 Update 2 后,MDM 设备显示不一致的状态

来源: ZENworks
解释: 在已在 ZENworks 2020 或 2020 Update 1(仅限 MDM)中注册的 MDM 设备上应用 ZENworks 2020 Update 2 时,系统更新设备状态显示为“更新不适用”。
操作:

更新区域中的所有设备后,您可以忽略 MDM 设备以将更新设为基线。

由于发生待处理重引导错误,系统更新失败

来源: ZENworks
解释: 部署系统更新时,系统将重启动多次。即使在关闭系统后,系统更新也会失败,并显示待处理重引导错误。
操作: 建议您在更新设备后重启动或重引导设备。在最新的 Windows 设备上,由于使用了快速启动模式,关闭然后启动不会被视为设备重引导。因此,您需要重启动或重引导设备,或者禁用“快速启动”模式。

SLED 15 SP1 设备上的 IOA 系统更新失败

来源: ZENworks
解释: 使用“zac su”命令在 SLED 15 设备上部署 IOA 系统更新时,系统更新可能会失败。这可能是因为 SLED 15 设备上默认可能不会安装“at”包。

要校验这一点,IOA 用户或管理员可以查看 zmd-messages.log 文件,并检查有无“Cannot run program "at": error=2, No such file or directory”错误。

操作: 如果 IOA 设备上未安装“at”包,请使用 zypper 命令或其他工具安装“at”命令。安装“at”命令后,重新运行 zac su 命令。

如果 zypper 命令无法识别“at”包,我们可以安装以下 RPM:

可从 https://rpmfind.net/linux/rpm2html/search.php 下载 RPM

  1. 搜索“libHX28”并下载适用于您的操作系统平台的 rpm。

    示例:libHX28-3.22-lp150.1.7.x86_64.rpm

  2. 搜索“libfl2”并下载适用于您的操作系统平台的 rpm。

    示例:libfl2-2.6.4-lp150.2.48.x86_64.rpm

  3. 搜索“at”并下载适用于您的操作系统平台的 rpm。

    示例:at-3.1.20-lp150.2.27.x86_64.rpm

在升级任何 Windows 主服务器期间,Windows 资源管理器自动重启动多次

解释: 在升级任何 Windows 主服务器期间,Windows 资源管理器会自动重启动多次,并且包含以下讯息的命令提示符窗口会自动起动:
For each prompt presented, press 'enter' to accept the <default> value, type 'back' to return to the previous action, or type 'quit' to exit.
操作: 忽略这些讯息。

起动 ZENworks 升级时,如果数据库正在执行任何事务,可能会与升级进程发生冲突

来源: ZENworks;升级
解释: 起动 ZENworks 升级时,如果数据库正在执行任何事务,可能会与升级进程发生冲突。
操作: 终止与升级进程相冲突的数据库会话。执行以下步骤可以终止数据库会话:
  1. 以系统用户身份登录到数据库,然后起动 SQL 客户端。

  2. 根据数据库类型执行以下脚本之一:

    • Oracle:

      select 'ALTER SYSTEM KILL SESSION '''||SID||','||SERIAL#||''';' AS "Drop Query",b.sql_text,a.* from gv$session a, gv$sql b where (case when a.sql_id is null then a.prev_sql_id else a.sql_id end)=b.sql_id and a.program='JDBC Thin Client' and a.logon_time< (sysdate-3/60/24) and a.username='<<ZENWORKSUSER>>';

      其中:

      ZENWORKSUSER 是 ZENworks 数据库用户名。

    • MS SQL:

      select 'KILL '+cast(spid as varchar(100)) as "Drop Query", r.text,s.* from sys.sysprocesses s cross apply sys.dm_exec_sql_text (sql_handle) r where s.program_name='jTDS' and s.spid! =@@spid and s.login_time < dateadd(minute,-3,getdate()) and s.loginame='<<ZENWORKSUSER>>';

      其中:

      ZENWORKSUSER 是 ZENworks 数据库用户名。

    • SQL Anywhere:

      SELECT 'Drop connection '+cast(sa_conn_info.Number as varchar(100))+';' as "Drop Query", sa_conn_info.Number AS connection_number, DB_NAME( DBNumber ) AS database_name, sa_conn_info.name AS connection_name, sa_conn_info.userid, CONNECTION_PROPERTY( 'LoginTime', Number ) as "Login Time", CONNECTION_PROPERTY( 'LastStatement', Number ) As "Query" FROM sa_conn_info() where sa_conn_info.Number ! = @@spid and CONNECTION_PROPERTY( 'LoginTime', Number ) < dateadd(minute,-3,getdate()) and userid='<<ZENWORKSUSER>>';

      其中

      ZENWORKSUSER 是 ZENworks 数据库用户名。

如果使用的是 Oracle 数据库,升级期间或创建数据库期间显示 TNS 错误讯息

来源: ZENworks;升级
解释: 如果使用的是 Oracle 数据库,在升级期间或创建数据库期间,您可能会收到以下错误讯息:TNS:侦听程序找不到具有匹配协议堆栈的可用处理程序
操作: 增大专用连接的最大负载,此数据由 PROCESSES 参数定义。如果问题仍然存在,请联系 Micro Focus 客户支持部门。

如果使用的是 MS-SQL 数据库,升级期间或创建数据库期间出现连接问题

来源: ZENworks;升级
解释: 如果使用的是 MS-SQL 数据库,在升级期间或创建数据库期间会出现连接问题,并显示以下错误讯息:
org.hibernate.exception.JDBCConnectionException: Cannot open connection
Caused by: java.sql.SQLException: I/O Error: Connection reset
Caused by: java.net.SocketException: Connection reset
操作: 运行 select * from sys.configurations where name='user connections'

默认情况下,最大连接数为 32,767。您可以将此数字调整为主服务器数目 * 200。有关如何配置用户连接数的详细信息,请参见 http://technet.microsoft.com/en-us/library/ms187030.aspx

检查 MS-SQL 服务器是否出现了较高的 CPU 使用率和数据库服务器负载。联系 Micro Focus 客户支持部门以获得进一步的帮助。

显示的要修剪的库存记录数不正确

来源: ZENworks;升级
解释: 当您在升级向导中选择修剪记录时,所指定的要删除的记录数会显示在“修剪前摘要”页中。

例如,总共有 10,000,000 条记录,您标记了要修剪其中的 8,000,000 条记录,那么,指定为要删除的记录数字段中会显示 8,000,000 条(共 10,000,000 条)。

在成功修剪之后,当您重新起动升级向导以执行修剪操作时,“数据库修剪”页的已找到的待删除记录总数字段中显示的值不正确。

例如,如果在 10,000,000 条库存记录中删除了 8,000,000 条库存记录,那么,已找到的待删除记录总数字段中显示的值应该是 200,000。

目前系统显示的值不正确。因此,显示的已删除库存记录数目值,与有待删除的库存记录数目值不匹配。

操作: 没有解决方法。

删除名称很长的文件夹时发生错误

来源: ZENworks;升级
解释: 在使用 SQL Server 数据库的 ZENworks 区域中,如果您尝试删除的 ZENworks 对象(例如设备或文件夹)的名称超过 900 字节,则会收到以下错误:

com.novell.zenworks.datamodel.exceptions.InternalDataModelException: org.hibernate.exception.GenericJDBCException:操作失败。索引“idx_zZENObject_Name”的索引项长度为 912 字节,超出了最大长度(900 字节)。

操作: 确保区域中各 ZENworks 对象名称的长度不超过 900 字节。有关详细信息,请参见 https://technet.microsoft.com/en-us/library/ms191241%28v=sql.105%29.aspx

由于 MS SQL 数据库中的排序规则不兼容,ZENworks 纲要升级失败

来源: ZENworks;升级
解释: 如果 MS SQL 服务器与审计数据库排序规则不兼容,ZENworks 纲要升级将会失败。
操作: 在两个数据库(ZENworks 和审计数据库)上执行以下 SQL 查询以校验数据库排序规则兼容性:
  • 用于获取数据库排序规则的 SQL 查询:

    SELECT collation_name FROM sys.databases WHERE name = db_name();

  • 用于获取数据库列排序规则的 SQL 查询:

    select distinct collation_name from information_schema.columns where collation_name is not null;

将升级日志和查询输出分享给 Micro Focus 客户支持,以进行进一步分析。

升级 XML 日志文件在 Google Chrome 和 Firefox 中无法正常显示

来源: ZENworks;升级
解释: 尝试在 Google Chrome 和 Firefox 中查看升级 XML 日志文件时,日志文件无法正常显示。
操作: 要在浏览器中查看该日志文件,请运行以下配置操作:

microfocus-zenworks-configure -c

ConvertLogToHTMLConfigureAction -DlogFile=<LogFilePath>

该配置操作会将 XML 日志文件转换为 HTML,并在 Web 浏览器中打开该日志文件。

或者,您也可以使用任意文本编辑器查看该日志文件。

在 Linux 主服务器上,启动配置操作中列出的是旧 Novell 服务

来源: ZENworks;升级
解释: 在 Linux 主服务器上升级到 ZENworks 2020 Update 2 后,当您运行以下命令时:

novell-zenworks-configure -c Start

列出的是旧 Novell 服务,而不是新 Micro Focus 服务。如果您尝试启动、停止或重启动服务,将显示异常错误。

操作: 注销 Linux 服务器,然后再次登录。打开一个新的终端窗口,并运行以下命令:

novell-zenworks-configure -c Start

现在会列出新 Micro Focus 服务。您可以启动、停止或重启动这些服务。

ZENworks 主服务器升级失败,并显示“Zulu 平台 x64 体系结构已停止工作”错误

来源: ZENworks;升级
解释: 将 ZENworks 2020 或 Update 1 Windows 主服务器升级到 2020 Update 2 时,升级失败,并显示以下错误:

Zulu 平台 x64 体系结构已停止工作

可能的原因: 发生错误的原因是数据执行保护 (DEP) 设置与该程序相冲突。
操作: 执行以下操作检查服务器上的 DEP:导航到控制面板 > 系统 > 高级系统设置。在系统属性窗口中,单击高级,在性能下,单击设置。在性能选项窗口中,单击数据执行保护

查看当前设置。如果仅为基本 Windows 程序和服务启用 DEP 未被选中,请选择该选项。重启动 Windows 服务器,然后重新尝试升级 ZENworks 主服务器。如果错误仍然存在,请联系 Micro Focus 支持部门。

重要事项:如果在升级之前更改了设置,请还原该值并重启动 Windows 服务器。