Beim Lesen über das Unix-FFS habe ich gelesen, dass 10% des Speicherplatzes reserviert sind, damit sichergestellt werden kann, dass sich die Datenblöcke der Dateien in derselben Zylindergruppe befinden. Trifft dies bei Dateisystemen wie ext2/ext3 zu, ist Speicherplatz reserviert, so dass die Datenblöcke der Dateien alle in derselben Blockgruppe sein können? Sind es auch 10%? oder variiert es? Gilt das auch für Journaling-Dateisysteme? Vielen Dank.Wie viel reservieren moderne Dateisysteme für jede Blockgruppe?
Antwort
vor allem ich denke, dass ext-Dateisysteme die gleiche Vorstellung von einer Zylindergruppe implementieren, sie nennen es einfach Blockgruppe. um herauszufinden, können Sie fdisk
die Partition, um Ihre tatsächliche Blockanzahl und Blöcke/Gruppennummer zu finden. Dann die number of block groups = block count/(block/group)
. Sie werden genau wie FFS cgs verwendet (um Zugriffszeiten zu beschleunigen). Nun Journaling IMO hat nichts mit dieser Operation zu tun, außer dass es tatsächlich verschwendet etwas mehr Speicherplatz auf Ihrer Festplatte :). Soweit ich weiß, benötigen Soft-Updates, die BSD-Lösung für das Problem, das ein Journal in typischen ext-Dateisystemen lösen würde, keinen zusätzlichen Platz, sind aber enorm komplex zu implementieren und fügen neue Funktionen hinzu (wie Größenanpassung). interessant zu lesen:
ext3 overhead disclosed part 1
Prost!
Meine Daten für frische ext2 Bilder sind:
Size Block size Bl/Gr Total bytes Free bytes Ratio
1MB 1024 8192 1048576 1009664 0.03710
10MB 1024 8192 10485760 10054656 0.04111
100MB 1024 8192 104857600 99942400 0.04688
512M 4096 32768 536870912 528019456 0.01649
1G 4096 32768 1073741824 1055543296 0.01695
10G 4096 32768 10737418240 10545336320 0.01789
Also, es ist ziemlich vorhersehbar, dass die Raumeffizienz eines Ext2-Dateisystem auf Blockgröße aufgrund Layout in der obigen Antwort beschrieben abhängt: Dateisystem ist ein Satz von Blockgruppen, für jede Gruppe wird ihre Größe als Anzahl der Blöcke bestimmt, die durch eine 1-Block-Bitmap beschrieben werden können => für einen 4096-Byte-Block gibt es 8 * 4096 Blöcke.
Fazit: für ext2/ext3 Familie von Dateisystemen durchschnittlichen Ausfall Verbrauch von Speicherplatz auf Blockgröße abhängig: ~ 1,6-1,8% für 4096-Byte-Blöcke, ~ 4% für 1024 diejenigen