Showing posts with label VMware troubleshooting. Show all posts
Showing posts with label VMware troubleshooting. Show all posts

Wednesday, July 20, 2011

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

  • Creating a quiesced snapshot fails.
  • While taking a snapshot, you see the error:

    Cannot create a quiesced snapshot because the snapshot operation exceeded the time limit for holding off I/O in the frozen virtual machine
     
  • You may also experience this issue when you are doing a hot clone of a virtual machine. You see the error: 
    An error occurred while quiescing the virtual machine. See the virtual machine's event log for details 'VssSyncStart' operation failed: IDispatch error #8449 (0x80042301)
  • The /var/log/vmware/vpx/vpxa logs contain entries similar to:
    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
  • The vmware.log of the virtual machine contains entries similar to:
    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)

Resolution

This issue occurs because the I/O in the virtual machine is high and the quiescing operation is unable to flush all the data to disk, while further I/O is created.
To resolve this issue, perform one of these options:
  • Verify VSS, guest, and backup product configuration. For additional steps on troubleshooting VSS, seeTroubleshooting Volume Shadow Copy (VSS) quiesce related issues (1007696).
  • Reduce the amount of ongoing I/O to the virtual machine. This can be accomplished using pre or post-freeze scripts to quiesce application I/O. For more information, see the Virtual Machine Backup Guide.
  • Opt for a crash-consistent snapshot (as opposed to application-consistent) of the virtual machine by avoiding quiescing of the file system.
If you do not want to quiesce the virtual machine during the snapshot creation, there are several options. Choose one of these options, based on your environment: 
  • If you are using VCB or a backup product that relies upon the VCB framework, see Quiescing Mechanisms in theVirtual Machine Backup Guide.
  • If you are taking the snapshot manually in ESX/ESXi 4.x, deselect the Quiesce guest file system option in the vSphere Client. In ESX/ESXi 3.5 it is not possible to take quiescent snapshots from the VMware Infrastructure Client.
  • If the snapshots are taken via the ESX host terminal using the vmware-cmd command, set the option of quiescing to 0.

    To set quiescing to 0, run the command:
    # vmware-cmd <cfg> createsnapshot <name> <description> <quiesce> <memory>

    For example:
    # vmware-cmd /vmfs/volumes/4adecc3a-62b367e8-5b15-001a4be960e0/VMname/VMname.vmx createsnapshot "Snap Name" "Snap Description" 0 0
  • If you are using a 3rd party backup product that does not allow you to configure for non-quiescent snapshots, remove the VSS component from the Windows guest operating system, provided as part of VMware Tools. When a quiescent snapshot is requested, VMware Tools does not find and utilize the VSS driver and the attempts to quiesce the filesystem are not made. The /var/log/vmware/hostd.log file reports this incident, but the snapshot creation completes without error additional errors.

    Note: This requires a reboot of the virtual machine. VMware recommends scheduling downtime before performing this action.
    1. Uninstall VMware Tools.
    2. Allow the system to reboot.
    3. Reinstall VMware Tools. Ensure to click Custom Install.
    4. Deselect VSS.

      After the installation, you are able to take a snapshot where the quiescing operation is not performed even if specifically requested.
Note: Older versions of Windows and guests deployed prior to VMware ESX 3.5 Update 2 utilize the Sync Driver, instead of VSS, for quiescent snapshot requests.