6f52d46267
Enthält Host-Doku, MQTT/HA, Git-Setup, Power-Monitoring und GPU-Idle (pve2). Co-authored-by: Cursor <cursoragent@cursor.com>
2.3 KiB
2.3 KiB
05 — LXC-Speicher aufräumen
Wichtigste Erkenntnis: Thin-Pool vs. Guest-Belegung
Proxmox Thin-LVM (local-lvm, nvme_second) kann viel voller anzeigen als das Dateisystem inside des Containers.
| CT | Pool-Anzeige (vorher) | df im Guest (vorher) |
|---|---|---|
| 109 media | ~99 % | ~43 % |
| 101 docker | ~97 % | ~45 % |
| 110 AIDEV | ~99 % | ~74 % |
Ursache: Gelöschte Dateien/Blöcke im Guest werden am Thin-Pool erst nach fstrim freigegeben.
fstrim — größter Hebel
pct exec 101 -- fstrim -v /
pct exec 109 -- fstrim -v /
pct exec 110 -- fstrim -v /
Ergebnis der Session:
| Pool | Vorher | Nachher |
|---|---|---|
| local-lvm | ~93 % | ~43 % |
| nvme_second | ~59 % | ~40 % |
Docker-Cleanup (manuell durchgeführt)
Auf CT 101, 109, 110:
- Gestoppte Container entfernen (>7 Tage)
- Dangling Images löschen
- Build-Cache leeren (v. a. AIDEV: ~14 GB)
- Ungenutzte Images (>14 Tage) auf AIDEV
- Container-Logs >50 MB auf 10 MB kürzen (AIDEV: ein Log hatte 2,5 GB)
- Journal auf ~200 MB begrenzen (
journalctl --vacuum-size=200M) apt-get clean
CT-spezifische Befunde
101 docker
- ~38 GB Frigate-Aufnahmen auf
/mnt/records— normal, 30-Tage-Retention - ~48 GB Mongo (Overleaf) — Produktivdaten
- ~3 GB alte Docker-Images entfernt
109 media
- ~4 GB alte Jellyfin/tvheadend-Images entfernt
- 18 GB Jellyfin-Config — überwiegend Metadaten, nicht anfassen
110 AIDEV
- ~69 GB
/root/code— aktive Projekte - ~14 GB Build-Cache + alte Images entfernt
- 17 ungenutzte Docker-Volumes (~1,2 GB) — optional manuell prüfen
Was bewusst nicht gelöscht wird
| Pfad / Bereich | Grund |
|---|---|
/mnt/records/recordings |
Frigate-Aufnahmen, HDD reicht |
Jellyfin metadata/ |
Bibliotheks-Artwork |
| Mongo / Overleaf-Daten | Produktiv |
/root/code auf AIDEV |
Entwicklungsprojekte |
Nützliche Befehle
# Speicher im Container
pct exec <vmid> -- df -hT /
# Docker-Übersicht
pct exec <vmid> -- docker system df -v
# Größte Verzeichnisse
pct exec <vmid> -- du -xh / --max-depth=2 2>/dev/null | sort -hr | head -20
# Große Docker-Logs finden
pct exec <vmid> -- find /var/lib/docker/containers -name '*-json.log' -size +50M -exec ls -lh {} \;