Here is the approximate procedure for software to performs application-consistent backup and restore:

Procedure

  1. Call CreateSnapshotEx_Task with quiesce set appropriately for VSS (see below).
  2. Open the leaf node of the disk with VDDK and read both the base VMDK and the snapshot at once.
  3. Delete the snapshots created in the first step.
  4. During restore, create a new virtual machine.
  5. Write the VMDK to disk with VDDK. It should have both base and quiesced information.

    During backup, if the snapshot was created with quiesce flag set to true, and all the quiescing conditions are met, so the snapshot is created involving VSS and the snapshot disks represent application consistent state of the guest OS. You should be able to confirm this by downloading the VSS manifest zip file, unzipping it to check if it has just the backup component document (in which case file system quiescing was performed) or also writer manifests (in which case application quiescing was performed).

    Quiescing involves the VSS mechanism designed by Microsoft. So, regarding VSS backup-restore verification, refer to the VSS documentation provided by Microsoft. VMware helps by providing a vss-manifest.zip file that contains Backup/Writers Components details. This is generated by the VSS mechanism after backup. By cross verifying these backup/writers components details according to Microsoft VSS documentation, you can verify if a particular application-consistent quiescing was completed successfully or not.

    VMware Tools is responsible for initiating the VSS snapshot process as the VSS requester. Users send a request to hostd for a quiesced snapshot of the virtual machine. The request goes from hostd to the VMware Tools for a VSS snapshot. Once the VSS snapshot is completed (with success or error) it communicates back to the hostd process. The VSS snapshot is created with the vss-manifest file, or without this file in the error case.

    The VSS requester sets up the overall configuration for the backup operation, including whether the snapshot should be performed in component mode or not, whether to take a snapshot with a bootable system state, and whether the snapshot should be for a full copy or differential backup. If application-consistent quiescing is performed, then all writers and all components are involved.

    VMware Tools initiates VSS quiescing using VSS_CTX_BACKUP context for application quiescing capable guests with backup state set to select components, backup bootable system state with backup type VSS_BT_COPY and no partial file support and VSS_CTX_FILE_SHARE_BACKUP for file system quiescing capable guests. Currently there is no way to control any of these parameters.