Füllen angesammelte Logs und Dumps den Datenträger, schlagen Schreibvorgänge fehl. Ohne Vorkehrungen stürzt der Server ab.
Warum Logs, Dumps und temporäre Dateien sammeln sich bis 100 % → Folge Schreibvorgänge schlagen fehl. Ohne Fehlerbehandlung Absturz, mit Fehlerbehandlung fehlgeschlagenes Speichern → Auf dem Bildschirm Verbindungsabbruch, Spielfortschritt wird zurückgesetzt (Rollback)
Schreibfehler abfangen und mit erneutem Speicherversuch und Alarm reagieren (kein Absturz), unnötige Logs und Dumps reduzieren.
Aufgaben Infrastrukturteam
Server/OS: Log-Rotation einrichten, Alarm auf den Füllstand setzen, Logs und Daten auf getrennte Datenträger legen. DB-Systeme: überwachen, ob sich DB-Transaktionslogs (WAL, binlog) wegen gestoppter Replikation oder fehlender Log-Backups ansammeln.
Im Graphen
Langsamer Anstieg · Disk-Belegung
Wo nachsehen
Belegung mit df -h und Inode-Belegung mit df -i prüfen, in Server- und DB-Logs nach ENOSPC-Fehlern suchen. Bei der DB: in PostgreSQL Slots in pg_replication_slots mit active = false, in MySQL Anzahl und Größe der Dateien aus SHOW BINARY LOGS, in SQL Server log_reuse_wait_desc in sys.databases, bei RDS FreeStorageSpace prüfen
Spricht dafür
Belegung steigt über mehrere Tage stetig an, der Zeitpunkt, an dem sie 100 % erreicht, fällt mit Absturz oder fehlgeschlagenem Speichern zusammen, im Log steht ENOSPC
Spricht dagegen
Genug Platz frei, Schreibvorgänge schlagen trotzdem fehl: andere Ursache wie Berechtigungen oder Dateigrößenlimit
Prüfmittel
Mit Infrastruktur-Tools prüfbar (ohne Spielcode)
Mehr dazu
Die Transaktionslogs der DB (WAL, binlog usw.) werden nicht gelöscht und wachsen weiter, wenn ein Replikat stehen bleibt oder Log-Backups ausbleiben. Ist dieser Datenträger voll, stoppen alle Schreibvorgänge der DB, und Speichern und Handel schlagen gleichzeitig fehl.
Quellen
write(2) — Linux manual pageLinux man-pages Ist auf dem Gerät kein Platz mehr, schlägt das Schreiben mit dem Fehler ENOSPC fehl
Log-Shipping Standby Servers (PostgreSQL Documentation)PostgreSQL Ein Replikationsslot gibt WAL erst frei, wenn das Replikat es empfangen hat, und kann so den Platz von pg_wal füllen (begrenzbar mit max_slot_wal_keep_size)
Troubleshoot a full transaction log (SQL Server Error 9002)Microsoft SQL Server Bei vollem Log ist die DB nur noch lesbar und nicht mehr änderbar; häufige Gründe für eine blockierte Log-Bereinigung sind fehlende Log-Backups, Replikationsverzögerung und lange Transaktionen; was blockiert, zeigt log_reuse_wait_desc in sys.databases
df(1) — Linux manual pagecoreutils Belegung je Dateisystem, -i zeigt die Inode-Belegung anstelle der Blockbelegung