Ich habe eine Reihe von externen und internen Festplatten, die ich auf einem Linux-System verwende. Ich habe nur Linux-Systeme, also wäre die Verwendung eines Linux-Dateisystems nur sinnvoll, oder? Allerdings verwende ich derzeit überall NTFS, da ich dadurch den größtmöglichen Speicherplatz auf Festplatten habe.
Ich würde jetzt jedoch gerne auf Linux-Dateisysteme umsteigen, hauptsächlich wegen der Berechtigungen und der Kompatibilität (z. B. kann ich meine LUKS-verschlüsselte NTFS-Partition nicht zur Größenänderung unter Linux veranlassen, was mir immer wieder sagt, dass ich unter Windows chkdsk verwenden soll).
Als ich diese Festplatten formatierte, habe ich eine Reihe verschiedener Dateisysteme ausprobiert und jedes Linux-Dateisystem, sogar ext2, das meines Wissens kein Journaling hat, hat viel Platz für sich beansprucht. Ich kann mich nicht an exakte Werte erinnern, aber NTFS brachte mir mehr als 100 GB auf eine 2-TB-Festplatte, was sehr viel ist.
Meine Frage lautet also: Gibt es eine Möglichkeit, dass ext-Dateisysteme weniger Speicherplatz für sich selbst beanspruchen? Oder gibt es ein anderes Dateisystem (ich habe ext2, ext3, ext4, NTFS und vfat ausprobiert - keines kam dem von NTFS angebotenen nutzbaren Speicherplatz auch nur nahe) mit perfekter Linux-Unterstützung und großartigem nutzbarem Speicherplatz?
Ich würde gerne erfahren, wie und warum Dateisysteme (insbesondere ext2 ohne Journaling) so viel mehr Speicherplatz als NTFS belegen, und ich weiß nicht, wo ich sonst nachfragen soll. Ich bevorzuge meistens eine Möglichkeit, ext4 ohne Journaling zu verwenden, und alles andere, das so viel Platz beansprucht, wenn das möglich ist.
Antworten:
Standardmäßig reservieren ext2 und seine Nachfolger 5% des Dateisystems für den Root-Benutzer. Dies verringert die Fragmentierung und verringert die Wahrscheinlichkeit, dass dem Administrator oder Daemons, die sich im Root-Besitz befinden, kein Platz zum Arbeiten zur Verfügung steht.
Diese reservierten Blöcke verhindern, dass Programme, die nicht als Root ausgeführt werden, Ihre Festplatte füllen. Ob diese Überlegungen den Kapazitätsverlust rechtfertigen, hängt davon ab, wofür das Dateisystem verwendet wird.
Der Betrag von 5% wurde in den 1980er Jahren festgelegt, als die Festplatten viel kleiner waren, wurde aber so belassen, wie sie waren. Heutzutage ist 1% wahrscheinlich genug für die Systemstabilität.
Die Reservierung kann mit der
-m
Option destune2fs
Befehls geändert werden :Dies setzt den Prozentsatz der reservierten Blöcke auf 0% (0 Blöcke).
Verwenden Sie den folgenden Befehl, um (unter anderem) den aktuellen Wert abzurufen:
quelle
df
als Nicht-Root- Benutzer oder als Root-Benutzer ausgeführt werden, besteht kein Unterschied.tune2fs -l <device>
sollte diesen Wert unter anderem geben. Der Betrag von 5% wurde in den 1980er Jahren festgelegt, als die Festplatten viel kleiner waren, wurde aber so belassen, wie sie waren. Heutzutage ist 1% wahrscheinlich genug für die Systemstabilität.Wenn die Daten, die Sie speichern möchten, komprimierbar sind, würde btrfs, das mit
compress=zstd
(odercompress-force=zstd
) gemountet wird, wahrscheinlich erheblich weniger Speicherplatz als ext * belegen.quelle
Ein weiterer Punkt, über den noch nicht gesprochen wurde, ist die Anzahl der Inodes, die Sie in Ihrem Dateisystem reservieren.
Standardmäßig erstellt mkfs eine Reihe von Inodes, die es ermöglichen sollen, viele sehr kleine Dateien in Ihr Dateisystem zu kopieren. Wenn Sie wissen, dass die Dateien sehr groß sind und Sie nur eine kleine Anzahl von Dateien auf dem FS ablegen, können Sie die Anzahl der Inodes reduzieren.
Sich kümmern! Diese Anzahl (bzw. das Verhältnis zwischen Leerzeichen und Anzahl der Inodes) kann nur zum Zeitpunkt der Dateisystemerstellung festgelegt werden. Auch bei Verlängerung des FS bleibt das Verhältnis gleich.
quelle