sylekta
Contributor
Contributor

DRS Question

Jump to solution

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

0 Kudos
1 Solution

Accepted Solutions
bulletprooffool
Champion
Champion

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

0 Kudos
10 Replies
a_p_
Leadership
Leadership

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é

0 Kudos
idle-jam
Immortal
Immortal

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.

0 Kudos
sylekta
Contributor
Contributor

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?

0 Kudos
a_p_
Leadership
Leadership

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

André

0 Kudos
sylekta
Contributor
Contributor

So there is no way to utilise idle resources?

0 Kudos
a_p_
Leadership
Leadership

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é

0 Kudos
sylekta
Contributor
Contributor

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?

0 Kudos
a_p_
Leadership
Leadership
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

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

0 Kudos
chriswahl
Virtuoso
Virtuoso

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
0 Kudos