VM RAM & CPU allocation for health check on DR host
-
At each client site we run two hosts on premise.
- Production
- DR
The DR host usually has fewer resources than the production host.
I am trying to comprehend how best to allocate resources (RAM & CPU) to a VM to ensure it gets the maximum benefit from the production host whilst ensuring it can perform a health check on the DR host.
For example:
- Production host = 128GB & 32 CPUs
- DR host = 32GB & 8 CPUs
I can set my VM to run with 24GB RAM however if I allocate it only 8 vCPUs then it runs slow on production. If I allocate it more then 8 vCPUs then it fails the health check with "No Hosts Available"
I am not fully understanding the concept of CPU Limits
-
I don't see an "out of the box" solution. Maybe we could try to modify health check to adapt on destination host automatically
-
@McHenry Is DR a 4 core+4 HT? or 8 core (no HT)?
If you have HT disabled in DR you could enable it (but that only gives you 16). If you truly only have a 4 core CPU then how well will the application work on a 4 core CPU vs 32 core system?
Looks like you need a better DR machine, or will the application never run on the DR site and it's just for checking that a backup starts? In that case a XO mod would be helpful to change the settings for a health check.
-
We are looking to migrate from Datto backups to xcp-ng/XO
The standard Datto DR device we use for clients is:
https://continuity.datto.com/help/Content/kb/siris-alto-nas/208645136.html#S4B34 cores with 8 threads so HT must be enabled already
https://www.intel.com/content/www/us/en/products/sku/136429/intel-xeon-d2123it-processor-8-25m-cache-2-20-ghz/specifications.htmlThe Datto system also does a type health check (screenshot verification). I am not sure how they do it as the VMs never fail to boot regardless of VM resources.
https://continuity.datto.com/help/Content/kb/siris-alto-nas/KB205330860.htmlThe lower spec'd DR machine is not perfect however it has served it's purposes to date, being:
- Automatic backup verification (health check / screenshot verification)
- DR hardware in the event of a production server failure
The second scenario is not very likely, from my experience, however if the VMs had to be virtualised on the DR host then they would work, all be it slower.
What I am still not understanding is this concept of "CPU Limits"... if a host has 32 CPUs and a VM is allocated 8 then why in the advanced tab can I then allocate the VM only a fraction of those 8? Such as "4/8". What is the difference between setting the VM vCPUs on the General tab vs the CPU Limits section on the Advanced tab?
-
@McHenry Look at this post: VM limits - CPU Limits