Fix freezes in Proxmox VE 8.2
Some Proxmox VE 8.2 hosts freeze and may not even reboot. Two kernel parameters, pcie_port_pm=off and libata.force=noncq, stop it until a fixed kernel is out.
Infrastructure linux proxmoxContents
Proxmox Virtual Environment combines the KVM hypervisor and LXC containers into one of the leading open-source virtualisation platforms; I explain why I like it so much elsewhere. Version 8.2 brought several improvements, but users have reported that hosts sometimes freeze. Here is the workaround: two kernel parameters.
A newer kernel, probably 6.8.8-1, is expected to fix the root cause.
The problem
The host becomes unresponsive during normal operation, and sometimes even a reboot fails. On a production system that is a serious problem. The cause usually lies in how the kernel handles certain hardware, specifically PCIe power management and ATA command queuing.
The fix
-
Open a shell on the Proxmox host, from the web interface or over SSH.
-
Open the kernel command line in an editor:
nano /etc/kernel/cmdline -
Append these parameters to the existing line:
pcie_port_pm=off libata.force=noncq -
Save and exit (in nano: Ctrl+X, then Y, then Enter).
-
Write the new command line to the boot configuration:
proxmox-boot-tool refresh -
Reboot:
reboot
After the reboot, the host should stay stable.
What the parameters do
pcie_port_pm=off turns off power management on all PCIe ports, so they never
enter low-power states when idle. Power use can be slightly higher, which is
usually fine for a hypervisor.
libata.force=noncq disables Native Command Queuing (NCQ) for all ATA devices.
NCQ lets SATA drives reorder read and write commands for better performance;
without it, commands are processed in the order they arrive.
Afterwards
Once a kernel with a proper fix is released, you can remove the parameters again. If you have questions, leave a comment below.