Proxmox pmxcfs Rollback: When Pi-hole Disappears After a Power Failure (Part 1)
This post documents a real failure in a home-lab environment where a power outage caused a Proxmox cluster rollback, resulting in an apparently vanished Pi-hole + Docker deployment. The VM survived, the disks were intact — but Docker was gone.
Environment Overview
| Component | Details |
|---|---|
| Hypervisor | Proxmox VE 7.x |
| Cluster history | Two nodes (pve1, pve2), later "broken" to operate only pve2 |
| Storage backend | Synology NAS over NFS (SynoNFS1) |
| Workload | Pi-hole in Docker via docker-compose |
| Guest OS | Ubuntu 22.04 LTS |
| VM ID | 200 (DNS Server) |
Incident Summary
After a power failure:
- Proxmox host
pve2booted normally. - VM 200 (Pi-hole) booted.
- Pi-hole binary existed under
/opt/pihole. - Docker was missing: no binary, no service, no containers.
/etc/piholestill held configuration and lists.
At face value, the Pi-hole VM looked freshly installed. The logical question: how can Docker vanish while the VM itself remains intact?
Investigation Process
1. Verify Host and VM Status
root@pve2:~# qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB)
200 DNS running 2048 32.00
The VM was present and healthy.
2. Inspect VM Configuration
root@pve2:~# qm config 200
boot: order=scsi0;net0
cores: 1
memory: 2048
scsi0: SynoNFS1:200/vm-200-disk-0.qcow2,iothread=1,size=32G
Only a single disk (scsi0) was attached — no scsi1: entry for Docker data.
3. Check Storage
root@pve2:~# pvesm list SynoNFS1
Volid Format Type Size VMID
SynoNFS1:200/vm-200-disk-0.qcow2 qcow2 images 34359738368 200
No secondary disks existed.
4. Check Mounts and fstab Inside the VM
root@dns:/etc# findmnt
root@dns:/etc# cat /etc/fstab
No NFS or CIFS mounts. Docker data wasn't stored on a NAS mount.
5. Examine Cluster State
root@pve2:~# pvecm status
Cluster information
-------------------
Name: DarkMox
Nodes: 1
Expected votes: 1
Quorate: Yes
and later:
root@pve2:~# ls -l /etc/pve
-rw-r----- 1 root www-data 308 Apr 29 2023 storage.cfg
The storage.cfg timestamp (2023) was far older than any recent change — clear evidence that pmxcfs reloaded an outdated cluster database after the power loss.