# 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 ```bash 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 ```bash # Speicher im Container pct exec -- df -hT / # Docker-Übersicht pct exec -- docker system df -v # Größte Verzeichnisse pct exec -- du -xh / --max-depth=2 2>/dev/null | sort -hr | head -20 # Große Docker-Logs finden pct exec -- find /var/lib/docker/containers -name '*-json.log' -size +50M -exec ls -lh {} \; ```