Avamar - 当 ESXi 版本为 5.x 时,由于 API 故障VixDiskLib_QueryAllocatedBlocks虚拟机备份失败

摘要: Avamar — 当 ESXi 版本为 5.x 时,由于 API 故障VixDiskLib_QueryAllocatedBlocks虚拟机备份失败。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

在不受支持的 ESXi 版本 5.x 上启用 CBT 时,虚拟机映像备份失败。

我。备份日志显示以下行,指示目标虚拟机在不受支持的 VMware 版本上运行:
avvcbimage Info <40638>: VM Host Name=esxi.example.com(5.5 build-2068190)
II.备份日志显示 CBT 已启用,但备份将是完整的 CBT 零级备份: 
avvcbimage Info <11988>: A reference to a valid prior backup is not available so this will be a full level zero backup.
或者 
avvcbimage Info <14681>: Change block tracking (CTK) is supported for this VM but has been declined. This will increase proxy CPU and IOP consumption.
III.备份日志显示可以创建成功的快照:
avvcbimage Info <14632>: Snapshot 'Avamar-16763996243af4ead6dea4e3e0d24ea86d327bebed43a19e42' creation for VM '[datastore1] vmname/vmname.vmx' task completed, moref=snapshot-91273 
IV.备份日志显示使用 hotadd 或 NBD 连接的磁盘。例如:
avvcbimage Info <40634>: Connected with hotadd transport to virtual disk [datastore1] vmname/vmname-000001.vmdk. Time to connect: 16300 msecs  
或者  
avvcbimage Info <40634>: Connected with nbd transport to virtual disk [datastore)] vmname/vmname-000001.vmdk. Time to connect: 1025 msecs
V. 备份日志显示进行了 VixDiskLib_QueryAllocatedBlocks API 调用并失败,并显示“非法消息”和“NBD_ERR_GENERIC”错误:
avvcbimage Info <16041>: VDDK:VixDiskLib: VixDiskLib_QueryAllocatedBlocks: Query allocated blocks.
avvcbimage Warning <16041>: VDDK:[NFC ERROR]NfcFssrvrProcessErrorMsg: received NFC error 2 from server: Illegal message during fssrvr session, id = 49
avvcbimage Info <16041>: VDDK:DISKLIB-LIB_MISC   : DiskLibGetAllocatedSectorChunksInRangeInt: failed to get allocated sector bitmap with 'NBD_ERR_GENERIC' (290).
avvcbimage Info <16041>: VDDK:VixDiskLib: Detected DiskLib error 290 (NBD_ERR_GENERIC).
avvcbimage Info <16041>: VDDK:VixDiskLib: VixDiskLibQueryBlockList: Fail to query blocks (offset 0, chunkSize 128, chunkNumber 524288). Error 1 (Unknown error) (DiskLib error 290: NBD_ERR_GENERIC) at 591.
VI.备份日志显示由于步骤 V 中的VixDiskLib_Read失败而正常终止。 
avvcbimage Error <0000>: [IMG0008] VixDiskLib_Read() (datastore)] vmname/vmname.vmdk) at offset 0 length 128 sectors returned (1) (1)Unknown error
avvcbimage Info <9772>: Starting graceful (staged) termination, VixDiskLib_Read returned an error (wrap-up stage)

原因

“VMware ESXi 版本不受支持。Avamar 19.2 及更高版本使用名为 VixDiskLib_QueryAllocatedBlocks 的新 API 查询虚拟磁盘的使用中的数据块。但是,此 API 不向后兼容 ESXi 5.x 版本。”

解决方案

VMware 服务器应升级到受支持的版本。不支持 ESXi 5.5,如以下 VMware 页面所示:vSphere 5.5 (51491) 的常规支持结束 (vmware.com)。

要解决此问题,您可以将高级标志“--enable_query_allocated_block”设置为 false。

以下是执行此作的两种方法:


方法 1(通过 CMD 文件)
1.在代理上,编辑以下文件:/usr/local/avamarclient/var/avvcbimageAll.cmd 并修改或添加以下行: 
# If enabled, use QueryAllocatedBlock instead of QueryChangedDiskAreas for full backup/in-use query
#    Default is true.
--enable_query_allocated_block=false

方法 2(按 AUI 中的数据集)
1.编辑备份策略所用于的数据集。
2.选择Windows VMware 映像插件 >显示自由格式 > ADD
密钥:
[avvcbimage]enable_query_allocated_block  
价值:

3.选择 Linux VMware 映像插件显示>自由格式 > ADD
密钥:
[avvcbimage]enable_query_allocated_block  
价值:


请参阅下面的示例: 
 编辑数据集
 

受影响的产品

Avamar
文章属性
文章编号: 000210227
文章类型: Solution
上次修改时间: 17 5月 2023
版本:  2
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。