Thank you for the info, it's very helpful. I'm still having a hard time wrapping my head around your reverse custom share idea though. It appears to require a lot of manual administration unless one used the powercli script you give, but I'm not familiar enough with powercli to utilize that unfortunately...
So, if I were to follow your formula, but throw in a 25 share per VM "low" resource pool to go with the 100 share per VM "high" and 50 share per VM "normal" I would just need to multiply that value by the amount of VMs in each pool to give me a custom cpu and memory share value to plug into each pool's settings. I have 9 VMs in the high pool so that gives me a share of 900, 14 in the normal pool giving that one a 700 share and low has 38 VMs which would give it 950 shares?! Where did I go wrong there?
Also, wouldn't my monster 16x CPU VM still hog the resources in whatever pool it gets put into? As you can see in my original picture that VM is getting 64% of the pool's shares because of seven of the VMs in the pool having a single CPU and one having two compared to it's 16. How do you account for those situations?
An article you somewhat linked to on yellow bricks states that VMware recommends basing your shares on vCPU count and provide a much more complex script to account for that.
#Do we want the CPU share weighting based on the number of virtual machines within the resource pool, or the number of vCPUs? #(vCPUs is the default method used by vSphere when specifying Low, Medium or High shares on a per-VM basis) $CountvCPUs = $true
http://www.yellow-bricks.com/2010/12/14/shares-set-on-resource-pools/
However, even if I go by vCPU using your method (if I'm understanding it) I end up with the following for my environment;
High - 25 vcpu * 100 = 2500 shares
Normal - 16 vcpu * 50 = 800 shares
low - 42 vcpu * 25 = 1050 shares
Here the low pool is getting more shares than the normal one? Is that right?
I think I'm lost