VMware Horizon Community
BBittner
Enthusiast
Enthusiast

Linked Clones resource reservation

Hello everybody,

We are using Horizon 7.4, ESXi 6.5 U2 and NVIDIA vGPU.

There are multiple Master-VMs configured (2x 8GB RAM, 1x 16GB RAM).

For some reasons they are just get deployed by Horizon when I use a fixed reservation for the memory-settings.

In general this would be fine, because we calculated and installed the required physical-memory (plus some additional) according the amount of users assigned to the hardware/pool.

So there should not be a problem with memory.

But unfortunately I can't run all of my planned VD-VMs because the infrastructure tells me, I'm not having enough Memory - but the ESXi-Host tells something differnt.

One reason is, the parent VMs are fully calculated into the resourcepool, so in my case 32GB of RAM is reserved but not really used (ergo wasted).

Second reason: The resourcepool has a maximum capacity which is quite a bit lower than the physical memory - in my case ~14GB/~7,5%.

So I'm a bit confused, did I configure something wrong? or must I always have a lot of additional Memory for nothing?

Please enlighten me...

BR

Ben

0 Kudos
3 Replies
BenFB
Virtuoso
Virtuoso

It sounds like your resource pools are not configured correctly. In general I try to avoid using resource pools but if you must make sure they are configured correctly. Any time you add/remove a host or change it's physical configuration the resource pool needs to be adjusted.

0 Kudos
TechMassey
Hot Shot
Hot Shot

It sounds like your trying to work around the fact the memory reservation is in place for the parent VMs. Which, for vGPU is recommended by Nvidia.

Here are a couple ways I would tackle this and additional background info.

1. Resource Pools - Your Parent VMs do not need to be in a resource pool for Horizon View to add linked clones to the pool. When creating a VDI Pool, you can choose a specific resource pool you created in the vSphere cluster. Following this strategy, if you create resource pool X and give it a 32GB max mem. Horizon will keep deploying until it hits that maximum.

This would work and if your VM count is relativly static would be a long term solution. However, I don't recommend using resource pools because it is far to easy to starve your VMs which impact users.

2. Cluster: DRS and High Availability. This is really the easiest way to meet your needs at a global scale without needing to do a bunch of calculations. Essentially, you rely on HA to reserve resources via admission control. Example scenario is 4 hosts, with 25% reserved. Meaning that HA will stop any VM from powering on if available resources drops below 25%. Leverage DRS to ensure no single host is overloaded. You may need to change the DRS priority depending on balance.

I would go #2 but both options are viable.


Please help out! If you find this post helpful and/or the correct answer. Mark it! It helps recgonize contributions to the VMTN community and well me too 🙂
BBittner
Enthusiast
Enthusiast

Thanks to BenFB and TechMassey for your reply.

I also think it is the default configured Resource Pool which makes me trouble with the memory-blockade.

(Sorry I forgot to mention that I already thought about that.)

The Problem with this is, I can't find a way to add or edit the Resource Pools.

At the moment I have a Cluster configured with just 1 Host in it ( with more to come).

When I try to add/edit a Resource Pool, the button in the WebClient is disabled.

(Maybe I do it in the wrong place: right-click on the Cluster - sorry new to VMware Clusters)

Edit: Could it be that I have to enable DRS? What consequences are there when I active it? Do I need a maintenance windows?

Question about the reservation with vGPU:

is it a recommendation or a requirement?

I've tried to publish a image without a fixed reservation which failed.

Running the master-VM without reservation is fine, no problems with that.

Another solution to my problem would be, if there is a way to disable the reservation.

Any hints about that?

BR

Ben

0 Kudos