vmSpecDaniel
Enthusiast
Enthusiast

Trouble understanding HA Cluster

Hi,

can someone please explain me why my vm in HA cluster is not powering on?

I have 2 hosts in HA cluster:

esx1.company.pri

CPU 2x 3395MHz

RAM 4095MB (1287 used for esxi)

esx3.company.pri

CPU 2x 3395MHz

RAM 4095MB (1287 used for esxi)

TestCluster is configured as follows:

Host failures the cluster tolerates = 1

Enable: Disallow vm power on operations that violate availability constraints

No DRS

I have 3 vm's:

Ubuntu01        1800MB RAM, 1200MB Reservation, no CPU Reservation

Centos7-01     512MB RAM, 300MB Reservation, no CPU Reservation

Centos7-02     512MB RAM, 300MB Reservation, no CPU Reservation

I'm using vCenter 5.5 and esxi 5.5

Whenever I'm starting Ubuntu01 I'm getting error: "Insufficient resources to satisfy configured failover for vSphere HA".

When I change Ubuntu01 reservation for RAM from 1200MB to 1000MB than I can start Ubuntu01 but after that I can't start Centos7-01.

Can anyone please explain me why this doesn't work?

Reply
0 Kudos
a_p_
Leadership
Leadership

With "Host failures the cluster tolerates, HA calculates "Slots" which are used for Admission Control. With a 1800 MB reservation and one failover host you will have only a single slot available for virtual machines, provided there's sufficient free physical memory.

What does the "Advanced Runtime Info" from the HA pane show, and where did you install vCenter Server (as a VM or on a separate host)?

Unless you already saw this, I highly recommend reading http://www.yellow-bricks.com/vmware-high-availability-deepdiv/

André

PS: Discussion moved from 8. Migration Hot & Cold – HA to Availability: HA & FT

Reply
0 Kudos
vNEX
Expert
Expert

Hello Daniel,

regarding your info its lab environment or production? for test/lab cluster there is no reason for Admission Control to be enabled.

Also be careful with reservations and used them only in extreme cases otherwise they can be counterproductive...

Regards,

P.

_________________________________________________________________________________________ If you found this or any other answer helpful, please consider to award points. (use Correct or Helpful buttons) Regards, P.
Reply
0 Kudos
vmSpecDaniel
Enthusiast
Enthusiast

This is test cluster. I'm turning admission control to test it.

Reply
0 Kudos
vmSpecDaniel
Enthusiast
Enthusiast

vCenter is installed on a separate host.

Advanced Runtime Info:

Capture.JPG

I don't understand why there is only one slot per host (2 for cluster). Slot size is 32MHz and 1032MB and each host has 2,5GB free memory so there should be 2 slots per host.

Reply
0 Kudos
a_p_
Leadership
Leadership

A two host HA cluster with the default Admission Control settings, and only 4GB memory is not a real good environment for testing. Anyway, a host in a HA cluster requires a minimum of approximately 2.4GB memory, which may explain why there's only a single 1,032GB slot available per host.

André

View solution in original post

Reply
0 Kudos
vNEX
Expert
Expert

That's absolutely correct because slot size for memory is dictated by the highest reservation for powered on VM (+ mem overhead).

In your case it is 1000MB (because of Ubuntu01 reservation + 32MB overhead) = 1032MB slot size

Next you have to check vmkernel overhead you can verify it via ESXTOP below or through perf charts metrics ("Used by VMkernel " and "Overhead")

Image 18.png

In your case there is no more resources left for the next slot which is 1032MB no matter if the VM you are trying to power on has only 512MB RAM granted ...

If you want to avoid this hard limit you can override it by HA advanced attribute "das.slotmeminmb" with less value than your maximum VM reservation.

_________________________________________________________________________________________

If you found this or any other answer helpful, please consider to award points. (use Correct or Helpful buttons)

Regards,

P.

_________________________________________________________________________________________ If you found this or any other answer helpful, please consider to award points. (use Correct or Helpful buttons) Regards, P.
vmSpecDaniel
Enthusiast
Enthusiast

This seems to help. I added 2GB to both of my esxi hosts (now 6GB each) and now, when I set Ubuntu01 reservation to to 1000MB I have 3 lots on each host.

a.p. can you post any reference material that would state that host in a HA cluster requires a minimum of 2.4GB memory.

Reply
0 Kudos
vmSpecDaniel
Enthusiast
Enthusiast

vNEX,

I went back and set my esxi hosts to 4GB ram each. As you can see vmk memory overhead is 1113MB and memory reservation for Ubuntu01 is 1032MB.

Capture.JPG

That gives me 2145MB used ram and I have 4096 on host. This should allow me to have two slots per host and I'm getting just one.

Reply
0 Kudos
a_p_
Leadership
Leadership

In older documentations VMware mentioned a minimum of 2GB for ESXi hosts and 3 GB in case they are managed through vCenter Server. I assume this has been removed in the current documentation, because the minimum requirement for ESXi 5.x is 4GB anyway.

André

Reply
0 Kudos