Ich habe über das ext4-Dateisystem gelesen, dass es Komprimierung, Verschlüsselung und eine Funktion namens extents unterstützt, mit der Speicherplatz gespart wird. Was sind Extents und wie können sie Speicherplatz sparen?
filesystems
ext4
Prateek Joshi
quelle
quelle
Antworten:
Durch das Ausmaß wird die Menge an Metadaten reduziert, die erforderlich sind, um die Datenblöcke für große Dateien zu verfolgen. Anstatt eine Liste jedes einzelnen Blocks zu speichern, aus dem die Datei besteht, besteht die Idee darin, nur die Adresse des ersten und letzten Blocks jedes fortlaufenden Blockbereichs zu speichern. Diese kontinuierlichen Bereiche von Datenblöcken (und die Zahlenpaare, die sie darstellen) werden als Extents bezeichnet .
Die Adressen der ersten Datenblöcke einer Datei werden im Inode gespeichert. Da der Inode jedoch eine feste Größe hat, funktioniert dies nur für kleine Dateien. In ext2 oder ext3 erfordern große Dateien die Verwendung indirekter Blöcke , um den Rest der Liste der Blockadressen zu speichern, die nicht in den Inode selbst passen. Das heißt, der Inode enthält die Adresse eines Blocks, der selbst eine Liste von Blöcken enthält. Diese werden als indirekte Blöcke bezeichnet . Diese zusätzlichen Blöcke werden normalerweise nicht benötigt, wenn Extents verwendet werden, da das Speichern eines Extents unabhängig von der Größe des beschriebenen Blockbereichs einen konstanten Speicherplatz beansprucht.
Eine sehr fragmentierte Datei benötigt möglicherweise noch zusätzliche Metadatenblöcke (die ext4 Extent-Knoten aufruft ), um eine lange Liste von Extents zu speichern, aber normalerweise immer noch viel weniger, als sonst benötigt würde.
Die Reduzierung der Metadatengröße ist jedoch im Verhältnis zur Dateigröße normalerweise recht gering. Die Hauptmotivation für Extents besteht darin, die Leistung zu verbessern (indem die Fragmentierung verringert wird und weniger Metadatenblöcke zum Lesen und Schreiben vorhanden sind), anstatt an sich Platz zu sparen.
quelle
Von http://ext2read.blogspot.ch/2010/03/how-ext4-extents-work-earlier-ext2-and.html :
quelle