We are making some assumptions. Your questions seem to be about scheduled or manual storage Snapshots. This would also require manual mounting and restore of the VMs. The answers also have VMware in mind as the hypervisor.
- if snapshot is happened on datastore instead of on VMs, will I/O be hold during the snapshot? will the snapshot takes longer to complete since multiple VMs may live on it. Any impact to the VM performance?
A snapshot on the storage controller happens almost instantly so we do not expect any performance impact. Scheduled or manual snapshots will contain a “crash consistent” version of the VM. It will not hold I/O. If restored the VM will likely run a file system check. It would be like a physical server that had its power cord unplugged.
- can a VM be allowed to restore back with different name?
The file names on the Snapshot will be the same as the original VM. The name can be changed.
Renaming a virtual machine and its files in VMware ESXi (1029513)
- heard on VMFS, a VM or individual file restore will require flexclone, mount and vmotion. if snapshot is on a datastore, will the clone and mount operation make other VMs also visible on VMWare environment?
A Flexclone license is desirable because its fast and does not take space. But we can also restore with other mechanisms that take space and time like NDMP copy the Snapshot to a new volume. Snapshots are volume Snapshots so all the files or VMs are available. We can import any of the VMX files for the VMs.
- plan to keep two snapshot a day and three or one week snapshots on same production cluster. is that a good approach for instant recovery? we do have a few hundred of VMs.
Snapshots are great to recover VMs. The frequency and length of retention of Snapshots is a preference of the individual customer environment. Snapshots live on the volume so a disaster recovery plan should also be in place to have a copy of all the data off site.
- after we created snapshots on plugin, will these snapshots visible on volumes with "snapshot show" command?
Snapshots created by plug-ins are visible with “snapshot show”
- will snapshots occupy any space on datastore?
When a Snapshot is created it takes no space. Taking a Snapshot locks all the blocks in use to preserve the state. New writes are written to new blocks and do not overwrite the existing blocks locked by the Snapshot. The new blocks written increment the space used by the Snapshot.
Please let me know if you need clarification or have additional questions.