Initiale Infrastruktur-Dokumentation pve1 und pve2.
Enthält Host-Doku, MQTT/HA, Git-Setup, Power-Monitoring und GPU-Idle (pve2). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
# 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 <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 {} \;
|
||||
```
|
||||
Reference in New Issue
Block a user