To mitigate the impact of snapshots, consider the recommendations that follow.
•Minimize the number of open snapshots per datastore: multiple open snapshots on the same datastore are sometimes unavoidable, but the cumulative effect can be bad. Keep this in mind when designing datastores, deploying VMs and creating backup and replication schedules. Leveraging backup by datastore can be useful in this scenario.
•Consider snapshot impact during job scheduling: when possible, schedule backups and replication job during periods of low activity. Leveraging the “Backup Window” functionality can keep long running backups from running during production.
•Use the vStorage APIs for Array Integration (VAAI) where available. VAAI can offer significant benefits:
oHardware Lock Assist improves the granularity of locking required during snapshot growth operations, as well as other metadata operations, thus lowering the overall SAN overhead when snapshots are open.
oVAAI in vSphere 5.x offers native snapshot offload support and should provide significant benefits once vendors release full support.
•Design datastores with enough IOPS to support snapshots. Snapshots create additional I/O load and thus there must be enough I/O headroom to support the added load of snapshots. This is especially important for VM’s with moderate to heavy transactional workloads.
•Allocate enough space for snapshots. For example, vSphere 5.0 puts the snapshot VMDK on the same datastore with the parent VMDK, so if a VM has virtual disks on multiple datastores, each datastore must have enough space to hold the snapshots for their volume. You must take into consideration the possibility of running multiple snapshots on a single datastore. According to the best practices, it is strongly recommended to have 10% free of datastore in case of general VM, and, at least, 20% in case of VM with high change rate (SQL server, Exchange server, and others).
Sometimes, VMs residing on NFS storage may become unresponsive during snapshot removal (this may happen under certain conditions described in VMware KB article 2010953). As the case is recognized as VMware known issue, it is recommended that you contact VMware support. As a work-around, for large VMs you can try using dedicated backup proxy on the same ESXi host where you have your VMs; for smaller VMs, you can switch to network mode.
Creating snapshots on vSphere will cause the snapshot files to be created on the same VMFS volumes as the individual VM disks. This at least means that a large VM, with multiple VMDKs on multiple datastores, will spread the snapshot I/O load across those datastores, but it actually limits the ability to design and size a dedicated datastore for snapshots, so this has to be factored in to the overall design.