ext4-Dateisystem max Inode-Limit - kann jemand bitte erklären?

16

Vor kurzem hatten wir ein Problem, bei dem eines der ext4-Dateisysteme more than 6mln in this casetrotz genügend Speicherplatz nicht in der Lage zu sein schien, eine sehr große Anzahl von Dateien zu verarbeiten . Ist es 6mlndie maximale Anzahl, die ein ext4-Dateisystem haben kann, wenn es mit allen Standardeinstellungen formatiert wird? Ich habe es bei Google versucht, aber keine endgültige Antwort erhalten. Kann jemand hier draußen bitte etwas Licht darüber spenden? Prost!!

MacUsers
quelle

Antworten:

20

Es gibt keinen Standard als solche für ext4, es hängt von der Größe des Geräts und den bei der Erstellung gewählten Optionen. Sie können die vorhandenen Grenzwerte mit überprüfen

tune2fs -l /path/to/device

Beispielsweise,

root@xwing:~# tune2fs -l /dev/sda1
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name:   <none>
Last mounted on:          /

[lots of stuff snipped]

Inode count:              1277952
Free inodes:              1069532
Inodes per group:         8192
Inode blocks per group:   512

[lots of stuff snipped]

Wie pro man mkfs.ext4

-i Bytes pro Inode

Geben Sie das Byte / Inode-Verhältnis an. mke2fs erstellt einen Inode für jedes Byte pro Inode-Byte Speicherplatz auf der Festplatte. Je größer das Byte-pro-Inode-Verhältnis ist, desto weniger Inodes werden erstellt. Dieser Wert sollte im Allgemeinen nicht kleiner als die Blockgröße des Dateisystems sein, da in diesem Fall mehr Inodes erstellt werden, als jemals verwendet werden können. Seien Sie gewarnt, dass es nicht möglich ist, die Anzahl der Inodes in einem Dateisystem zu erhöhen, nachdem es erstellt wurde. Achten Sie also darauf, den richtigen Wert für diesen Parameter zu bestimmen.

EightBitTony
quelle
6

Es hängt davon ab, wie Sie das Dateisystem formatiert haben. Mithilfe von tune2fs -l <device>können Sie die Anzahl der Inodes ermitteln, über die Ihr Gerät verfügt, wahrscheinlich rund 6 Millionen Inodes in Ihrem Fall. Jede Datei oder jedes Verzeichnis verwendet eine Inode.

Soweit ich weiß, besteht die einzige Möglichkeit, die Anzahl der Inodes zu erhöhen, darin, Ihr Dateisystem neu zu formatieren. Der -iParameter zu mkfskann verwendet werden, um das Bytes / Inode-Verhältnis anzugeben. Der Standardwert ist in /etc/mke2fs.conf(auf meinem System: 16384) definiert.

Ein größeres Byte / Inode-Verhältnis definiert weniger Inodes, ein kleineres mehr Inodes. Die Standardwerte funktionieren in den meisten Fällen gut, aber wenn Sie eine große Anzahl kleiner Dateien haben, kann es sein, dass Sie an die Grenze stoßen und das Dateisystem mit einem kleineren Byte / Inode-Verhältnis formatieren müssen.

Oliver
quelle