Hi Wido,

I think it is not good to run an environment with two ubuntu/qemu versions.
It always happens that some cpu features are supported in the higher
version but not supported in the older version.
>From my experience, the migration from older version to higher version
works like a charm, but there were many issues in migration from higher
version to older version.

I do not have a solution for you. I have tried to hack
/etc/libvirt/hooks/qemu but it didn't work.
Have you tried with other cpu models like x86_Opteron_G5 ? you can find the
cpu features of each cpu model in /usr/share/libvirt/cpu_map/

Anyway, even if the vm migration succeeds, you do not know if vm works
fine. I believe the best solution is upgrading all hosts to the same OS
version.

-Wei

On Tue, 23 Nov 2021 at 16:31, Wido den Hollander <w...@widodh.nl> wrote:

> Hi,
>
> I'm trying to debug an issue with live migrations between Ubuntu 18.04
> and 20.04 machines each with different CPUs:
>
> - Ubuntu 18.04 with AMD Epyc 7552 (Rome)
> - Ubuntu 20.04 with AMD Epyc 7662 (Milan)
>
> We are currently using this setting:
>
> guest.cpu.mode=custom
> guest.cpu.model=EPYC
>
> This does not allow for live migrations:
>
> Ubuntu 20.04 with Epyc 7662 to Ubuntu 18.04 with Epyc 7552 fails
>
> "ExecutionException : org.libvirt.LibvirtException: unsupported
> configuration: unknown CPU feature: npt"
>
> So we tried to define a set of features manually:
>
> guest.cpu.features=3dnowprefetch abm adx aes apic arat avx avx2 bmi1
> bmi2 clflush clflushopt cmov cr8legacy cx16 cx8 de f16c fma fpu fsgsbase
> fxsr fxsr_opt lahf_lm lm mca mce misalignsse mmx mmxext monitor movbe
> msr mtrr nx osvw pae pat pclmuldq pdpe1gb pge pni popcnt pse pse36
> rdrand rdseed rdtscp sep sha-ni smap smep sse sse2 sse4.1 sse4.2 sse4a
> ssse3 svm syscall tsc vme xgetbv1 xsave xsavec xsaveopt -npt -x2apic
> -hypervisor -topoext -nrip-save
>
> This results in this going into the XML:
>
> <feature policy='disable' name='npt'/>
>
> You would say that works, but then the target host (18.04 with the 7552)
> says it doesn't support the feature 'npt' and the migration still fails.
>
> Now we could ofcourse use the kvm64 CPU from Qemu, but that's lacking so
> many features that for example TLS offloading isn't available.
>
> I also tried to set 'EPYC-Rome' on the Ubuntu 20.04 hypervisor, but it
> then complains on the Ubuntu 18.04 hypervisor that the CPU 'EPYC-Rome'
> is unknown as the 18.04 hypervisor doesn't have that profile.
>
> Any ideas on how to get this working?
>
> Wido
>

Reply via email to