问题现象,vCenter的事件日志或者快照任务失败时会出现以下两种错误:
1. An error occurred while saving the snapshot: Failed to quiesce the virtual machine
2. ’VssSyncStart‘ operation failed
在虚拟机进行”应用一致快照Application consistent“的快照操作,或者通过第三方备份软件如Veeam做增量备份是,vCenter会提醒创建静默快照失败,并会出现以上错误,中文翻译类似为:“无法创建静默快照,因为快照操作超出了冻结虚拟机中挂起I/O的时间限制”。
具体表现为,在VMware的vpxa.log文件中,我们可以看到类似以下的错误记录:
2023-10-25T06:43:56.192Z infovpxa[2099879] [Originator@6876 sub=DefaultopID=l9hyxltb-10461-auto-82m-h5:70003800-2-01-24] [VpxLRO] -- ERROR task-4480-- vpxa -- vpxapi.VpxaService.createSnapshot:vim.fault.ApplicationQuiesceFault:
--> Result:
-->(vim.fault.ApplicationQuiesceFault) {
--> faultCause = (vmodl.MethodFault) null,
--> faultMessage = (vmodl.LocalizableMessage) [
--> (vmodl.LocalizableMessage) {
--> key = "msg.checkpoint.save.fail2.std3",
--> arg = (vmodl.KeyAnyValue) [
--> (vmodl.KeyAnyValue) {
--> key = "1",
--> value = "msg.snapshot.error-QUIESCINGERROR"
--> }
--> ],
--> message = "An error occurredwhile saving the snapshot: Failed to quiesce the virtual machine."
--> },
--> (vmodl.LocalizableMessage) {
--> key = "msg.snapshot.vigor.take.error",
--> arg = (vmodl.KeyAnyValue) [
--> (vmodl.KeyAnyValue) {
--> key = "1",
--> value = "msg.snapshot.error-QUIESCINGERROR"
--> }
--> ],
--> message = "An error occurred while taking a snapshot: Failed to quiesce the virtual machine."
--> }
--> ]
--> msg ="An error occurred while quiescing the virtual machine. See the virtualmachine's event log for details."
--> }
虚拟机的vmware.log日志会有这样的错误:
2023-10-25T06:43:54.129ZIn(05) vmx - Msg_Post: Warning
2023-10-25T06:43:54.129ZIn(05) vmx - [msg.snapshot.quiesce.vmerr] The guest OS has reported an errorduring quiescing.
2023-10-25T06:43:54.129ZIn(05)+ vmx - The error code was: 5
2023-10-25T06:43:54.129ZIn(05)+ vmx - The error message was: 'VssSyncStart'operation failed: IDispatch error #8449 (0x80042301)
2023-10-25T06:45:21.631ZIn(05) vmx - Msg_Post: Warning
2023-10-25T06:45:21.631ZIn(05) vmx - [msg.snapshot.quiesce.vmerr] The guest OS has reported an errorduring quiescing.
2023-10-25T06:45:21.631ZIn(05)+ vmx - The error code was: 5
2023-10-25T06:45:21.631ZIn(05)+ vmx - The error message was: 'VssSyncStart'operation failed: IDispatch error #8449 (0x80042301)
2023-10-25T06:59:13.800ZIn(05) vmx - Msg_Post: Warning
2023-10-25T06:59:13.800ZIn(05) vmx - [msg.snapshot.quiesce.vmerr] The guest OS has reported an errorduring quiescing.
2023-10-25T06:59:13.800Z In(05)+vmx - The error code was: 5
2023-10-25T06:59:13.800ZIn(05)+ vmx - The error message was: 'VssSyncStart'operation failed: IDispatch error #8449 (0x80042301)
原因和解决办法
这个问题发生在虚拟机的读写IO输入输出量很高时,静默操作quiesce无法将所有数据刷新到磁盘上,同时VM还在生成更多的IO,这个情况出现时,vCenter就会有上述错误,具体表象就是无法备份或者做快照。
此外,如果在一个没有可用空间的虚拟机上创建一个静默快照,也会发生这个问题。
解决这个问题,可以采取以下几种方法:
- 核实 VSS、客户端和备份软件方面的配置。
- 重新考虑一下备份/快照是否真的需要应用一致快照Application consistent?
- 减少对虚拟机的持续读写IO。可以通过一些系统里面的脚本,来减少应用的IO输入输出。
- 换一成”崩溃一致快照Crash Consistent“(”应用一致快照Application consistent”的相反),避免文件系统的静默,如下图,不要勾选quiesce guest file system
总结来说,虚拟机快照失败或备份失败可能由多种原因导致,包括高I/O负载、存储空间不足、备份软件兼容性问题等。如果遇到“Failed to quiesce the virtual machine”或“VssSyncStart operation failed”等错误提示,建议依次检查虚拟机的磁盘空间、备份配置以及操作系统的VSS服务状态。为确保虚拟机快照成功,优化虚拟机的I/O性能并定期清理过多的旧快照,能够有效减少快照失败的情况。此外,使用Crash Consistent快照作为备选方案也是解决快照无法静默的问题之一。希望本篇指南能够帮助用户更好地应对虚拟机快照和备份失败的问题,确保vSphere环境的高效运行。