Diese Seite beschreibt, wie Daten physisch gespeichert werden, welche Grenzen das aktuelle Setup hat und wie eine zukünftige Storage-Strategie aussehen sollte.
Ziel ist:
- Überblick über aktuelle Speicherorte
- Verständnis für Wachstum und Risiken
- Grundlage für NAS-Integration und Skalierung
¶ Aktueller Zustand
- Hauptspeicher: lokaler Server (VPS)
- Persistenz über:
- Docker Volumes
- Bind Mounts auf Host
- Backups:
- lokal unter
/opt/backups/
Beispiel:
Eigenschaften:
- nicht direkt im Dateisystem sichtbar
- von Docker verwaltet
- kritisch für persistente Daten
Beispiele:
/opt/docker/proxy/data
/opt/docker/chatjoin
/opt/docker/dashboard
Eigenschaften:
- direkt im Host-Filesystem sichtbar
- einfach zu sichern
- einfach zu bearbeiten
- Pfad:
- enthält:
- Dumps
- Snapshots
- ggf. Archivdaten
- Service läuft im Container
- schreibt Daten in:
- Daten landen physisch auf dem Host
- Script liest:
- erstellt:
- speichert:
- alles passiert lokal
- kein externer Speicher
- kein echtes Failover
- Synapse ist größter Speicherverbraucher:
- Media wächst kontinuierlich
- Backups wachsen ebenfalls dauerhaft
- Storage ist aktuell:
- nicht limitiert
- aber auch nicht aktiv gemanaged
df -h
du -h /opt | sort -h | tail -n 20
docker system df
docker volume ls
docker volume inspect <volume>
- große Synapse-Media-Files verlangsamen Backups
- Volumes sind "unsichtbar" → werden oft vergessen
- Backups können sehr groß werden → I/O-Last
- Storage-Probleme zeigen sich oft erst spät (z. B. Disk voll)
Storage betrifft direkt:
matrix-synapse (Media)
matrix-postgres (DB)
proxy-npm-1 (Configs + Zertifikate)
backups
Indirekt:
- alle Services, die persistente Daten erzeugen
Das aktuelle Setup ist ein Single-Node Storage-System:
Das funktioniert für den Start gut,
wird aber mit wachsender Datenmenge zum Engpass.
- kein externer Storage → Single Point of Failure
- VPS-Disk limitiert → Risiko von "Disk full"
- Backups liegen auf demselben System wie Daten
- keine automatische Bereinigung (Retention fehlt)
- keine Priorisierung (wichtige vs. unwichtige Daten)
-
NAS-Anbindung (geplant)
-
Trennung von:
- Runtime-Daten
- Backup-Daten
- Archiv-Daten
-
Definition einer Storage-Strategie:
- was bleibt lokal?
- was wird ausgelagert?
-
Umgang mit wachsendem Synapse-Storage
-
Retention-Policy für Backups
- lokale Struktur stabilisieren
- Speicher überwachen
- Backups sauber halten
- NAS anbinden
- Backups auslagern
- große Daten (z. B. Synapse Media) verschieben
-
Trennung von:
- Compute (Server)
- Storage (NAS / extern)
-
skalierbare Architektur
- freien Speicher regelmäßig prüfen
- Backup-Größe überwachen
- kritische Daten identifizieren
- Retention für Backups definieren
- große Datenquellen (Synapse) analysieren
- Storage-Wachstum tracken
- NAS einbinden
- automatisierte Archivierung
- Storage-Alerts (Disk voll etc.)
Storage wächst leise – bis er dich irgendwann stoppt.
Wenn du ihn nicht planst, plant er dich.