Unabhängiger Vergleich · keine bezahlten Platzierungen
Startseite / Blog / Technik / Inodes erschöpft: Warum Speicherplatz frei zu sein scheint

Inodes erschöpft: Warum Speicherplatz frei zu sein scheint

df -h zeigt 40 % frei an, es kann jedoch keine Datei erstellt werden: Die Inodes sind gesättigt. Klassisch nach Millionen kleiner Cache- oder Sitzungsdateien.

Redaktion Hébergeurs.eu 5 Min.

Die Bereitstellung schlägt fehl: „Auf dem Gerät ist kein Speicherplatz mehr vorhanden“. „df -h“ zeigt 35 % frei auf „/var“. Niemand schaut auf „df -i“: 100 % Inodes werden in „storage/framework/sessions“ verwendet – 4 Millionen 100-Byte-Dateien.

Inodes sind die unsichtbare Decke kleiner Dateien.

Inodes verstehen

Jede Datei, jeder Symlink, jeder Socket = 1 Inode (vereinfacht). Erstellung unmöglich, wenn die Inode-Tabelle voll ist, selbst mit freien GB.

df -i vor jedem „Leerzeichen“-Vorfall.

Diagnose

for d in /*; do echo $(find $d -xdev | wc -l) $d; done — langsam, aber aufschlussreich.

Schneller: find /var/www -xdev -type f | cut -d/ -f1-5 | sort | uniq -c | sort -n.

Klassische Web-Ursachen

Sitzungsdateitreiber, Cache für kompilierte Ansichten, fehlgeschlagene Warteschlangenjobs, temporärer ZIP-Extrakt, Protokolle mehrerer Dateien pro Anfrage.

FixAktion
SitzungenRedis/Datenbanktreiber
CacheTTL + Pflaume geplant
Warteschlange fehlgeschlagenHorizont/Bereinigungsjob
Temp hochladencron tmpwatch

Aufräumen ohne Bruch

Stoppen Sie das Schreiben (Wartungsmodus), gezielte Löschung, kein blindes rm -rf bei aktiven Sitzungen.

Überprüfen Sie die rechtliche Aufbewahrungspflicht/Überprüfung, bevor Sie Protokolle löschen.

Architektur

Trennen Sie „/var/cache“ oder Sitzungen auf einem dedizierten Volume. Sharding-Hash-Unterverzeichnisse (aa/bb/file). Überwachen Sie Inode % als Datenträger %.

Kontinuierliche Prävention

Alarm-Inode 85 % als Festplatte 85 %. Cron Plum Cache jede Nacht mit metrisch gelöschten Dateien.

Sitzungen: Redis vor Inode-Vorfall migrieren – dringende Nachrüstung kostet mehr.

Vermeiden Sie Millionen Flatfiles: Hash-Unterverzeichnisse „ab/cd/ef123“.

Container: Begrenzen Sie die maximale Größe der JSON-Datei des Protokollrotationstreibers.

Support für Shared-Quota-Inode-Tickets: Fordern Sie vor dem Upgrade-Plan eine Zahl an – manchmal kostenlos.

Migrationssitzungsdatei → Redis

Plan: temporäre Dual-Write-Sitzungen, Flip-Config, Löschdateisitzungen nach 24 Stunden TTL max.

Mess-Inode vorher/nachher – Proof-Fix.

Framework-Cache-Präfix: Versions-Cache-Schlüssel (v2_) für massensichere Löschung.

Tausende Maildir-Dateien: Migration in die Datenbank oder in ein Objekt für Anhänge – vorübergehende Bereinigung des Inodes, nicht dauerhaft.

Lokaler CI-Artefakt-Cache: Bereinigung veralteter Zweige – jeder Zweig = Tausende Dateien.

Diagnosetools

Interaktives „ncdu“ zum Durchsuchen von Millionen kleiner Dateien. Nur „debugfs“-Experte.

E-Mail-Warteschlange exim/qmail: jede Nachrichtendatei – Warteschlange löschen, wenn ein Spam-Angriff eingeht.

Kapazität planen: Inode-Anzahl bei mkfs, wenn FS neu erstellt wird – „mkfs.ext4 -N“-Optimierung.

Betriebszusammenfassung

Erschöpfte Inodes weisen eher auf ein ungeeignetes Design (Dateisitzungen, unbegrenzter Cache) als auf einen Mangel an GB-Speicherplatz hin. df -i systematisch auf „kein Platz mehr übrig“. Migration von Redis-Sitzungen, Plum-Cache, Sharding von Hash-Verzeichnissen.

Container und gemeinsam genutzte Inode-Panel-Kontingente – Support-Ticket vor der Sättigung.

48-Stunden-Sanierungsplan

Tag 1: Bestätigen Sie df -i, suchen Sie das oberste Verzeichnis, aktivieren Sie bei Bedarf die Wartung, bereinigen Sie die Cache-sichere Teilmenge. Tag 2: Redis-Sitzungen migrieren, Cron Prune bereitstellen, Inode-Warnung hinzufügen 85 %. Woche: Cache-Strategie umgestalten, Hash-Unterverzeichnisse, Kapazitätsüberprüfung mit Host-Unterstützung.

Interne Kommunikation: Inode-Vorfall ≠ Festplatte voll – klare Botschaft vermeidet schlechte finanzielle Maßnahmen „Buy Go“.

Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.

Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.

Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.

Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.

Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.

Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.

Inode-Prävention

Alarm 85 %. Migration von Redis-Sitzungen. Hash-Unterverzeichnisse. Cron-Pflaume. Unterstützung von Inode-Kontingenten vor dem Upgrade-Plan nicht erforderlich.

Training: Inode ≠ freie GB. Vorlagen-Repo-Sitzungen Redis-Standard.

Container und Cache

Maximale Größe des JSON-Dateiprotokolls. Cache-Präfix versioniert v2 für sicheres Löschen.

Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.

Entscheide dich und gehe ohne blinden Fleck voran

  1. Bestätigen Sie mit „df -i“ – nicht zu verwechseln mit „Festplatte voll in GB“; klare Botschaft an die Finanzwelt.
  2. Suchen Sie das fehlerhafte Verzeichnis – Cache-Sitzungen, Miniaturansichten, fragmentierte Protokolle, Millionen kleiner Dateien.
  3. Sitzungen zu Redis migrieren – möglichst vor dem Vorfall; Eine dringende Nachrüstung kostet mehr.
  4. Hash-Unterverzeichnisse – „ab/cd/ef123“ anstelle von Millionen von Flatfiles.
  5. Alarm-Inode bei 85 % – als Festplatte 85 %; Cron Plum jeden Abend mit Metrik.

Fordern Sie vor dem Upgrade das Inode-Kontingent beim Shared Support an – vergleichen Sie es über das Verzeichnis und den Vergleicher.

Häufig gestellte Fragen

Unterschied zwischen Speicherplatz und Inodes?

Die Festplatte zeigt möglicherweise freie GB an, während das Dateisystem keine Inodes mehr zum Erstellen einer Datei hat – was bei Millionen kleiner Cache-Dateien oder Sitzungen häufig vorkommt.

Was ist dringend zu tun?

Bestätigen Sie „df -i“, identifizieren Sie das oberste Verzeichnis, leeren Sie den sicheren Cache oder migrieren Sie Sitzungen nach Redis. Kaufen Sie keine zusätzlichen GB – das Problem ist nicht die Blockkapazität.


Wenn Ihr Cache eine Datei pro Anfrage schreibt, kommt die Inode-Obergrenze vor der Festplattenobergrenze – Zählung.

Europäische Hoster vergleichen

Filtern nach Compliance, Standort und Einsatzzweck — dann die Datenblätter öffnen, um den echten Umfang zu prüfen.

Verzeichnis durchsuchen
Blog

Weiterlesen

Alle Artikel →