Neues Dateisystem (ca. 1TB). Welche Block-, Frag- und Inodegrösse?

Highfish

Active Member
Hallo

Ich möchte ein neues Dateisystem (FreeBSD 5.4) anlegen (beforzugt auf einem gvinum Volume; siehe auch Thread http://www.bsdforen.de/showthread.php?t=11716, aber um das geht es mir hier primär nicht).

Das Dateisystem wird eine Grösse zwischen 800gb und 1tb haben. Gedacht ist es für einen Fileserver. Auf dem Dateisystem werden zu rund 80% Dateien zu liegen kommen die rund 500mb gross sind (von ca. 300mb bis 1gb).

Früher habe ich ganz einfach jeweils die Blockgrösse auf 4096 heruntergesetzt, um keinen Speicherplatz zu verlieren. Aber vielleicht ist es Einbildung, aber mir kommt es vor, dass darunter die Performance leidet (also Transferraten, z.b. mit Bonnie gemessen). Darum wollte ich mich jetzt etwas genauer mit dem Thema befassen.

Ich weiss nur von man newfs, dass Block/Frag ein Verhältnis von 8:1 haben sollten. Dies war bei meinen ersten Versuchen nicht so. Kann sich das in schlechter Performance äussern?

Welche Blockgrösse bzw. empfiehlt sich denn für den obigen Einsatzzweck (hoffe der ist genug genau spezifiziert)? Bzw. Was genau muss ich mir unter Frags vorstellen?

Wenn ich weiter auf einem bestehenden Dateisystem nachsehe, wieviele Inodes noch frei sind, sind bei der Grösse von ca 1tb noch ca. 95% oder > 1 Mia. Inodes frei. :eek: Ich habe hier im Forum in einem Thread gelesen, dass man durch erhöhen der Inode-Grösse, mehr Platz auf dem Dateisystem schaffen kann. Heisst das denn, dass ich mehr freien Speicher auf dem Dateisystem habe?

Was soll ich denn etwa für einen Inode-Wert nehmen, da ja wie gesagt noch 95% der Inodes frei sind.

Grüsse
Highfish
 
Das letzte zuerst: Du erhoehst nicht den "Inode-Wert" oder deren Groesse (die ist fix), sondern du reduzierst die Anzahl der reservierten Inodes und hast damit mehr Platz fuer Nutzdaten. Wenn keine Datei je kleiner als 300MB sein wird, dann reichen theoretisch 1TB/300MB Inodes aus. Allerdings solltest du da gut Luft lassen und die Verzeichnisse nicht vergessen.

Eine Milliarde Inodes sind natuerlich fuer deinen Zweck zuviel. Ich wuerde 100.000 nehmen, dann darf die durchschnittliche Datei/Verz.groesse 10MB nicht unterschreiten, aber da duerftest du ja genug Luft haben.

An Block/Fragsize wuerde ich nicht rumschrauben, wenn du nicht genau weisst welche Auswirkungen das hat. Wenn du mehr darueber erfahren willst, dann lies das Paper von McKusick "A Fast Filesystem for UNIX" (oder so aehnlich).
 
Danke für den Lektüretipp. Ich denke, dass ich nun so in etwa die Funktion des Filesystems kapiert habe.

Wenn ich also die Blockgrösse auf Default (16384) belasse, sollte der Speicherplatzverbrauch nicht drastisch ansteigen im Vergleich zu 4096. Schliesslich werden dann die Blöcke einfach durch 8 Fragmente geteilt und nicht mehr durch 2 wie bei 4096 Blockgrösse. Dafür sollte wohl die Performance etwas zulegen. Der Defaultwert für Fragmente ist ja schliesslich 2048 (ich nehme an, der wird nicht automatisch nach unten angepasst wenn man bei newfs die Blockgrösse auf 4096 herabsetzt). Richtig verstanden so?

Nur würde sich bei so vielen grossen Dateien wie ich in ersten Post geschrieben habe (80% aller Daten), eine grössere Block/Frag-Grösse nicht doch lohnen? Sprich, ich würde dann evtl. eine eigene Partition für diese Daten anlegen mit grösserer Block/Fraggrösse. Was würde sich da anbieten? 32768/4096? 65536/8192? Oder noch grösser?

Die Inodes werde ich übrigens auf ca. 1 Mio. reduzieren, da ich gesehen habe, dass bei meinem bestehenden (fast vollen) Dateisystem ca. 100000 Inodes belegt sind. So ist immerhin noch Faktor 10 als Reserve übrig.
 
Zurück
Oben