Proxmox VE 9.2 Custom CPU Model for Cross-CPU Migration
Find your cluster's newest common CPU level and set a migratable CPU model in Proxmox VE 9.2, so VMs live-migrate between nodes with different processors.
DistrosProxmox VE 9.2
Shell
bashUpdated
Script
# Proxmox VE 9.2 custom CPU model for cross-CPU live migration.
# Full walkthrough: /articles/proxmox-92-custom-cpu-models
# The model is built in the GUI (Datacenter > Custom CPU Models); the shell
# commands below only INSPECT, so they are safe to run read-only on each node.
# --- Find each node's newest supported x86-64 level (run on EVERY node) ---
# VERIFIED read-only command:
/lib64/ld-linux-x86-64.so.2 --help | grep 'x86-64-v'
# e.g. -> x86-64-v2 (supported, searched)
# x86-64-v3 (supported, searched) (no v4 line = v4 unsupported here)
# Raw CPU flags + model, for corroboration:
grep -m1 'model name' /proc/cpuinfo
grep -m1 flags /proc/cpuinfo
# --- Choose + apply (GUI: Datacenter > Custom CPU Models) ---
# 1. Pick the HIGHEST x86-64 level that EVERY node reports 'supported'.
# 2. Either set the VM CPU type to that baseline (e.g. x86-64-v3), OR build a
# custom model: Datacenter > Custom CPU Models > Add. The 9.2 dialog has a
# flag grid with search, a kvm/tcg accelerator selector, and a per-node
# multi-select showing which flags every chosen node supports.
# 3. Reference a custom model from the VM as CPU type custom-<name>.
# --- Prove it (read-only status; migration itself is a GUI/CLI action) ---
qm config <vmid> | grep -i '^cpu' # confirm the VM's CPU type
# then live-migrate the VM between two unlike nodes and confirm it stays up.
What this does
This finds your Proxmox cluster’s newest common CPU capability and sets a VM CPU model that can live-migrate across nodes with different processors — instead of the host type, which pins a VM to identical hardware and makes QEMU stop mid-migration when a CPU flag is missing on the target.
Full reasoning (the host vs kvm64 vs x86-64-vN tradeoff and the 9.2 cross-node flag selector) is in Proxmox VE 9.2 Custom CPU Models for Live Migration.
Prerequisites
- Proxmox VE 9.2 (the custom-CPU-model GUI and cross-node flag selector are 9.2 features).
- A cluster with more than one node, especially if the nodes’ CPUs differ.
- A brief maintenance window per VM you re-type (CPU type only changes on a full power cycle).
Notes
- Honest status:
tested: falseoverall. The read-only level-check command was verified on real hardware this session (an AMD Ryzen 5 PRO 2400G node reportedx86-64-v2andx86-64-v3supported, no v4). The custom-model creation and the live migration themselves are the official 9.2 GUI/CLI workflow and were not run on a production cluster here — validate on your own lab. - Make these values your own:
<vmid>andcustom-<name>are placeholders, and the right x86-64 level is whatever your nodes all support. If a value looks specific to one machine, it’s a placeholder to change. - Pick the newest common level. Run the level check on every node and choose the highest level they all report
supported. That’s your migratable ceiling. hostis fast but pinned. Use it only on single nodes or where you never migrate; it blocks migration to any unlike CPU.- CPU type changes need a full stop/start, not an in-guest reboot — the guest’s CPU is fixed at boot.
- Custom models are referenced as
custom-<name>in the VM’s CPU setting after you create them under Datacenter → Custom CPU Models.