NVP-vProxy:備份停止回應,並顯示「文件中深度過深」錯誤
Summary: NetWorker VMware Protection (NVP) vProxy 裝置是用來保護 vSphere 環境。VMware 備份一開始已成功完成。然後備份會停止回應一個特定的 vProxy 裝置。如果虛擬機的數據存儲目錄中的檔過多,則會生成 XML 解析器錯誤,從而損壞 vProxy 會話狀態檔。
Symptoms
備份系統管理員使用 NVP vProxy 裝置設定 VMware 備份。備份一開始會針對所有 vProxy 應用裝置成功完成。然後備份會停止對一個特定 vProxy 的回應。其他 vProxy 裝置會繼續正常處理工單。
備份記錄會顯示不同 VM 的備份在不同階段停止。無回應行為不限於單個 VM。
可使用 /opt/emc/vproxy/runtime/logs/vbackupd/vbackupd-engine.log 持續顯示 XML 解析器錯誤:
noname.xml:7: parser error : Extra content at the end of the document a67fc16d47</uuid><contentId>d3df551ae74b3a5e1618dd2fa62962ef</contentId><parent>
可使用 vmconfig 命令列公用程式 reset-backup、 disable-migration與 enable-migration 選項會針對特定 VM 產生深度錯誤:
noname.xml:7: parser error : Excessive depth in document: 256 use XML_PARSE_HUGE option 93c9a65840</uuid><contentId>ca3f9d42bfd056ff3eb2db1f8072aa4b</contentId><parent>
Cause
保護組中的虛擬機在其數據存儲目錄中具有大量檔。在一個案例中,VM 有超過 2000 個兩年前的檔案。
vProxy 備份工作流程會在每次備份開始時收集 VM 組態詳細資料。它會創建一個 XML 檔,其中包含 VM 資料儲存目錄中的檔名。XML 資料儲存在 BackupVmSessions.gob 檔案。
當資料存放區目錄包含過多檔案時,XML 會超過解析器深度限制 256。解析器錯誤會損壞 BackupVmSessions.gob 檔案。損毀的檔案使 vbackupd.service 無法處理任何備份工單。
Resolution
- 從保護群組中移除受影響的 VM:
-
- 識別資料存放區目錄中檔案過多的虛擬機器。
- 從保護組中刪除 VM。
- 重新建立
BackupVmSessions.gob檔案:
-
- 以 root 身分 SSH 至受影響的 vProxy 裝置。
- 檢查狀態
vbackupd服務:
systemctl status vbackupd.service
-
- 停止
vbackupd服務:
- 停止
systemctl stop vbackupd.service
-
- 重新命名損毀的
gob檔案:
- 重新命名損毀的
mv /opt/emc/vproxy/runtime/state/vbackupd/BackupVmSessions.gob /opt/emc/vproxy/runtime/state/vbackupd/BackupVmSessions.gob.bak
-
-
啟動
vbackupd服務:
-
systemctl start vbackupd.service
-
- 檢查
service狀態:
- 檢查
systemctl status vbackupd.service
-
- 確認進度
vbackupd記錄:
- 確認進度
tail -f /opt/emc/vproxy/runtime/logs/vbackupd/vbackupd-engine.log
- 視需要清除 VM 鎖定旗標:如果任何 VM 有過時的備份鎖定或遷移旗標,請使用
vmconfig公用程式來清除它們:
/opt/emc/vproxy/bin/vmconfig -v <vcenter_fqdn> -u '<vcenter_user>' -p '<vcenter_password>' -c "reset-backup" -l moref -k <vm_moref>
- 清理虛擬機器資料存放區目錄:
-
- 檢閱已移除虛擬機器的資料存放區目錄。移除舊的或不必要的檔案,以減少檔案計數。
- 清理后,根據需要將 VM 添加回保護組。確認備份完成,沒有發生解析器錯誤。
Additional Information
在某些情況下,vSphere Web 主控台會報告受影響的虛擬機器需要整合。在 vSphere Web Client 中,選取 vCenter Server VM 的標籤,然後使用 管理欄 選項顯示 需要整合欄 。如果任何受 VMware 保護原則保護的虛擬機器需要整合,則虛擬機器應使用 vSphere Client 進行整合。
如需有關如何整合虛擬機器的詳細資訊,請查看 Brocade 知識文章 316575 (外部連結)。