VMware Cloud Community
RogerAli
Contributor
Contributor
Jump to solution

Resource Pools Clarification

Hey all,

Our ESX environment consists of two of the following servers:

Dell 2950s

Dual CPU (Dual Core CPUs -> 4 logical CPUs in ESX)

16GB Memory

2x Onboard Gbit NIC (2x used for VMNetwork)

2x PCI Gbit NIC (1x Console, 1x VMotion)

1 Emulex HBA -> SAN Storage (Clarion CX600)

We've got both servers in our ESX Farm and we've created a Cluster with HA and DRS. We've got about 12-16 VMs (all good candidates per Capacity Planner) running on our Farm. I've configured 3 Resource Pools (Low, Medium, High) with the following configuration:

Low Resource Pool[/b]

CPU:Share Normal (4000), Reservation 0, Type-Expandable, Limit-1096

Memory-Share Normal (163840), Reservation 0, Type-Expandable, Limit-2096

Medium Resource Pool[/b]

CPU:Share Normal (4000), Reservation 0, Type-Expandable, Limit-2640

Memory-Share Normal (163840), Reservation 0, Type-Expandable, Limit-2096

High Resource Pool[/b]

CPU:Share Normal (4000), Reservation 0, Type-Expandable, Limit-3096

Memory-Share Normal (163840), Reservation 0, Type-Expandable, Limit-4096

Most machines (Single CPU @ 2.6Ghz and 1GB or 2GB of memory) are in the Medium Pool. I've read the ESX Resource Management guide, but I'm still a bit confused on Resource Pools and Shares. My understanding of the limits set on my Resource Pools as a means to restricts each VM to a maximum of 2.6 and a maximum of 2GB of memory.

My question, are these limit restrictions set at the Resource Pool level a restriction on on all the VMs in that pool (so all VMs in the Medium Pool share 2.6Ghz and 2GB of memory) or a per VM restriction (so each VM in the Medium Pool can have a limit of 2.6Ghz and 2GB of memory)?

Also, would it make sense to use a Reservation and shares? Shares seem to make sense when its explained, but then I get the same feeling when I read about limits, so I'm not sure which to use or if I should be using both. I only ask these questions since with only 12 VMs, we are getting complaints on poor response times from some web server boxes (high ping times, slow responses on page, etc.).

Thanks,

Roger

Reply
0 Kudos
1 Solution

Accepted Solutions
wobbly1
Expert
Expert
Jump to solution

your shares are dividing the parent levels resource out between the resource pools so with each of the pools having equal quantities they are each going to get 33% of the parent resources.

The limit you have placed is the upper limit for the whole resource pool and not the VMs within it and the expandable reservation you have set has no affect on this limit.

If you want to limit the VMs you need to set these individually on the VM

View solution in original post

Reply
0 Kudos
4 Replies
esiebert7625
Immortal
Immortal
Jump to solution

Reservations can be set at the resource pool level and VM level. Reservations are good to use because they guarantee resources for servers that need them most. It's also good to use smaller reservations on all individual VM's because it cuts down on the size of the vswp file that is created on your disk when the VM is powered on. I prefer using reservations to shares but it depends on the situation. Reservation are fixed concrete settings of resources. Shares can vary based on load.

wobbly1
Expert
Expert
Jump to solution

your shares are dividing the parent levels resource out between the resource pools so with each of the pools having equal quantities they are each going to get 33% of the parent resources.

The limit you have placed is the upper limit for the whole resource pool and not the VMs within it and the expandable reservation you have set has no affect on this limit.

If you want to limit the VMs you need to set these individually on the VM

Reply
0 Kudos
RogerAli
Contributor
Contributor
Jump to solution

Wobbly1,

Please clarify for which of the following 2 scenarios my Resource Pool limit imposes on my VMs in the Cluster:

1. Medium Pool (Limit: 2.6Ghz, 2GB) -> VM1, VM2, VM3

Each VM in this pool can go up to 2.6Ghz, 2GB of memory.

-VM1 CPU <= 2.6Ghz

-VM1 RAM <= 2GB

-VM2 CPU <= 2.6Ghz

-VM2 RAM <= 2GB

-VM3 CPU <= 2.6Ghz

-VM3 RAM <= 2GB

-OR-

2. Medium Pool(Limit: 2.6Ghz, 2GB) -> VM1, VM2, VM3

-VM1 CPU + VM2 CPU + VM3 CPU <= 2.6Ghz

-VM1 RAM + VM2 RAM + VM3 RAM <= 2GB

Regarding your comment on setting the limits on the VM's individuall, I thought this is not recommended (our VM instructor suggested leaving this by default and using the Resource Pools to control reservations, shares, and limits). Did he instruct us wrong.

Roger

Roger

Reply
0 Kudos
EnsignA
Hot Shot
Hot Shot
Jump to solution

I believe your second scenario is the correct one. Be careful about starving systems by placing limits on everything. In my opinion, Creating recourse pools should be used for two things...guaranteeing resources and limiting resources. Most of the time, you want to guarantee resources and let the majority of the guests use what is left. We have experimented with using reource pools to limit guests, but the problem starts when you limit a dev system, the developer gets a bad taste in their mouth because his system is slow, and they balk at VMware for production. If you can walk the line with this, then limiting is good. I tend to think that you guarantee resources to a set of systems that are high visibility and let the rest dig.