NVP vProxy:虚拟机的映像还原失败,并显示“无法从输入流读取 JSON 编码: [5034] 用户权限不足”
摘要: 使用 NetWorker VMware Protection (NVP) vProxy 一体机执行虚拟机映像恢复失败。返回的失败消息是“无法从输入流读取 JSON 编码: [5034] 用户没有足够的权限。仅当还原较旧的存储集时才会发生这种情况。执行最新存储集的恢复(例如,从同一天开始)时,恢复将完成,而不会出现问题。
症状
还原较旧的虚拟机存储集时,恢复立即失败,虚拟机恢复会话日志返回以下内容:
159373:nsrvproxy_recover: vProxy Log: YYYY-MM-DDTHH:MM:SSZ ERROR: [@(#) Build number: ###] Failed to recover to a new VM. Failed to load version 1 backup descriptor from file 'nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupDescriptor.json'. Failed to read JSON encoding from input stream: [5034] the user has insufficient privilege
152793:nsrvproxy_recover: vProxy Log Ends =================================================
153335:nsrvproxy_recover: Virtual machine recovery failed: vProxy recovery failed with error message: Session "86981eef-599d-44cd-9e78-1b55e6e5e03f" failed. Error: Failed to load version 1 backup descriptor from file 'nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupDescriptor.json'. Failed to read JSON encoding from input stream: [5034] the user has insufficient privilege
使用较新的存储集还原同一虚拟机(例如,同一天或前一天的备份)可顺利完成,而不会出现问题。
原因
Data Domain 配置了基于“期限范围”的数据移动策略,用于在活动层和云层之间移动数据:
从 Data Domain 上的 SSH 会话中,我们可以看到 NetWorker 服务器的 mtree 具有使用期限范围策略的云层目标:
sysadmin@ddct# data-movement policy show
Mtree Target(Tier/Unit Name) Policy Value
------------------------------------- ---------------------- ------------- ----------
...
/data/col1/nsr Cloud/test01 age-range 14-60 day
------------------------------------- ---------------------- ------------- ---------
恢复会话输出列出 mtree 路径(不包括 /data/col1):
/MTREE_NAME/DEVICE_PATH/##/##/NW_LONG_SSID/FILE_NAME
使用以下 Data Domain 命令,我们可以确定此文件的位置是在活动层还是云层中:
filesys report generate file-location path /data/col1/MTREE_NAME/DEVICE_PATH/##/##/NW_LONG_SSID/FILE_NAME
示例:
filesys report generate file-location path /data/col1/MTREE_NAME/DEVICE_PATH/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56
在此示例中,文件不在 活动 层中。已根据 Data Domain“期限范围”数据移动策略将其移至云单元存储:
sysadmin@ddct# filesys report generate file-location path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56 -------------------------------- ---------------------- ------------- ----------------- File Name Location(Unit Name) Size Placement Time -------------------------------- ---------------------- ------------- ------------------- /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-config-file-0.cfg test01 3.79 KiB Sun Oct 20 20:51:37 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-config-file-1.cfg test01 264.49 KiB Sun Oct 20 20:51:37 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-used-blocks.json test01 13.98 KiB Sun Oct 20 20:51:37 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-flat.vmdk test01 100.00 GiB Sun Oct 20 20:52:56 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000.vmdk test01 345.00 B Sun Oct 20 20:51:37 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-metadata.json test01 322.00 B Sun Oct 20 20:51:37 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupVmSessions.json test01 5.34 KiB Sun Oct 20 20:51:37 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupDescriptor.json test01 2.29 KiB Sun Oct 20 20:51:37 2024 -----------------------------------------------------------------
当数据移动策略设置为期限范围时,NetWorker 不了解在 Data Domain 中将存储集从活动层移动到云层的情况。vProxy 存储集必须驻留在 Data Domain 的活动层上,然后才能恢复。在这种情况下,NetWorker 认为拷贝位于活动层中,并尝试恢复虚拟机,但无法从云层访问存储集。
解决方案
必须从 Data Domain sysadmin SSH 会话执行以下步骤。
- 确保云单元存储处于 活动状态。如果云单元存储显示已断开连接,则必须启用 Data Domain。
cloud unit list
示例:
sysadmin@ddct# cloud unit list Name Profile Status Bucket Reason ------ ------------- ------ ------------------------------------ ------------------------------- test01 ecs_testdrive Active testbucketcork Cloud unit connected and ready.
- 如果云单元存储没有问题,并且存储集显示它不在活动层中,请使用以下 DD 命令将存储集文件调回活动层:
data-movement recall path /data/col1/MTREE_NAME/DEVICE_PATH/##/##/LONG_SSID/FILE_NAME
示例:
sysadmin@ddct# data-movement recall path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-config-file-0.cfg
Recall initiated for "/data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-config-file-0.cfg". Run the "data-movement status" command to monitor its progress.
sysadmin@ddct# data-movement recall path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-config-file-1.cfg
Recall initiated for "/data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-config-file-1.cfg". Run the "data-movement status" command to monitor its progress.
sysadmin@ddct# data-movement recall path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-used-blocks.json
Recall initiated for "/data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-used-blocks.json". Run the "data-movement status" command to monitor its progress.
sysadmin@ddct# data-movement recall path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-flat.vmdk
Recall initiated for "/data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-flat.vmdk". Run the "data-movement status" command to monitor its progress.
sysadmin@ddct# data-movement recall path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000.vmdk
Recall initiated for "/data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000.vmdk". Run the "data-movement status" command to monitor its progress.
sysadmin@ddct# data-movement recall path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-metadata.json
Recall initiated for "/data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-metadata.json". Run the "data-movement status" command to monitor its progress.
sysadmin@ddct# data-movement recall path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupVmSessions.json
Recall initiated for "/data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupVmSessions.json". Run the "data-movement status" command to monitor its progress.
sysadmin@ddct# data-movement recall path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupDescriptor.json
Recall initiated for "/data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupDescriptor.json". Run the "data-movement status" command to monitor its progress.
数据移动调回完成后,文件将显示在活动层下:
sysadmin@ddct# filesys report generate file-location path /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56 -------------------------------- ---------------------- ------------- ----------------- File Name Location(Unit Name) Size Placement Time -------------------------------- ---------------------- ------------- ------------------- /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-config-file-0.cfg Active 3.79 KiB Sun Oct 20 23:12:02 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-config-file-1.cfg Active 264.49 KiB Sun Oct 20 23:12:10 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-used-blocks.json Active 13.98 KiB Sun Oct 20 23:12:18 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-flat.vmdk Active 100.00 GiB Sun Oct 20 23:12:35 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000.vmdk Active 345.00 B Sun Oct 20 23:12:35 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/vm-4002-disk-key-2000-metadata.json Active 322.00 B Sun Oct 20 23:12:43 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupVmSessions.json Active 5.34 KiB Sun Oct 20 23:12:52 2024 /data/col1/nsr/VMbackup03/00/84/66385d64-00000006-f6111cbf-67111cbf-000b5000-592bbe56/BackupDescriptor.json Active 2.29 KiB Sun Oct 20 23:13:04 2024 -----------------------------------------------------------------
另一种方法是使用 NetWorker 将存储集克隆回活动层中的设备:NVP vProxy:如何手动将虚拟机存储集从非 Data Domain 设备克隆到 Data Domain 克隆设备?(英文版)
- 将数据移回活动层后,从 NetWorker Management Console (NMC) 或 NetWorker Web 用户界面 (NWUI) 执行虚拟机还原。
其他信息
将 NetWorker 与 Data Domain Cloud Tier 集成时,应在包含 NetWorker 数据的 mtree 上将“数据移动”策略设置为“app-managed”。
在 NetWorker 中创建 DD Cloud Tier 克隆设备:

在标记卷之前,系统会显示一条警报,指出此过程会将 NetWorker mtree 设置为“app-managed”。
NetWorker mtree 的数据移动策略显示为 app-managed:
sysadmin@ddct# data-movement policy show mtree /data/col1/nsr Mtree Target(Tier/Unit Name) Policy Value ------------------------- ---------------------- ----------- ------- /data/col1/nsr Cloud/test01 app-managed enabled ------------------------- ---------------------- ----------- -------
要在活动层和云单元存储之间移动 NetWorker 数据,请使用 DD 云层 NetWorker 设备作为克隆目标来配置 NetWorker 克隆作业。
在对驻留在 Cloud Tier 克隆设备上的存储集执行虚拟机还原期间,云层存储集将显示在 “从非 Data Domain 设备上的克隆恢复虚拟机 ”下:
恢复过程提供了一个用于选择“Staging Pool”的选项。暂存池必须是使用在 NetWorker 服务器的本地存储节点上配置的 Data Domain 磁盘设备的克隆池。恢复过程将存储集克隆到 Data Domain 克隆设备,然后执行虚拟机恢复。这将在以下文章中进一步详细说明:NetWorker vProxy:从磁带恢复虚拟机恢复失败,并显示“无法将 SSID 克隆到暂存池中的 Data Domain 卷”