Wie viele Dateien kann ein Dateisystem angesichts der aktuellen Struktur eines Verzeichniseintrags in einem ext4-Dateisystem unter Ubuntu maximal enthalten?
Wie wird die maximale Anzahl von Dateien berechnet, die ein Dateisystem enthalten kann?
Wie viele Dateien kann ein Dateisystem angesichts der aktuellen Struktur eines Verzeichniseintrags in einem ext4-Dateisystem unter Ubuntu maximal enthalten?
Wie wird die maximale Anzahl von Dateien berechnet, die ein Dateisystem enthalten kann?
Antworten:
Ext4 hat ein theoretisches Limit von 4 Milliarden Dateien, das durch die Größe der Inode-Nummer begrenzt ist, die zur Identifizierung jeder Datei verwendet wird (ext4 verwendet 32-Bit-Inode-Nummern). Wie John jedoch sagt, ordnet ext4 Inode-Tabellen statisch zu, sodass das tatsächliche Limit festgelegt wird, wenn das Dateisystem erstellt wird.
Der Befehl df zeigt Ihnen die Anzahl der freien Inodes in Ihrem Dateisystem an:
$ df -i
Filesystem iused ifree %iused Mounted on
/dev/disk0s3 55253386 66810480 45% /
/dev/disk1s3 55258045 66805821 45% /Volumes/Clone
Ext4 unterstützt außerdem eine unbegrenzte Anzahl von Unterverzeichnissen pro Verzeichnis, wobei die Standardeinstellung 64.000 sein kann. Dies ist konfigurierbar - siehe ext4-Artikel bei Kernel Newbies .
Weitere Informationen finden Sie unter Das neue ext4-Dateisystem: aktueller Status und zukünftige Pläne des Linux-Symposiums 2007.
Es gibt keinen an sich; es hängt davon ab, ob. Wenn Sie ein ext4-Dateisystem erstellen, legen Sie die Größe der Inode-Tabelle fest , die wiederum die Gesamtzahl der Verzeichnisse oder Dateien bestimmt, die das Dateisystem gleichzeitig enthalten kann.
Nicht Ubuntu, aber unter Redhat Linux schlagen grundlegende Befehle wie find mit dem Fehler "Zu viele Argumente" fehl, wenn sie in einem Verzeichnis mit 3 Millionen Dateien ausgeführt werden. ls wird erfolgreich ausgeführt, wenn keine Parameter enthalten sind, schlägt jedoch mit demselben Fehler fehl, sobald Filterparameter hinzugefügt werden.
Unter der Annahme, dass die Zuverlässigkeit derartiger grundlegender Befehle eine zwingende Voraussetzung ist, würde ich vorschlagen, dass 3 Millionen Dateien zu viele sind.
tune2fs -l /path/to/device
und nach dem Inode-Zählwert suchen, um das Limit für ein bestimmtes Dateisystem zu ermitteln