Wie bestimme ich die physikalische Inode-Grenze?

663
irritable_phd_syndrom

Wie bestimme ich die maximal mögliche Anzahl von Inodes? Oder ist das ein Software-Limit?

Ich arbeite an einem GPFS-Dateisystem. Nach habe /usr/lpp/mmfs/bin/mmlsfileset gpfs0 -iich eine MaxInodes = 134217728. Dies ist der Wert einer vorzeichenlosen 27-Bit-Ganzzahl, die nicht überzeugt. Es scheint ein Software-Limit zu sein. Ist es?

0
Warum spielt es eine Rolle? Ihr Limit wäre die Größe des Speichers, den Sie verwenden, geteilt durch die Größe eines Inodes und die zugehörigen Daten. (Ich bin mir nicht sicher, ob Sie einen Inode haben können, ohne dass Daten daran angehängt sind.) Gemäß dem [Wikipedia-Artikel] (https://en.wikipedia.org/wiki/Inode)> Bei vielen Arten von Dateisystemimplementierungen wird die maximale Anzahl von Inodes bei der Dateisystemerstellung festgelegt, wodurch die maximale Anzahl von Dateien begrenzt wird Dateisystem kann halten. Eine typische Zuordnungsheuristik für Inodes in einem Dateisystem beträgt 1% der Gesamtgröße. Seth vor 7 Jahren 0
Denken Sie daran, dass die Festplattentechnologie auf den niedrigsten Ebenen binäre Progressionen verwendet. Nur weil eine Zahl eine gerade Potenz von zwei ist, bedeutet das nicht, dass sie nicht von der analogen Natur der Hardware abgeleitet ist. Mit zunehmendem Fortschritt der Festplatten wird der zum Kodieren der Informationen auf dem Plattenteller verwendete Speicherplatz kleiner. Da es sich jedoch um analoge Geräte handelt, ist immer etwas kleiner. Bei der Plattengeometrie geht es darum, die Platte in logische Bereiche zu unterteilen, die auf Konzepten wie Spuren, Sektoren, Zylindern und Blöcken basieren, von denen jeder allgemeine physikalische Bereiche auf den Platten definiert. Diese Strukturen sind fast immer in Potenzen von 2 definiert. Frank Thomas vor 7 Jahren 0

1 Antwort auf die Frage

2
Frank Thomas

Inodes haben keine physische Beziehung zu den Platteneigenschaften, es sei denn, dies ist ein Nebeneffekt des Designs des jeweiligen Dateisystems.

Inodes sind ein Metadatenkonzept für Dateisysteme. Sie werden verwendet, um Metadaten an Strukturen auf der Festplatte oder an Metastrukturen (z. B. Verzeichnisse, bei denen es sich um Inoden handelt, die Inodes auflisten, die ihren Inhalt widerspiegeln) zu verwenden. Die Beschränkungen für Inodes basieren daher auf Strukturen, die erstellt werden, wenn der Datenträger für einen bestimmten Dateisystemtyp formatiert wird.

Über den Link oben:

Platz für Inodes muss reserviert werden, wenn ein Betriebssystem (oder ein neues Dateisystem) installiert wird und dieses System seine anfängliche Strukturierung des Dateisystems durchführt. In jedem Dateisystem wird die maximale Anzahl von Inodes und somit die maximale Anzahl von Dateien festgelegt, wenn das Dateisystem erstellt wird.

Ja, das Limit basiert auf Software, entweder im Betriebssystem oder in den Dateisystemtreibern. Bei Linux-Dateisystemen kann das Betriebssystem im Allgemeinen eine Rolle bei der Bestimmung der Anzahl der Inodes beim Formatieren einer Festplatte spielen.

Die Standardeinstellung erstellt einen Inode für alle 2K-Bytes, die im Dateisystem enthalten sind. Die Anzahl kann jedoch vom Benutzer beim Erstellen des Dateisystems angepasst werden. Zum Beispiel kann es sinnvoll sein, weniger Inodes zu erstellen, wenn Sie ein Dateisystem einrichten, das nur wenige große Dateien enthält. In ähnlicher Weise ist es für ein Dateisystem, das für meist kleine Dateien vorgesehen ist, ratsam, mehr Platz für Inodes und weniger für den Dateiinhalt bereitzustellen.

Daher werden die meisten Linux standardmäßig zugewiesen

ceil(formattedSizeInBytes/(2 * 1024)) => initialInodes.

Dies zeigt (unter anderem) an, dass die Anzahl der Inoden immer eine exakte Zweierpotenz ist (da sowohl der Divisor als auch die Dividende intrinsisch Potenzen von 2 sind).

Alles in allem sind viele ältere Dateisysteme so konzipiert, dass sie eine einzige Datei pro Sektor oder Block speichern. In diesen Fällen hängt die Anzahl der Inodes von der Anzahl der Sektoren ab, die der Datenträger bereitstellt (und was auch immer die Dateisystem-Ersteller meinen geeignet für Links und Verzeichnisse usw.).

GPFS ist ein älteres Dateisystem, aber es ist für den parallelen Zugriff von Mainframes und Supercomputern ausgelegt, wobei Techniken wie das Multi-Disk-Striping verwendet werden. Daher ist es bereits ein großes Ausmaß, sich von den physischen Eigenschaften der einzelnen physischen Festplatten zu trennen.