Hello Steve,
For CloudStack, it does not matter if you have hosts with different
processors; however, this is a recommendation regarding how
virtualization systems work; therefore, this discussion happens aside
from CloudStack.
When we are dealing with different processors, we are dealing with
different flags, instructions, clocks, and so on. For processors of the
same family, but of different generations, we can level the instructions
to the lowest common denominator (limit the instructions to the older
generation); however, it starts to get tricky when we are dealing with
different families. For instance, if you deploy a guest VM in a host
with Xeon Silver and try to migrate it to a Xeon Gold, the OS of your
guest, which already knows the Xeon Silver instructions, might not adapt
to the instructions of the new host (Xeon Gold). Therefore, in these
cases, you will face problems in the guest VM.
If you are aware of the differences between the processors and that
mixing different types can cause problems, then you can create a cluster
mixing them; however, it is not recommended.
For KVM, the parameter is defined in ACS; on the other hand, for
XenServer and VMware this kind of setup is done in the cluster in
XenServer or vCenter.
It is also important to bear in mind that, even though you level the
instruction sets between the different processors in the host operating
system, you might still suffer some issues due to clock differences when
you migrate a VM from a faster CPU to a slower CPU and vice versa.
Best regards,
Daniel Salvador (gutoveronezi)
On 09/04/2024 18:58, Wei ZHOU wrote:
Hi,
You can use a custom cpu model which is supported by both cpu processors.
Please refer to
https://docs.cloudstack.apache.org/en/latest/installguide/hypervisor/kvm.html#configure-cpu-model-for-kvm-guest-optional
-Wei
On Tuesday, April 9, 2024, S.Fuller <[email protected]> wrote:
The Cloudstack Install Guide has the following statement - "All hosts
within a cluster must be homogenous. The CPUs must be of the same type,
count, and feature flags"
Obviously this means we can't mix Intel and AMD CPUs within the same
cluster. However, for a cluster with Intel CPUs, how much if any leeway is
there within this statement? If I have two 20 Core Xeon Silver 4316 CPUs
on one host and two 20 Core Xeon Silver 4416 CPUs in another, is that close
enough? I'm looking to add capacity to an existing cluster, and am trying
to figure out how "picky" Cloudstack is about this.
Steve Fuller
[email protected]