VMware Cloud Community
sylekta
Contributor
Contributor
Jump to solution

DRS Question

Hi all,

I have been working with vsphere for a while, and am starting to use some of the more advanced features to get the most of our hardware. I am trying to setup DRS pools so my virtual machines utilise idle resources,

for example

I have 2 servers, quad core xeon and 22gig of ram in each

They are in an HA/DRS cluster, one drs pool has been created

I have 4 virtual machines, each configured for 1 vcpu and 4gig of ram, drs is set to fully automated so it puts 2 on each server

Currently the virtual machines just sit at the 4gig of ram they have allocated, so there is 10gig or so of free ram on each server, how do i configure my pool so the free ram can be used by the vm's if needed but if there is a host failure and the vm's on the failed server failover they take the ram that was idle?

cheers

Garth

Reply
0 Kudos
1 Solution

Accepted Solutions
bulletprooffool
Champion
Champion
Jump to solution

Hi,

In your scenario, 1 ESX host is probably more than enough to handle the load of all your VMs, so DRS (even when set as aggressively as possible) is not going to need to vMotion your VMs.

Let's for argument's sake say that you did put all 4 x 4GB VMs on 1 ESX host - if they are all running at 80% Memory (unusual, but feasible), you're still using only 12ish GB of memory - DRS sees 22GB per ESX host, and sees no need to migrate VMs.

resource pools are only there for instances where your ESX host is constrained to help decide which VMs to reduce resource on, in order to feed other VMs.

One day I will virtualise myself . . .

View solution in original post

Reply
0 Kudos
10 Replies
a_p_
Leadership
Leadership
Jump to solution

Welcome to the Community,

the answer to your question is simple. "Don't configure anything!" Unless you set any reservations or limits, ESXi will take care of the memory for the VMs (assuming VMware Tools are installed).

André

Reply
0 Kudos
idle-jam
Immortal
Immortal
Jump to solution

agreed with the above, only set if you know what you're doing as it will backfire. most of the time default setting is good enough.

Reply
0 Kudos
sylekta
Contributor
Contributor
Jump to solution

Hi thanks for the reply,

So with a DRS enabled cluster, i dont bother created a drs pool?

if the vm is created with 4gig of ram, no reservation set on the resources tab it has the ability to go over 4gig of ram if it needs to and there is ram free on the server?

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

Not exactly, a VM will not use more than the assigned RAM.

André

Reply
0 Kudos
sylekta
Contributor
Contributor
Jump to solution

So there is no way to utilise idle resources?

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

If you assign 4GB to a VM it will not use more than this amount of RAM .If you have guest operating systems which can handle more than 4 GB RAM you may assing more RAM to them.

André

Reply
0 Kudos
sylekta
Contributor
Contributor
Jump to solution

My problem is if i assign more RAM its make the slot size larger so i would potentially have to turn off admission control,

if in my earlier example

2 servers with 22gig of ram

if i give the 4 virtual machines 8gig of ram each

each server hosts 2 vm's using 16gig

but if a host fails, the single host doesnt have 32gig of ram to support 8gig each

can it handle oversubscribing? and limit each vm to 4?

Reply
0 Kudos
a_p_
Leadership
Leadership
Jump to solution

My problem is if i assign more RAM its make the slot size larger ...

The slot size will only increase if you set a Memory reservation!

but if a host fails, the single host doesnt have 32gig of ram to support 8gig each

First question: Do the VM's need/use the whole RAM they have assigned?

ESX uses different techniques to save memory, Transparent Page Sharing, Memory Compression, Balloning (with VMware Tools installed). Unless the VM's (guest OS's) behave unusual you should not have any issues with RAM overcommitment. Just give it a try to see how things work.

André

bulletprooffool
Champion
Champion
Jump to solution

Hi,

In your scenario, 1 ESX host is probably more than enough to handle the load of all your VMs, so DRS (even when set as aggressively as possible) is not going to need to vMotion your VMs.

Let's for argument's sake say that you did put all 4 x 4GB VMs on 1 ESX host - if they are all running at 80% Memory (unusual, but feasible), you're still using only 12ish GB of memory - DRS sees 22GB per ESX host, and sees no need to migrate VMs.

resource pools are only there for instances where your ESX host is constrained to help decide which VMs to reduce resource on, in order to feed other VMs.

One day I will virtualise myself . . .
Reply
0 Kudos
chriswahl
Virtuoso
Virtuoso
Jump to solution

I'd add that resource pools are also a good way to commit a reservation of memory to a group of critical VMs. I often assign a RP to my vCenter (and related) servers to ensure they are also fed the memory they need to operate.

VCDX #104 (DCV, NV) ஃ WahlNetwork.com ஃ @ChrisWahl ஃ Author, Networking for VMware Administrators
Reply
0 Kudos