ProxCLMC Automates CPU Compatibility Checks for Proxmox Live Migration
Share this article
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.