VMware Cloud Community
MLubinski201110
Enthusiast
Enthusiast
Jump to solution

Resources

Please tell me if my line of thinking is off.

Is it possible to add two VM's to a resource pool (all of the server's resources are in this one pool) and have them dynamically use the resources in the pool.

This gets confusing for me because you have to allocate ## of resources to each VM when you create them. On the VM's resouces tab you can specify limits and reservations.

Are these limits and reservations from the resources that I assigned the VM or resources of the pool that the VM is in?

My end goal is to have each server use as many resources it needs during different workload periods. Please let me know if this is clear or not, it seems kind of foggy to me.

Reply
0 Kudos
1 Solution

Accepted Solutions
Techstarts
Expert
Expert
Jump to solution

It is the default behaviour of ESX architecture.

Create resource pool, leave every thing default. Entire resources will be shared among the VM's

With Great Regards,

View solution in original post

Reply
0 Kudos
9 Replies
Techstarts
Expert
Expert
Jump to solution

For VM's to dynamically use resources use shares. Give each VM high/low/medium shares based on its requirement.

MLubinski wrote:

Please tell me if my line of thinking is off.

Is it possible to add two VM's to a resource pool (all of the server's resources are in this one pool) and have them dynamically use the resources in the pool.


Yes it is possible. Assign each VM shares based on its requirement e.g. VM1 assign high shares, VM2 Low and VM3 medium. So VM1 will always gets more shares, but this will happen only if there is contention among the VM's in that resource pool

MLubinski wrote:


Are these limits and reservations from the resources that I assigned the VM or resources of the pool that the VM is in?

My end goal is to have each server use as many resources it needs during different workload periods. Please let me know if this is clear or not, it seems kind of foggy to me.

These are pools created out of resources of your Server. e.g. if you have 10,000 GHZ CPU and 32 GB RAM server. Resource pool will have more or less same size, this is pooled from server

With Great Regards,
MLubinski201110
Enthusiast
Enthusiast
Jump to solution

In a pool, since they dynamically allocate based on shares %, what effect does the static allocations I have put in during the VM creation?

Reply
0 Kudos
Techstarts
Expert
Expert
Jump to solution

That is maximum any VM will get. e.g. if you configure 4 GB RAM and 2 GHZ Server. This is maximum it will get. But most of the time server do not use all the resource allocated to them. So in this case shares comes into play

With Great Regards,
MLubinski201110
Enthusiast
Enthusiast
Jump to solution

Even though they are in a resource pool the VM will only use (up to a Max) of the resources specified in the VM itself.

Is there a way to tell theVM's (I have 48gigs memory available) you can use all 48 but you must share it if your not using it?

This is just an example as my hosts can only use up to 32gigs per. It sort of seems there should not be an option to specify resources on the VM itself when the VM resides in a pool to truely dynamically use the resources it needs.

Reply
0 Kudos
Techstarts
Expert
Expert
Jump to solution

It is the default behaviour of ESX architecture.

Create resource pool, leave every thing default. Entire resources will be shared among the VM's

With Great Regards,
Reply
0 Kudos
MLubinski201110
Enthusiast
Enthusiast
Jump to solution

Thanks for all of your help, quickly I must say also.

Reply
0 Kudos
MLubinski201110
Enthusiast
Enthusiast
Jump to solution

I apologize for my confusion and newness but to clarify my understanding please let me know if this is correct.

The hypervisor host has a total of 48 gigs of memory.

VM1 is set with 24gigs of memory.

VM2 is set with 12 gigs of memory

this leaves about 12 gigs of memory free (leaving overhead out in this example)

The VM pool is set with all maximum available resources (48 gigs) and both VM's are added to the pool.

If VM2 needs more than 12 gigs it will grab from the pool even though its only allocated 12 in the VM settings?

This situation above seems to make the pool not make sense in my head. Unless you overallocate each vm inside the pool with say 24gigs each. (which I dont think you can do, not sure though)

Reply
0 Kudos
Techstarts
Expert
Expert
Jump to solution

MLubinski wrote:

I apologize for my confusion and newness but to clarify my understanding please let me know if this is correct.

The hypervisor host has a total of 48 gigs of memory.

VM1 is set with 24gigs of memory.

VM2 is set with 12 gigs of memory

this leaves about 12 gigs of memory free (leaving overhead out in this example)

The VM pool is set with all maximum available resources (48 gigs) and both VM's are added to the pool.

If VM2 needs more than 12 gigs it will grab from the pool even though its only allocated 12 in the VM settings?

This situation above seems to make the pool not make sense in my head. Unless you overallocate each vm inside the pool with say 24gigs each. (which I dont think you can do, not sure though)

Remember memory configured for the vm is the maximum memory it can get. So if your VM needs more than 12 GB you must configure it to the size you expect it to consume. And bottom line is -every thing is shared in virtual infrastructure.

With Great Regards,
Reply
0 Kudos
shishir08
Hot Shot
Hot Shot
Jump to solution

One resource pool on the host hardly makes any sense.Resources are divided at the Resource Pool level first. Each Resource Pool is like a pie whose size determines amount of resources usable (during contention). Then that pie is subdivided among the VMs in the pool. A Resource Pool applies to all its VMs collectively. Thus a smaller pie divided among fewer VMs can yield more resources per VM than a larger pie divided by even more VMs.

Taking your example:-

Host config: - 10000 CPU cycles and 48GB memory.

First Resource pool name - Test1

          Config:-5000 CPU cycles and 25GB memory and 4VM powered on.

          Per VM cpu cycles =  5000/4 = 1000 cpu cycles.

Second Resource pool name -  Test2

          Config:- 5000 CPU cycles and 23 GB memory and 10 VM powered on.

          Per VM cpu cycles = 5000/10 = 500 cpu cycles

So now you can see it very clearly how the resources are been divided among the VMs.I have taken the example where all the VMs are having normal share but if the VMs are having different shares(like high,normal,low) then in that case the resorces will be divided accordingly inside the resource pool.

HTH

Reply
0 Kudos