Article illustration 1

Live migration of virtual machines is a cornerstone feature in Proxmox VE clusters, enabling workload mobility and high availability. Yet its reliability hinges on a deceptively complex prerequisite: consistent CPU compatibility across all cluster nodes. In real-world deployments—where hardware evolves over time with mixed CPU generations—administrators face tedious manual comparisons of processor flags to establish a safe migration baseline. A new open-source tool, ProxCLMC (Prox CPU Live Migration Checker), now automates this critical but often overlooked process.

Proxmox VE allows configuring VM CPU types (like host, kvm64, or Westmere), but selecting a baseline supported cluster-wide remains manual. As gyptazy notes, "Operators receive a clear and deterministic result that can directly be used when selecting VM CPU models" instead of relying on spreadsheets or trial-and-error. This gap contrasts with enterprise platforms like VMware, which offer automated CPU compatibility checks via features like Enhanced vMotion Compatibility (EVC).

How ProxCLMC Works

ProxCLMC, written in Rust and licensed under GPLv3, operates agentlessly without requiring Proxmox modifications. It follows four key steps:
1. Cluster Discovery: Parses the local corosync.conf to identify all active cluster nodes.
2. Remote CPU Analysis: Uses SSH (passwordless auth recommended) to query /proc/cpuinfo on each node, capturing detailed CPU flags.
3. Baseline Matching: Compares flags against standardized x86-64 CPU models supported by Proxmox/QEMU (e.g., Nehalem, Haswell, EPYC).
4. Compatibility Calculation: Determines the highest CPU baseline common to all nodes—the maximum safe level for VMs.

Sample ProxCLMC Output:
Cluster Nodes: pve1, pve2, pve3

CPU Baseline Report:
- pve1: Supports up to 'Haswell'
- pve2: Supports up to 'Broadwell'
- pve3: Supports up to 'Skylake'

Maximum Safe CPU Baseline for Live Migration: 'Haswell'

Deployment and Workflow Integration

ProxCLMC ships as a static binary Debian package, installable via gyptazy's repository:

wget -O - https://gyptazy.github.io/apt-repo/key.gpg | apt-key add -
echo "deb https://gyptazy.github.io/apt-repo/ ./" > /etc/apt/sources.list.d/gyptazy.list
apt update && apt install proxclmc

After installation, executing proxclmc generates an immediate compatibility report. This output directly informs VM configuration—eliminating migration failures caused by CPU flag mismatches during vMotion-like operations.

Closing the Proxmox Feature Gap

ProxCLMC exemplifies how targeted open-source tools can enhance mature platforms. By automating a manual, error-prone process, it brings Proxmox VE closer to enterprise-grade virtualization ecosystems while retaining operational transparency. As heterogeneous infrastructure becomes the norm, such solutions ensure critical features like live migration work reliably—freeing engineers to focus on higher-value tasks.

The project is available on GitHub for community collaboration.