无法创建静默快照,因为创建快照操作超过了拖延已冻结虚拟机中 I/O 的时限
search cancel

无法创建静默快照,因为创建快照操作超过了拖延已冻结虚拟机中 I/O 的时限

book

Article ID: 301288

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Symptoms:

免责声明: 本文是 Cannot create a quiesced snapshot because the snapshot operation exceeded the time limit for holding off I/O in the frozen virtual machine (1018194) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。
 


 

 

  • 创建静默快照失败。
  • 创建快照时,显示以下错误:

    Cannot create a quiesced snapshot because the snapshot operation exceeded the time limit for holding off I/O in the frozen virtual machine
     
  • 当您对虚拟机执行热克隆时,会遇到此问题。 您会看到以下错误:

    An error occurred while quiescing the virtual machine. See the virtual machine's event log for details 'VssSyncStart' operation failed: IDispatch error #8449 (0x80042301)
     
  • vpxa.log 文件包含类似于以下内容的条目:

    注意: 在 VMware Infrastructure 3.x 和 vSphere 4.x 中,该日志位于 /var/log/vmware/vpx/vpxa。 在 vSphere 5.0 中,该日志位于 /var/log

    2010-10-10T22:53:31.077Z [45EEEB90 info 'Default' opID=D1D8F924-00002337-83] [VpxLRO] -- ERROR task-768 -- -- vpxapi.VpxaService.createSnapshot: vim.fault.ApplicationQuiesceFault:
    --> Result:
    (vim.fault.ApplicationQuiesceFault) {
    dynamicType = unset,
    faultCause = (vmodl.MethodFault) null,
    faultMessage = (vmodl.LocalizableMessage) [
    (vmodl.LocalizableMessage) {
    dynamicType = unset,
    key = "msg.snapshot.quiesce.vmerr",
    arg = (vmodl.KeyAnyValue) [
    (vmodl.KeyAnyValue) {
    dynamicType = unset,
    key = "1",
    value = "5",
    },
    (vmodl.KeyAnyValue) {
    dynamicType = unset,
    key = "2",
    value = "'VssSyncStart' operation failed: IDispatch error #8449 (0x80042301)",
    }
    ],
    message = "The Guest OS has reported an error during quiescing.
    --> The error code was: 5
    --> The error message was: 'VssSyncStart' operation failed: IDispatch error #8449 (0x80042301)
    --> ",
    }
    ],
    msg = "An error occurred while quiescing the virtual machine. See the virtual machine's event log for details."
    }
    --> Args:
    --> Arg vmid:6
    --> Arg name:"clone-temp-1286776661914351"
    --> Arg description:
    "This temporary snapshot is taken as part of the clone operation. The temporary snapshot will be deleted once the clone operation is complete."
    --> Arg memory:false
    --> Arg quiesce:true

     
  • 虚拟机的 vmware.log 文件包含类似以下内容的条目:

    2010-10-10T23:02:12.050Z| vcpu-3| [msg.snapshot.quiesce.vmerr] The Guest OS has reported an error during quiescing.
    2010-10-10T23:02:12.050Z| vcpu-3| --> The error code was: 5
    2010-10-10T23:02:12.050Z| vcpu-3| --> The error message was: 'VssSyncStart' operation failed: IDispatch error #8449 (0x80042301)

注意: 上述日志摘录仅为示例。 日期、时间和环境变量可能会因环境而有所不同。


Environment

VMware ESXi 4.1.x Installable
VMware vCenter Server 5.1.x
VMware ESXi 3.5.x Installable
VMware vSphere ESXi 5.1
VMware vCenter Server 5.0.x
VMware ESX Server 3.5.x
VMware ESXi 4.0.x Installable
VMware ESXi 4.0.x Embedded
VMware ESXi 4.1.x Embedded
VMware vCenter Server 4.0.x
VMware vCenter Server Appliance 5.0.x
VMware vSphere ESXi 5.0
VMware ESX 4.1.x
VMware vCenter Server Appliance 5.1.x
VMware VirtualCenter 2.5.x
VMware ESXi 3.5.x Embedded
VMware vCenter Server 4.1.x
VMware ESX 4.0.x

Cause

当该虚拟机中的 I/O 量很大,因而静默操作无法将所有数据都刷新到磁盘,同时还有更多的 I/O 被创建出来时会出现此问题。

如果尝试在没有可用空间的虚拟机上创建静默快照,也会出现此问题。 这里所谓的“没有可用空间”,就是指该虚拟机上的可用空间为 0 字节。

Resolution

注意: 已有人反映,如果在虚拟机内安装第三方备份代理而又不重新引导它,之后便会发生此问题。 如果属于这种情况,请先尝试重新引导该虚拟机以确定这种方法是否可以解决问题,然后再采取更加高级的故障排除措施。

要解决此问题,请执行以下选项之一:


