Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have given our users privilege to take snapshots. But now it is uncontrollable and people started taking meaningless snapshots and never deleting it.

Due to this we are facing performance issue, Disk space overloaded issue and etc.

I would like to prevent users from taking snapshots beyond certain limit. For example. Users may not be allowed to take more than 3 snapshots .

How to achieve this? ( We are using ESXi 4 and ESXi 4.1 and VMware Vsphere )

If it can't be prevented , atleast is there a mechanism to alert me when user creating more than 3 snapshots?

share|improve this question
up vote 2 down vote accepted

In the short term, I recommend you remove the ability for your users to take snapshots, and have them put in an email/ticket request for a snapshot.

In the long term, I recommend you look into workflow automation that will give you more control over snapshots.

PowerCLI - Create a small script that allows a user to take snapshots, but limits the amount of snapshots. Also, you should absolutely run a scheduled script to clean up snapshots older than 24 hours old. You can also put a GUI on your scripts if your users are scared of the command line.

vCenter Orchestrator - Create easy to use graphical workflows for your users to manage snapshots. Harder to set up, but the possibilities at that point are endless.

share|improve this answer

Firstly I'm not aware of any way to achieve what you're looking for. Secondly VMFS snapshots are really a short term temporary type of snapshot, not only do they cut into performance heavily but they take a long time to remove. As such I think you've caused this problem yourself by assuming users know these things and would use them responsibly. I'd revoke the right and start what will be a long process of removing all the snaps.

share|improve this answer
Thanks for useful information. I think some way must be there. If not preventing if it alerts me that's also would do half good thing than nothing. I have edited my question accordingly – Samselvaprabu Jan 4 '12 at 9:12
Ok, understood but what I'm saying is that you really don't want them to have 3 snaps at all if you can. – Chopper3 Jan 4 '12 at 10:29
I will explain the case . Our VMs are build machines. So in my project release 1 , I would have used vs2008 , Silverlight some old version. And i would take snapshot. Then for next release softwares will be changed Vs2010 , silverlight latest version and etc. Some times after a year customers would come back to us and ask for patch. Our only survival point is go to version 1 snapshot. I can never remove it. But if it cross more than 3 snaps , it is better to have new VM. – Samselvaprabu Jan 4 '12 at 10:33
Why don't you just either backup or clone the VMs rather than snapping? if you have to do snaps from within ESX/i then consider getting a SAN that supports snaps and VAAI and let that offload the work for you. – Chopper3 Jan 4 '12 at 10:44
If i clone VM , I may need more space. Isn't it? For ex. Our VMs are 20 GB in size. for 3 snaps if i take 3 clones , won't it be a overloading? – Samselvaprabu Jan 4 '12 at 11:07

What can easily be done in production esx environments when I've had to allow snaps is set an alarm on snap creation, which then kicks off a powershell script to remove snaps on the vm older than 2 days. In your case you could count the snaps and have it send an email (or whatever action you like). This kind of functionality is why the snap alarm was added.

share|improve this answer

I have no experience with snapshot limitations, but VMware document What Is New in VMware vSphere™ 4: Storage has the following entry:

Improved Storage Resources Control

As the scope of storage resources have increased significantly with large deployments of virtualization environments, so has the need for greater automation and control of these resources. In the vSphere release, vCenter has been enhanced with several new storage specific capabilities to help the virtual administrator manage these environments with a higher degree of control. These enhancements provide administrators with proactive alerts and alarms to address issues before they interrupt the availability of applications running on those resources. vCenter allows setting permissions and quota limits on datastores, as well as per VM.

I think you could try working with quotas to achieve what you want.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.