Your CPU

Kosh

Active Member
Dec 24, 2019
79
5
28
44
Hi

I need a live migration with the processor type-host
I'm trying to create my own processor according to this instruction
https://pve.proxmox.com/pve-docs/cpu-models.conf.5.html
I compared the output from two cpu servers left only common flags, but this does not help the vm either crashes or freezes during migration
What else can I try?

my config
Code:
cpu-model:cpu-host-live-migration
    flags +fpu;+vme;+de;+pse;+tsc;+msr;+pae;+mce;+cx8;+apic;+sep;+mtrr;+pge;+mca;+cmov;+pat;+pse36;+clflush;+mmx;+fxsr;+sse;+sse2;+ss;+ht;+syscall;+nx;+pdpe1gb;+rdtscp;+lm;+constant_tsc;+ar
ch_perfmon;+rep_good;+nopl;+xtopology;+cpuid;+tsc_known_freq;+pni;+pclmulqdq;+vmx;+ssse3;+fma;+cx16;+pdcm;+pcid;+sse4_1;+sse4_2;+x2apic;+movbe;+popcnt;+tsc_deadline_timer;+aes;+xsave;+avx;+
f16c;+rdrand;+hypervisor;+lahf_lm;+abm;+3dnowprefetch;+cpuid_fault;+invpcid_single;+ibrs;+ibpb;+stibp;+tpr_shadow;+vnmi;+;flexpriority;+ept;+vpid;+ept_ad;+fsgsbase;+tsc_adjust;+bmi1;+avx2;+
smep;+bmi2;+erms;+invpcid;+rdseed;+adx;+smap;+clflushopt;+xsaveopt;+xsavec;+xgetbv1;+xsaves;+arat;+umip;+arch_capabilities;
    phys-bits host
    hidden 0
    hv-vendor-id proxmox
    reported-model host
 
Last edited:
Hello,

1. You could try removing a few flags or use a different CPU type and try again.
2. You could change the cpu type to qemu/kvm (should work everywhere) and change it back to host after the migration.

https://qemu-project.gitlab.io/qemu/system/qemu-cpu-models.html
kvm/qemu does not suit me, I need a host with direct access to the cpu, but unfortunately the migration breaks down
I was hoping that by specifying only the same flags for the custom cpu I would be able to set up the migration
any thoughts on what flags can be removed/added?
 
I think you should change the phys-bits to a value less than or equal to the smaller value of the physical memory address bits on both hosts.

Code:
grep physical /proc/cpuinfo

Code:
phys-bits=<8-64|host>
The physical memory address bits that are reported to the guest OS. Should be smaller or equal to the host’s. Set to host to use value from host CPU, but note that doing so will break live migration to CPUs with other
https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines
 
Last edited:
Yes, but I could not find "umip" and "arch_capabilities" in your lscpu output for example. I think you have set a few flags to much.
 
Have you tried with the predefined Skylake-client CPU type? It should contain the common features/flags to both of your CPUs.
Does the live migration fails in both directions i6500 <-> 12400?
 
Have you tried with the predefined Skylake-client CPU type? It should contain the common features/flags to both of your CPUs.
Does the live migration fails in both directions i6500 <-> 12400?
only "Skylake-Client-noTSX-IBRS" works
and only from 6500->12400
12400->6500 vm stops responding
 
I don't have any of those CPUs to test it by myself. Given that the easy way of using the oldest of your CPUs as the model does not work for some reason, try with older models. In fact, I would start with QEMU CPUs and keep testing onwards.

Keep in mind that there seems not to be a 1:1 relation of the flag names exposed by /proc/cpuinfo and those used by QEMU. Also, when I did this to allow VMs to migrate among different generation EPYC cpus I had to reboot the host a few times, as something seemed to happend to it due to testing these flags and eventually no VM would work properly.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!