Ein verwaister Inode ist eine Datei, die „teilweise gelöscht“ ist: Sie enthält keinen weiteren Verzeichniseintrag, ist jedoch in einem bestimmten Prozess noch geöffnet, sodass die Daten weiterhin auf der Festplatte vorhanden sind. Wenn der letzte Prozess, bei dem diese Datei geöffnet ist, diese schließt, wird die Datei vollständig gelöscht und der verwaiste Inode verschwindet.
Ein verwaister Inode verwendet sowohl einen Inode als auch den Speicherplatz zum Speichern der Datei, also beide, df
und df -i
zählt sie als verwendet. Wenn die Festplatte als voll gemeldet wird, aber noch Speicherplatz vorhanden ist df
, kann dies nicht mit verwaisten Inodes in Verbindung gebracht werden. Verwaiste Inodes sind einer der Gründe, warum sich die von gemeldete Dateisystemnutzung df
und die von gemeldete Gesamtdateigröße du
unterscheiden können. Siehe Warum gibt es so viele verschiedene Möglichkeiten, die Datenträgernutzung zu messen? Weitere Details zu diesem Thema.
Viele Dateisysteme haben eine feste Anzahl von Inodes reserviert, wenn das Dateisystem erstellt wird, was bedeutet, dass Sie höchstens so viele Dateien auf dem Dateisystem haben können. Die Anzahl der Inodes ist ein Kompromiss zwischen dem von den Inodes verwendeten Speicherplatz und der Möglichkeit, viele Dateien zu erstellen. Wenn im Dateisystem kein Speicherplatz mehr vorhanden ist, können Sie keine vorhandenen Dateien mehr vergrößern oder neue Dateien erstellen (möglicherweise können Sie noch einige leere Dateien in vorhandenen Verzeichnissen erstellen, sofern sie nur teilweise verwendete Blöcke füllen und nicht Zuweisung eines neuen Blocks erforderlich). Wenn es keinen freien Inode mehr gibt, können Sie vorhandene Dateien vergrößern, aber keine neue Datei erstellen.
Der Kernel meldet den gleichen Fehler an Anwendungen, unabhängig davon, ob ein Dateisystem aufgrund eines Mangels an Speicherplatz für Daten oder aufgrund eines Mangels an Inodes voll ist. Sie können also eine Fehlermeldung erhalten, dass der Datenträger voll ist, auch wenn noch Speicherplatz vorhanden ist, wenn für den Vorgang ein neuer Inode erforderlich ist und die Inode-Tabelle voll ist. Führen Sie df -i
einen Lauf durch, um zu erfahren, wie viele Inodes verwendet werden und wie viele übrig sind.