Storage IO Control and An Idea
After being out of town for almost all of July, I am finally getting to make a run at vSphere 4.1. I am throwing different features at our lab environment and seeing what they do. I don’t think I would be writing anything new in saying vMotion and Storage vMotion is faster. Clones and deploying from a template is faster (VAAI). I decided to take a peak at the Resource Allocation for IOps per VM. Nothing you do not already know, you can now assign shares and limits to the Disk IO. Useful if you need certain machines to never take too much IO and cause storage latency. This only kicks in when the latency threshold is exceeded.
My wacky ideas usually come from the idea of resource pools, shares and limits are cool but I don’t want them used all the time. So why don’t I apply the limits or shares dynamically based on a certain time or expected workload. Lets say my third party backup software runs at 8pm, and that software is on a VM. At 7:59 I could lower all the shares of all the vm’s and raise the disk shares of my backup server. This prevents rogue dba from killing your backup window with a query or stored procedure that is heavy in the disk. Even deeper if I could return the shares to each VM as the backup software finishes backing up all the vm’s on that datastore. I wonder if this will actually shorten backup windows or just make the dba’s mad. Either way you win. :)
While clearing up my understanding on the issue of SIOC William Lam sent me to these two scripts (very useful): http://www.virtuallyghetto.com/2010/07/script-configure-vm-disk-shares.html http://www.virtuallyghetto.com/2010/07/script-automate-storage-io-control-in.html