There are many servers/hosts supporting many virtual machines on VMWare. Is there a way to automatically increase the disk space available on a VM say increase by 10%? How about sending messages (emails) to admins when it gets critical?
migrated from stackoverflow.com Aug 26 '10 at 2:10
This question came from our site for professional and enthusiast programmers.
You should be able to use the VMWare Disk Manager to inrease the size of your image.
Expands the image 'image.vmdk' to 25GB. Note that you will have to allocate this space on the VM i.e. assign it to a partition. It will initially be free unpartitioned space I believe.
As far as sending warnings regarding free disk space, you'd have to rope in Quota on Linux or something similar on Windows to perform checks - alternatively you could write a simple Cron-job to do the same thing using the 'df', 'grep' and 'sendmail' commands - again in Linux. You'll have to figure out a Windows alternative for that one aswell.
You can achieve this in a Virtualcenter/vSphere environment by configuring the vms for Thin Provisioning. You then configure a very large disk max size for the vm, but it will only occupy the actively consumed space on the physical storage (e.g if you configured a 40Gb boot disk but are only consuming 6Gb within it, your actual consumed physical disk space is only 6Gb). In virtualcenter you then configure an alarm event on the storage pool, which will alert the admins via email if the free space dips below a % threshold.
Note that if you want a method that looks at the free space within the guest os' themselves, you may as well factor the whole virtual stack out of the equation and look at other tools - vc and esx don't provide tools for this.