如果不想在快照创建期间使虚拟机处于静默状态,也有多种可选方案。 请根据您的具体环境选择以下可选方案之一:

  • 如果使用 VMware Consolidated Backup (VCB) 或依赖于 VCB 框架的备份产品,请参见 Virtual Machine Backup Guide 中的“静默机制”。

    注意:vSphere 5.x 不支持 VCB。
     
  • 如果是在 ESXi 5.x 或 ESXi/ESX 4.x 中手动创建快照,请在创建快照时取消选中 vSphere Client 中的使客户机文件系统处于静默状态选项。 在 ESXi/ESX 3.5 中,无法从 VMware Infrastructure Client 中创建静默快照。
     
  • 考虑使用 pre-freezepost-thaw 脚本(VMware Tools 中的功能)先停止应用程序,然后备份应用程序,再进行重新启动。 如需了解详细/相关信息,请参见 Virtual Machine Backup Guide 中的“运行自定义静默脚本”部分。
     
  • 如果快照是使用 vim-cmd 命令通过 ESXi 主机创建的,请将静默选项设置为 0。

    要获取虚拟机及其 VMID 的列表,请运行以下命令:

    # vim-cmd vmsvc/getallvms

    要将静默设置为 0,请运行以下命令:

    # vim-cmd vmsvc/snapshot.create vmid [snapshotName] [snapshotDescription] [includeMemory] [quiesced]

    例如,如果名为 testVM 的虚拟机的 VMID 为 23,则命令为:

    # vim-cmd vmsvc/snapshot.create 23 "SnapName" "Snap Description" 0 0
     
  • 如果快照是使用 vmware-cmd 命令通过 ESX 主机终端创建的,请将静默选项设置为 0。

    运行以下命令将静默选项设置为 0:

    # vmware-cmd cfg createsnapshot name description quiesce memory

    例如:

    # vmware-cmd /vmfs/volumes/4adecc3a-62b367e8-5b15-001a4be960e0/VMname/VMname.vmx createsnapshot "Snap Name" "Snap Description" 0 0
     
  • 如果使用的是不允许配置非静默快照的第三方备份产品,则从 Windows 客户机操作系统中删除作为 VMware Tools 的一部分而提供的 VSS 组件。 这会导致 VMware Tools 尝试使用较旧的同步驱动程序。 当请求静默快照时,VMware Tools 将无法找到和使用 VSS 驱动程序,因而随后会尝试使用同步驱动程序执行静默操作。 要在重新安装 VMware Tools 时不安装 VSS 选件,请执行以下步骤:
     
    1. 卸载 VMware Tools。
    2. 重新引导系统。
    3. 重新安装 VMware Tools。 确保您单击的是自定义安装
    4. 取消选中 VSS

    注意
    • 这需要重新引导虚拟机。 VMware 建议在执行此操作前计划好停机时间。
    • 对于 ESXi/ESX 4.1 及更高版本,不再提供用于在 Windows Server 2003 及更高版本 Windows 中取消选中 VSS 以及使用同步驱动程序的选项。 任何使用静默选项创建的快照默认情况下都将使用 VSS 来使客户机操作系统的文件系统处于静默状态,除非在客户机操作系统中禁用了“卷影复制”服务。
    • 安装后,您便可以创建快照,在创建过程中,即使明确要求执行静默操作,也不会予以执行。

注意

  • 较旧版本的 Windows 以及采用低于 VMware ESX 3.5 Update 2 的版本部署的客户机在执行静默快照请求时,使用的是同步驱动程序而非 VSS。
     
  • Microsoft 不支持 Exchange 服务器的快照。 有关快照支持的详细信息,请参见以下 Microsoft TechNet 文章:

注意: 截至 2015 年 10 月 1 日,上述链接正确无误。 如果您发现链接已损坏,请提供反馈,VMware 员工会更新该链接。

  • 将 Symantec NetBackup 工具与运行 Microsoft Exchange 的虚拟机一起使用时,可以考虑使用 Symantec VSS 提供程序。 有关详细信息,请参见 Veritas Netbackup for VMware Administrator's Guide 中的适用于 VMware 的 Symantec VSS 提供程序一节。 如果 VMware Tools 是在 Symantec VSS 之前安装的,请遵照此 NetBackup 管理指南中关于卸载并重新安装 VMware Tools(重新安装时不安装 VMWare VSS)的信息。 如果需要删除 Symantec VSS,请与 Symantec 联系以获得卸载/重新安装 Symantec VSS 服务方面的帮助。
     

    注意: 截至 2015 年 10 月 1 日,上述链接正确无误。 如果您发现链接已损坏,请提供反馈,VMware 员工会更新该链接。

  • 如有任何 VSS 编写器出现故障,便会出现此问题。 请在运行备份作业前和该作业完成后验证编写器列表,以确认是否有任何 VSS 编写器出现故障。 由于 VSS 编写器是由第三方供应商提供的,因此如果在使用它们时遇到任何问题或者要排除这些编写器的任何故障,请咨询相应供应商。


Additional Information

如需了解相关信息,请参见:

Cannot create a quiesced snapshot because the snapshot operation exceeded the time limit for holding off I/O in the frozen virtual machine