On Die, Okt 12, 1999 at 11:26:23 +0200, Jan Trippler wrote:
Bernd wrote:
[Erklärung der I-Node-Dichte]
Meiner Meinung nach ist das Quark. Wieso soll eine Datei immer diese Anzahl von Bytes belegen? Sehe ich nicht. Eine große Datei belegt weniger Inodes? Was soll das denn heißen? Wenn ich das Linux-Dateisystem nur ein wenig verstanden habe, so belegt eine Datei genau eine Inode. Egal wie groß die Datei ist. Egal ob 2GB oder nur ein einziges Byte, oder auch ganz leer. Egal auch ob normale Datei oder Verzeichnis, Sym. Link, FIFO, Socket oder auch Gerätedatei.
Jetzt starte ich mal mit einem Versuch einer Erklärung ;-) Das ganze läuft unter dem Motto IMHO!
Die I-Node so wie Du sie meinst, ist eine Nummer und mehr nicht. So wie ich die Erklärung im SuSE-Handbuch verstanden habe, meinen sie mit der I-Node die Datei (file, device, directory, pipe, ...) an sich und dann macht die Erklärung auf einmal Sinn:
Sorry, aber da muss ich mal ganz hart sein: Egal, was SuSE meint: Ein I-Node ist ein I-Node ist ein I-Node... und keine Datei! Man sollte gar nicht erst versuchen, der Erklärung von SuSE einen Sinn zu geben, sonst wird die Verwirrung nur größer. Denn Bernd hat recht: Das ist Quark!
Beim Anlegen einer (wie auch immer gearteten) Datei werden mindestens so viele Bytes verbraten, wie in der I-Node-Dichte angegeben.
Nein, eben nicht: Es wird immer genau _ein_ I-Node plus Dateigröße, aufgerundet auf 1K (Standart-Blockgröße bei ext2fs), "verbraten" (plus "einige" Blöcke für "Datenblockzeiger" (mir fällt jetzt kein professionelleres Wort ein ;-) )
Jedes Unix-Dateisystem hat eine Blockgröße (meist zwischen 512 Byte und 2 kByte). In Linux kannst Du diese Größe mit der I-Node- Dichte vorgeben.
Nein, auch nicht: Die Blockgröße kann mit dem Parameter -b bei mke2fs festgelegt werden. Standart: 1K (Hm, warum kann damit eigentlich nicht die 2 GB-Dateigrenze überwunden werden?)
Damit hast Du die Möglichkeit, z. B. in einem Dateisystem mit vielen kleinen Dateien (Deine Shell-Script- Sammlung ;-) die I-Node-Dichte klein zu setzen ==> wenig Bytes pro I-Node ==> viele I-Nodes; Andererseits kannst Du in dem Dateisystem, in dem Deine .tiff- oder .mp3-Dateien liegen eine große I-Node-Dichte eintragen, da die Dateien eh ziemlich fett sind.
Wenn die _durchschnittliche_ Dateigröße im Dateisystem kleiner als die I-Node-Dichte ist, werden dir die I-Nodes ausgehen und das Dateisystem ist "voll", obwohl auf dem Dateisystem noch einige "zig-MB" Datenblöcke frei sind. Die I-Node-Dichte bestimmt lediglich die Anzahl der I-Nodes (wie von Bernd richtig berechnet) und somit die max. Anzahl der Dateien (inklusive devs, Verzeichnisse, links u.s.w.) auf dem Dateisystem.
Der Begriff wie ihn SuSE verwendet ist in dem Fall also ziemlich verwirrend und hat eigentlich nichts mit der I-Node (also der im Filesystem eindeutigen identification node jeder Datei) zu tun.
Eben... Gruß Andreas -- Andreas Könecke "Andreas Koenecke <akoenecke@akoenecke.de>" PGP-ID/Fingerprint: BD2750F1/9A 93 E6 30 47 E7 15 4C 38 5A 06 90 74 6F F4 AC PGP-Key on request -- --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com