Using resouce pools in VMware to divide resouces between development and production

I've read a lot of articles on this and have seen this done many different ways.  Please clarify and comment on the best method to accomplish this.
We have 4 ESXi 5.0 hosts in 1 cluster.  I want to implement resouce pools so we can divide our CPU and memory resouces between production vms and test/dev vms.  I'd like to keep it at about 80% for production and 20% for test/dev.

Would I:

1.  Create one resouce pool under the cluser called Dev, assign it low shares, then put the dev machines in that.  Then all the production machines would reside at top level in cluster and get full resouces?

2.  Create two resource pools.  One for Dev with low shares and one for Prod with high shares.  Move all machines into one or the other.

3.  Create one resouce pool under the cluster named Prod, then a child resouce pool under the Prod resouce pool called Dev?

Any better methods?
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

vmwarun - ArunCommented:
I would keep it simple by creating a single resource pool for Dev and make sure that  expandable option is unchecked which will restrict the VMs to the resources available for that specific resource pool. Option 1 of the options which you have mentioned.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
Option 2
jpletcher1Author Commented:
Hanccocka - can you please give your reasoning at to why that option is best and why the others aren't as good?
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
This is how Development and Test Resources are restricted, Resources to govern dev, and ringfenced and protected resources for production.

BUT do you currently have Resource issues between production and Dev and Test?

or are you trying to charge back a department?
vmwarun - ArunCommented:
I suggested option 1 since I assumed that you wanted to restrict only the Dev environment which can be achieved by a single resource pool. Prod VMs would be directly deployed under the cluster.
jpletcher1Author Commented:
We used to have a 3 host ESX4.x cluster that we used for production servers and a 1 host standalone free version ESX4.x machine that all our dev stuff ran on.  We wanted to be able to manage our dev servers from within vCenter, so we purchased a new server and brought it into our vCenter environment and planned to move our dev machines onto it.  

With that said, we don't have an issue now, but I wanted to put something in place before I move our dev machines over to our vCenter envirnoment.  I am open to prod and dev sharing resources, but I want to make sure that prod always wins if there is contention.  I am also open to setting hard limits for dev if that is the best method in this case.
vmwarun - ArunCommented:
I can state this with an example. Let's say that you have 24GHz of CPU & 24GB of RAM. You want to make sure that Prod always get 18GHz CPU and 18GB of RAM while Dev has 6GHz CPU and 6GB RAM.

I will create a RP called Dev by right clicking the cluster, allocate 6GHz CPU and 6GB RAM and make sure no reservation is set. Set a limit of 6GHz for CPU and 6GB for RAM which will restrict the resource usage to the set limits at the RP level. Leave the rest for Prod usage.
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
We do not usually create Dev and Production Resource Pools, until Development servers start causing issues with total resources in the farm.

The other reason that our clients like to create pools, is because they like to charge out their resources to deparments, or their department purchased a single development server for the cluster.

So they purposely ring fence those resources of 4 x CPU@2GHz, and 32GB of RAM, in a resource pool, because that's the server they've purchased. (but they have not physically purchased a server in real like, they think they have, but what they have purchased is part of the resource pool in the cluster - if you follow).
jpletcher1Author Commented:
hanccocka - I understand, but given my reasons and circumstances, would you agree with arunraju's suggestion to create one resource pool for dev and leave production out at the top of the cluster?
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
If you are not wanting to charge, or allocate purchased resources.

Personally, I would not create ANY!

Unless, at present your resources are STARVED!

If the situations changes in the future, and Dev does start to affect the performance of the cluster.

The other alternatives is to allocate Reservations and GUARANTEE-ING resources to VMs.
jpletcher1Author Commented:
Thanks for the comments guys.  In my case, I wanted something in place to put hard limits on our development servers so that they will never affect production machines.  I could get by without any resource pools as of now, but as our environment fills up I wanted to put some sort of restriction in place for resouces.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.