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 伺服器與 Audit 資料庫定序不相容,ZENworks 綱要升級將會失敗。
動作: 在兩個資料庫 (ZENworks 和 Audit 資料庫) 上執行以下 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,並在網頁瀏覽器中開啟該記錄檔案。

或者,您也可以使用任意文字編輯器檢視該記錄檔案。

在 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 伺服器。