We are migrating a server onto proxmox with new hardware, one of the pieces of software we run is tied to a cpu via its family, model and stepping. The company are no longer trading so getting a new licence is not an option. It's tied to GenuineIntel, CPU Family 6 and Stepping 7 (Ivy Bridge) and the MAC address. The MAC address is not an issue, but the closest CPU match is SandyBridge - the family is right but the stepping information is wrong. The new hardware is Haswell based so I can't use HOST. I was hoping therefore to emulate the processor through editing a config or something similar. Is this even possible or would it involve recompiling Qemu?
If you want the best performance of processors for your VMs and want that "HA" and "Live Migration" work well, you can configure manually for each VM the common features of both processors of both PVE nodes.
This is a method of much work, but will gain the best performance for your VMs.
The first rule is know what features (also know as flags) of processors are common in both PVE nodes. For know this, you can find it of two manners:
1- See the documentation of your processors
2- For me the best method: Install a linux VM with "Host" as processor, and after into this VM run the command: "cat /proc/cpuinfo". Do the same with the other PVE node.
Now that you have the information of the flags of your processors, in each VM you can enable or disable the flags that you want, and if the flags of the processors are common of both PVE nodes, "HA" and "live migration" will work fine.
Once you've added or removed the flags of processor, you should power off the VM for that the new changes have effect in the next start
For add or remove the flags of processor, you should edit the file of configuration of your VM manually by CLI:
shell> nano /etc/pve//qemu-server/<VM-ID>.conf
and add or remove the flags of processor as is necessary. Here a example in cpu of type Host and remove the flags that are not common in both PVE nodes (only is a example, but you must be sure of what are doing):
args: -cpu host,-ssse3,-sse4.1,-sse4.2
Best regards
Cesar