Die folgenden Informationen stammen aus der Manpage. Ich möchte den Unterschied zwischen Bytes pro Inode und Inode-Größe kennen.
-i bytes-per-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 dann zu viele Inodes erstellt werden. Seien Sie gewarnt, dass es nicht möglich ist, die Anzahl der Inodes in einem Dateisystem nach dessen Erstellung zu erhöhen Wert für diesen Parameter.
-I inode-size
Geben Sie die Größe jedes Inodes in bytes an. Mke2fs erstellt standardmäßig 256-Byte-Inodes. In Kerneln nach 2.6.10 und einigen früheren Anbieterkernen ist es möglich, Inodes mit mehr als 128 Byte zu verwenden, um erweiterte Attribute für eine verbesserte Leistung zu speichern. Der Wert für die Inode-Größe muss eine Potenz von 2 größer oder gleich 128 sein. Je größer der Inode -size Je mehr Speicherplatz die Inode-Tabelle belegt, desto geringer ist der nutzbare Speicherplatz im Dateisystem. Dies kann sich auch negativ auf die Leistung auswirken. Erweiterte Attribute, die in großen Inodes gespeichert sind, sind mit älteren Kerneln nicht sichtbar, und solche Dateisysteme können mit 2.4-Kerneln nicht bereitgestellt werden Dieser Wert kann nach der Erstellung des Dateisystems nicht mehr geändert werden.
Extrem grobes Dateisystemschema:
quelle
Die Antwort von sjas hat mir sehr gut gefallen, es gibt den Kern des Unterschieds.
Dies ist nur meine eigene Erweiterung (da ich nicht kommentieren oder abstimmen kann, sondern nur mit diesem Stapelaustausch beginne), und ich wollte eine Antwort für mich, die für den Benutzer, der die Entscheidung während des Datenvolumens treffen muss, in nicht-technischen Begriffen verständlich ist Setup, aber nicht unbedingt alle Details hinter der Implementierung kennen.
Personen / Objekte: - Datenträger auf Speichergeräten - Dateien auf Datenträgern - Speichergeräte, sie sind formatiert und enthalten Byteblöcke und deren Adressen - Speicherorte für Dateien im Speicher
Aktionen: Erstellen / Löschen / Umbenennen von Dateien und Ordnern durch das Betriebssystem im Speicher, Lesen / Schreiben / Verschieben von Dateien, Ändern von Berechtigungen usw.
Eine Datei mit einer Größe von N Bytes muss in "Chunks" (Blöcken) erstellt werden. Obwohl theoretisch angenommen werden kann, dass die Dateien als Sequenzen von einzelnen Bytes verwaltet werden können (logischerweise können sie dies), wäre alles, was wir zum Verwalten von Dateien im Space benötigen, ein ausgewiesener Index, der einige Dateieigenschaften (Name usw.) und den Anfang jeder Datei angibt der Speicher. Aufgrund der Art und Weise, wie die Hardware mit den "Bussen" und "Blöcken" und Leistungsaspekten ausgelegt ist, haben diese "Blöcke" eine bestimmte Größe und ein Vielfaches der Blockgröße des Mediums (z. B. 512 Bytes, 4096 Bytes) Verwaltet von der Inodes-Ebene, die der nächsten Ebene Informationen über die Speicherorte der Dateien und darüber gibt, wie die Blöcke aneinander gereiht werden, wenn sie gefunden, in den Speicher geladen usw. werden müssen.
Wenn man eine große Rolle Papier (Volumen) hatte und einen Informationsspeicher für Dokumente aus Seiten (von Zeichen oder Bits von Informationen) zum Speichern von mehrseitigen Dokumenten entwerfen musste, ist ein Index (zum Auffinden von Dokumenten) erforderlich, Speicherplatz für die Seiten (mit einigen einfachen Positionen von Seiten). In Unix-Kollatierungsmechanismus (Inodes) und eigentliches Schneiden in Seiten. Inode-Größe ist die Indexeintragsgröße (mehr oder weniger). Bytes pro Inode ist die Seitengröße
Auswirkungen der Änderung der beiden fraglichen Einstellungen:
Inode-Größe ändern - in der Regel müssen keine Änderungen vorgenommen werden. Die Standardeinstellung wird beibehalten (siehe Link in der vorherigen Antwort auf eine Diskussion).
Bytes-per-Inode - Beeinflusst die maximale Anzahl von Dateien, die möglicherweise auf dem Volume erstellt werden können (möglicherweise Leistung und "Verschwendung" nicht verwendeter Bytes).
Zurück zur Papierrollen-Analogie: Stellen Sie sich vor, Sie müssten ein Dokument einer bestimmten Größe (eine Datei) in einem solchen System (oder viele Dokumente verschiedener Größe) schreiben und speichern - und zwar mit der Seitengröße, die beim "Schreib- und Speichersystem" vorgegeben wird "Definition und nicht flexibel, ist sehr dasselbe Dokument kann viele Seiten erfordern. Wenn das" System "-Seitenformat sehr groß und das Dokumentenformat klein ist, kann möglicherweise viel Papier verschwendet werden, indem Leerzeichen und kleine Dateien auf einer Seite abgelegt werden. Wenn die Seite groß ist, müssen weniger Seiten für das Dokument verwendet werden. Auf der zuletzt verwendeten Seite ist jedoch möglicherweise viel "Leerzeichenverschwendung" vorhanden. Es hängt also alles davon ab, wie viele Dateien verwendet werden und wie viele. Die andere Überlegung ist die Geschwindigkeit des Findens und Bringens des Dokuments von vielen Seiten.
Hoffe, es macht Sinn (es macht für mich) und bitte kommentieren Sie, wenn ich einen Teil des ext-Designs oder der mkfs-Optionen ernsthaft missbraucht habe.
quelle