Beim Betrieb eines Proxmox VE-Clusters kann im Syslog oder in der Proxmox-Oberfläche folgende Fehlermeldung auftauchen:
pve pmxcfs[2922]: [database] crit: commit transaction failed: database or disk is full
Was bedeutet das? #
Diese Meldung stammt vom pmxcfs, dem Proxmox Cluster File System (Corosync/PXMCFS). Es weist darauf hin, dass eine Transaktion nicht geschrieben werden konnte, weil kein Speicherplatz mehr verfügbar ist. Das kann sowohl die Datenbank selbst als auch das darunterliegende Dateisystem betreffen.
Typische Ursachen #
- Lokale Disk voll
Das Dateisystem, auf dem/var/lib/pve-cluster/
liegt, hat keinen Platz mehr (z. B./
vollgelaufen). - Inodes erschöpft
Auch wenn noch freier Platz vorhanden ist, kann es sein, dass keine Inodes mehr zur Verfügung stehen. - Corruption/Lock-Probleme
Sehr selten kann auch eine beschädigte pmxcfs-Datenbank oder ein Lock-Problem beim Schreiben dahinterstecken.
Lösungsschritte #
1. Freien Speicher prüfen #
df -h
Wenn /
oder die Partition mit /var/lib/pve-cluster
100 % voll ist, müssen alte Dateien gelöscht werden.
2. Inodes prüfen #
df -i
Wenn hier 100 % belegt ist, verursachen zu viele kleine Dateien das Problem.
3. Log-Dateien bereinigen #
journalctl --disk-usage
sudo journalctl --vacuum-size=200M
Alternativ alte Logdateien unter /var/log/
löschen oder rotieren.
4. tmp- oder Cache-Dateien aufräumen #
rm -rf /var/tmp/*
apt autoremove --purge -y
5. pmxcfs neu starten (falls weiterhin Probleme) #
systemctl restart pve-cluster
systemctl restart corosync
⚠️ Achtung: In produktiven Cluster-Umgebungen vorsichtig anwenden. Vorher sicherstellen, dass die Ursache (Speicherplatz/Inodes) wirklich behoben ist.
Quick-Fix-Checkliste (zum Abhaken) #
df -h
geprüft → ist die Partition voll?df -i
geprüft → Inodes erschöpft?- Alte Logs bereinigt (
journalctl --vacuum-size=200M
) - Temporäre Dateien entfernt
- pmxcfs-Dienst bei Bedarf neu gestartet
Schnelle Lösungen (Quick-Fixes) #
Speicher prüfen & schnell bereinigen
df -h && df -i
sudo journalctl --vacuum-size=200M
sudo apt autoremove --purge -y
pmxcfs & Cluster neu starten
systemctl restart pve-cluster corosync
Letzte Transaktionen prüfen
cat /var/lib/pve-cluster/config.db | head
Fazit #
Der Fehler pve pmxcfs[2922]: [database] crit: commit transaction failed: database or disk is full
deutet fast immer auf Platzmangel hin – entweder auf Dateisystemebene oder bei den Inodes. Mit ein paar Aufräum- und Wartungsbefehlen lässt sich das Problem in der Regel schnell beheben.