解决SnapCenter Plug-in for VMware vSphere提示找不到快照导致任务失败的问题

Posted on

SnapCenter是NetApp提供的卷快照自动管理工具,可以根据指定规则自动生成卷的快照备份。

在部分场景下(典型场景为卷所在的NetApp存储阵列使用率较高或繁忙时),SnapCenter比较容易出现任务执行失败的情况。

问题现象

SnapCenter在执行某些快照任务时失败,任务日志中提示类似如下的报错信息:

Unable to find Snapshot (RG|Policy_YYYY-MM-dd_HH:mm:ss.0ms) on volume (primaryvolume) from storage (primary-SVM-fqdn). Failed to attach the label to the specified Snapshot copy.(RG|Policy_YYYY-MMdd_HH:mm:ss.0ms). Invalid response returned by Set-NcSnapshot: 0

Error: SnapVault update failed for the relationship [ source-SVM : sourcevolume ==> destination-SVM : destination-volume]
with error: Snapshot copy ‘RG|Policy_YYYY-MM-dd_HH:mm:ss.0ms’ not found on the SnapVault destination destination-SVM : destination-volume

可能原因

如下几种情形可能导致出现上述错误:

1. 如果在源端上不能找到SnapCenter生成的快照,则可能因为:

  • ONTAP卷管理的数据库信息在快照生成后还未及时得到更新。
  • 所生成的快照已被ONTAP的快照自动删除机制所删除。

2. 如果在目标端上不能找到SnapCenter生成的快照,则可能因为:

  • SnapVault或SnapMirror更新传输中断。
  • SnapVault或SnapMirror更新执行时间超过2个小时。(SnapCenter快照任务的默认超时阈值为2小时)
  • 在触发SnapVault或SnapMirror更新动作后,SnapCenter会持续检查动作执行状态并等待,直至传输结束、确认快照在目标端上存在。SnapCenter最多会尝试120次检查,每次检查间隔1分钟。在此之后若状态仍未得到确认,则判断任务失败。

解决方法

可以尝试通过增大SnapCenter的任务超时时长和重试次数来减少报错频次。

1. 通过console登录VSC所在虚拟机。

2. 使用maint用户登录。

默认密码:admin123

3. 在Main Menu中进入【Support and Diagnostic】—【Access diagnostic shell】菜单,按“Y”确认,进入命令行模式。

4. 切换到root用户:

$ sudo su

5. 进入配置文件目录:

$ cd /opt/netapp/protectionservice/publish/storage/

6. 编辑appsettings-storage.json:

$ vi appsettings-storage.json

7. 找到该json中的AppSettings块分支,增加如下条目:

{
  ...
  "SNAPSHOT_CHECK_RETRY": "240",
  "SNAPSHOT_CHECK_TIMEOUT": "120000",
  "SnapshotDiscoverRetryIntervalSecond": "10",
  "SnapshotDiscoverMaxRetryExist": "9"
}

注:超时时长可以根据实际卷的SnapVault/SnapMirror传输速度进行调整,以秒为单位。

7. 保存并退出。

8. 输入“Exit”退出命令行模式,并按“b”返回到Main Menu。

9. 在Main Menu中进入【Application Configuration】菜单。

10. 按“3”停止SnapCenter服务。待完成后按“2”启动服务。

观察下一个任务执行周期时SnapCenter的任务执行情况。

END