Home > Storage > PowerMax and VMAX > Storage Admin > Dell PowerMax and VMware vSphere Configuration Guide > Copying virtual machines with TimeFinder
Using TimeFinder/SnapVX with cold virtual machines discussed use of the TimeFinder/SnapVX to clone virtual machines that have been shut down. Although it is the ideal way to obtain a copy of the data, it is impractical in most production environments. Fortunately, all SnapVX snapshots are consistent-consistent copies when created using the symsnapvx establish command. Depending on the state of the devices at the time of the snapshot, SnapVX pauses I/O to ensure that there are no writes to the source device while the snapshot is created. The image that is created in this way is a dependent-write consistent data state and can be used as a restartable copy of the virtual machine.
Virtual machines running modern operating systems such as Microsoft Windows and database management systems enforce the principle of dependent-write I/O. That is, no dependent write is issued until the predecessor write it depends upon is complete. For example, Microsoft Windows does not update the contents of a file on an NT file system (NTFS) until an appropriate entry in the file system journal is made. This technique enables the operating system to quickly bring NTFS to a consistent state when recovering from an unplanned outage such as a power failure.
As the process for taking snapshots of hot virtual machines is the same as cold, it is not repeated here. Two important concepts are included concerning quiescing and databases.
Note: If TimeFinder/Clone is preferred over SnapVX, be sure to use the -consistent flag when taking the clone. This usage is essential if the VMs contain databases like Oracle since it can corrupt it without the flag.
Although snapshots produce a consistent copy, some applications require quiescing before any copy is taken. This scenario is most common in Windows operating systems. Microsoft has a process that is called Windows Volume Shadow Copy Service (VSS) to handle it. VSS is a group of COM interfaces that implements a framework. It allows volume backups to be performed while applications on a system continue to write to the volumes. The quiescing scripts are called before and after the snapshot to ensure this operating system and application consistency. Integration with VMware requires the use of the UUID with VSS. More detail is available from VMware KB 102888.
When a snapshot is taken of a VM running a relational database (RDBMS) like Oracle or SQL Server, a crash-consistent copy is produced. This scenario is the same as if the database or the VM itself failed. When the copied VM is powered on, the database recovers by applying committed transactions and rolling back uncommitted ones. For recent versions of Oracle, a crash-consistent copy of the database can be used similarly as a cold copy of the database. Oracle permits using the crash copy as the basis for applying future logs and thus is a viable backup. SQL Server, though, does not. In order to use similar functionality with SQL Server, Microsoft has a service similar to VSS known as SQL Server Virtual Device Interface (VDI). When VDI is employed with SQL Server an application consistent copy of the database can be taken with SnapVX.