Dateisystem - ext4 für viele kleine Dateien?
Dateisystem - ext4 für viele kleine Dateien?
Hallo.
Btrfs ist vermutlich langsamer beim Schreiben und benötigt etwas mehr Platz für die Verwaltung,
Ist ext4 i.d.R. erste Wahl für System und externe USB-Platten?
LG
Btrfs ist vermutlich langsamer beim Schreiben und benötigt etwas mehr Platz für die Verwaltung,
Ist ext4 i.d.R. erste Wahl für System und externe USB-Platten?
LG
- cosinus
- Beiträge: 3526
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Dateisystem - ext4 für viele kleine Dateien?
Also mit ext4 hatte ich noch nie Probleme. Wenn was verlorengion, dann durch meine Schuld oder weil ne Platte fehlerhafte Sektoren hatte. Und ich benutze ext4 auch auf unseren Servern im Büro seit vielen vielen Jahren (seit 2009 oder 2010).
Von wie vielen Dateien redest du denn? Wenn es wirklich viele viele kleine sind, kann es besser sein, mit anderen Parametern das ext4-Dateisystem zu erstellen.
Von wie vielen Dateien redest du denn? Wenn es wirklich viele viele kleine sind, kann es besser sein, mit anderen Parametern das ext4-Dateisystem zu erstellen.
Re: Dateisystem - ext4 für viele kleine Dateien?
Geringere Clustergröße?cosinus hat geschrieben:03.10.2023 18:38:39Von wie vielen Dateien redest du denn? Wenn es wirklich viele viele kleine sind, kann es besser sein, mit anderen Parametern das ext4-Dateisystem zu erstellen.
Es geht überwiegend um unkomprimierte Sicherungen von Webprojekten mit kleinen Scripten, oder kleine Textdateien etc.. Aber auch mal etwas größere Dateien, Fotos je 2-4 MiB. Wenig Musik, also auch mal eine größere wav-Datei, 1 GiB, von einer digitalierten LP.
Gerade kopiere ich von einer exFAT-Platte auf eine ext4 und komme bei den kleinen Dateien schlimmstenfalls auf 170 KiB/s, typisch 1,5 MiB/s. Bei großen auch über 150 MiB/s.
Es geht bei den neuen Dateisystem um möglichst viel Speicherplatz und schnelles Kopieren oder Suchen. Ich muß auch noch auf der Platte sortieren und aufräumen, teilweise löschen.
Langfristig sollte ich die Bereiche vielleicht trennen, ansonsten überwiegen erstmal die kleineren Dateien. Neben der Clustergröße ist beim Schreiben vieler kleiner Dateien wohl noch der jeweils zu erstellende Verzeichniseintrag relativ zeitaufwendig.
- cosinus
- Beiträge: 3526
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Dateisystem - ext4 für viele kleine Dateien?
Du kannst mit dem Parameter
bei der Erzeugung des Dateisystems schon auf gewisse Voreinstellungen zurückgreifen. Die sind in der Datei /etc/mk2fs.conf definiert:
Code: Alles auswählen
-T small
Code: Alles auswählen
small = {
blocksize = 1024
inode_ratio = 4096
Re: Dateisystem - ext4 für viele kleine Dateien?
Hat leider nicht ganz geklappt. Formatiert habe ich eine 8 TB WD80EDAZ im original MyBook USB Gehäuse.cosinus hat geschrieben:03.10.2023 20:36:42Du kannst mit dem Parameter
bei der Erzeugung des Dateisystems schon auf gewisse Voreinstellungen zurückgreifen. Die sind in der Datei /etc/mk2fs.conf definiert:Code: Alles auswählen
-T small
Einmal von mehreren Versuchen gelang gestern das Einhängen nach sehr langer Wartezeit. Heute erstmal eine Meldung error fsyncing.
Jetzt nach rund 10 Minuten kann ich mit GParted die Partitionsgröße sehen, "Unbenutzt" scheint nun vielleicht 200 GiB größer als gestern abend.
Liegt das womöglich an der USB-Platine, also Platte erstmal ausbauen?
- heisenberg
- Beiträge: 3670
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Dateisystem - ext4 für viele kleine Dateien?
Das würde ich auch ganz gerne mal wissen.Von wie vielen Dateien redest du denn?
Ich habe hier diverse VMs mit Dateizahlen im Bereich von 1-8 Millionen. Das ist beim Backup schon etwas lästig, weil der rsync dann teilweise Stunden dauert, bis der das alles durchgenudelt hat, obwohl sich nichts verändert hat. Ich habe deswegen ein dort ein separates asynchrones Zusatzbackup umgesetzt.
- cosinus
- Beiträge: 3526
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Dateisystem - ext4 für viele kleine Dateien?
Hast du diesen Befehl genutzt?
Wenn ja solltest du mit tune2fs auf jeden Fall sehen, dass nun die Blocksize auf 1024 gesetzt ist. Wenn die Platte sich komisch verhält solltest du die aber wirklich erstmal direkt per SATA angeschlossen testen.
Code: Alles auswählen
mkfs.ext4 -T small /dev/sdX
Re: Dateisystem - ext4 für viele kleine Dateien?
Mit blocksize = 1024 wäre ich bei heutigen Festplatte vorsichtig. Moderne Platten haben intern bereits 4096 Byte Blockgröße. Wenn du die Blöckgröße des Dateisystem kleiner wählst als die Blockgröße der Festplatte, wird das Dateisystem unweigerlich lahm.cosinus hat geschrieben:03.10.2023 20:36:42Code: Alles auswählen
small = { blocksize = 1024 inode_ratio = 4096
Dazu muß ich sagen, daß ich bisher auch mit 14 Millionen von Dateien noch nie in irgendein Limit reingelaufen wäre. Ext4 wurde immer mit Defaults angelegt.
Re: Dateisystem - ext4 für viele kleine Dateien?
Das kann mehr als 1 Million sein, ist aber für das aktuelle Problem wohl nicht relevant:heisenberg hat geschrieben:04.10.2023 13:46:50Das würde ich auch ganz gerne mal wissen.Von wie vielen Dateien redest du denn?
Ich habe hier diverse VMs mit Dateizahlen im Bereich von 1-8 Millionen. Das ist beim Backup schon etwas lästig, weil der rsync dann teilweise Stunden dauert, bis der das alles durchgenudelt hat, obwohl sich nichts verändert hat. Ich habe deswegen ein dort ein separates asynchrones Zusatzbackup umgesetzt.
Die frisch ext4 (small) formatierte _leere_ 8 TB Platte (am USB-MyBook-Controller) wird nicht, oder erst nach 10 oder mehr Minuten eingehängt.
Gehäuse, Kabel etc. haben beim MyBook unter exFAT einwandfrei funktioniert, das Einlesen -etwa abfragen von "Eigenschaften" mit Thunar- hat lange gedauert.
Ich vermute, dass die Formatierung sich nicht mit HD-Firmware oder USB-Controller verträgt. Also wohl wieder exFAT oder erstmal ausbauen und anders anschliessen.
Ja. tune2fs:cosinus hat geschrieben:04.10.2023 14:13:59Hast du diesen Befehl genutzt?
Code: Alles auswählen
mkfs.ext4 -T small /dev/sdX
Code: Alles auswählen
tune2fs -l /dev/sdb
tune2fs 1.46.2 (28-Feb-2021)
tune2fs: Bad magic number in super-block while trying to open /dev/sdb
Found a gpt partition table in /dev/sdb
- cosinus
- Beiträge: 3526
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Dateisystem - ext4 für viele kleine Dateien?
Stimmt. Kleiner als 4 kiB macht keinen Sinn bei modernen Platten. Aber den Parameter kann man ja in der mk2fs.conf auskommentieren oder auf 4096 setzen.MSfree hat geschrieben:04.10.2023 14:25:38Mit blocksize = 1024 wäre ich bei heutigen Festplatte vorsichtig. Moderne Platten haben intern bereits 4096 Byte Blockgröße. Wenn du die Blöckgröße des Dateisystem kleiner wählst als die Blockgröße der Festplatte, wird das Dateisystem unweigerlich lahm.
Dazu muß ich sagen, daß ich bisher auch mit 14 Millionen von Dateien noch nie in irgendein Limit reingelaufen wäre. Ext4 wurde immer mit Defaults angelegt.
Re: Dateisystem - ext4 für viele kleine Dateien?
oder einfach -T small weglassen.cosinus hat geschrieben:04.10.2023 14:44:13Aber den Parameter kann man ja in der mk2fs.conf auskommentieren oder auf 4096 setzen.
Re: Dateisystem - ext4 für viele kleine Dateien?
Nun habe ich nochmal ext4 (ohne Parameter/default) formatiert. Momentan verhält sich die Platte wieder "normal", der MyBook USB-Controller kann vmtl. bleiben. Bleibt als Grund für eine Demontage evtl. noch die schlechte Kühlung in dem Plastikgehäuse.
- cosinus
- Beiträge: 3526
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Dateisystem - ext4 für viele kleine Dateien?
Dann hat er aber eine "falsche" inode_ratio
Re: Dateisystem - ext4 für viele kleine Dateien?
Die Frage ist nur, wie relevant das ist. Inodes sind mir bisher jedenfalls nicht ausgegangen.
Auf meiner mit Defaultparameter formatierten 10TB ext4 Platte befinden sich eine Million Dateien, die 25% des Plattenplatzes belegen, 304 Millionen inodes von 305 Millionen sind noch frei.
Die Defaults sind in aller Regel gut genug. OK, wenn man auf der 10TB Platte über 2 Milliarden Dateien mit weniger als 4kB Größe ablegen will, reichen 305 Millionen inodes natürlich nicht aus (eine inode pro Datei) und man muß das Dateisystem anders formatieren.
Re: Dateisystem - ext4 für viele kleine Dateien?
Erst fragst Du explizit nach einer Empfehlung für „viele kleine Dateien“ und jetzt soll genau das nicht relevant sein?!curt123 hat geschrieben:04.10.2023 14:34:13... Das kann mehr als 1 Million [Dateien] sein, ist aber für das aktuelle Problem wohl nicht relevant: ...
Interessant ...
Gruß
Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
Re: Dateisystem - ext4 für viele kleine Dateien?
Danke für die Hinweise,
ext4 ist offenbar schonmal richtig.
Meine Frage war, ob ext4 für viele kleine Dateien bei relativ guter Ausnutzung des Speicherplatzes die beste Wahl sein mag.
Offenbar passt ext4, auch wenn ich fürs Indizieren, z.B.bei freefilesync, gerne mehr Tempo hätte.
Mein aktuelles oder akutes Problem aber war, dass die mit ext4/small formatierte leere Platte 15 Minuten fürs einhängen gebraucht hat, und dann den verfügbaren freien Platz nicht konsistent angezeigt hat. Jetzt mit ext4 ohne small scheint der Punkt gelöst, ich werde das aber noch weiter beobachten.
ext4 ist offenbar schonmal richtig.
Hätte ich besser "akut" statt "aktuell" geschrieben?GregorS hat geschrieben:04.10.2023 17:33:37Erst fragst Du explizit nach einer Empfehlung für „viele kleine Dateien“ und jetzt soll genau das nicht relevant sein?!curt123 hat geschrieben:04.10.2023 14:34:13... Das kann mehr als 1 Million [Dateien] sein, ist aber für das aktuelle Problem wohl nicht relevant: ...
Meine Frage war, ob ext4 für viele kleine Dateien bei relativ guter Ausnutzung des Speicherplatzes die beste Wahl sein mag.
Offenbar passt ext4, auch wenn ich fürs Indizieren, z.B.bei freefilesync, gerne mehr Tempo hätte.
Mein aktuelles oder akutes Problem aber war, dass die mit ext4/small formatierte leere Platte 15 Minuten fürs einhängen gebraucht hat, und dann den verfügbaren freien Platz nicht konsistent angezeigt hat. Jetzt mit ext4 ohne small scheint der Punkt gelöst, ich werde das aber noch weiter beobachten.
Re: Dateisystem - ext4 für viele kleine Dateien?
Erst fragst Du explizit nach einer Empfehlung für „viele kleine Dateien“ und jetzt soll genau das nicht relevant sein?!curt123 hat geschrieben:04.10.2023 18:28:24... Das kann mehr als 1 Million [Dateien] sein, ist aber für das aktuelle Problem wohl nicht relevant: ...
[/quote]
Hätte ich besser "akut" statt "aktuell" geschrieben?
[/quote]
Nein, das hätte – wenn überhaupt – nur ein Fitzelchen Unterschied gemacht. Du hattest aber explizit nach einer „Empfehlung“ für ein bei vielen kleinen Dateien performantem Dateisystem gefragt. Da ist doch genau das, die Anzahl der Dateien, relevant.
Das ist allerdings heftig, auch wenn eine Platte mit 8(?) TB nicht gerade klein ist. Meine externe (USB-) Backup-Platte hat 4 TB, ist mit 08/15-ext4 formatiert und macht mir schon Falten auf die Stirn, wenn sie länger als 10 Sekunden zum Einhängen braucht.Mein aktuelles oder akutes Problem aber war, dass die mit ext4/small formatierte leere Platte 15 Minuten fürs einhängen gebraucht hat
Das ist sowieso gut.... ich werde das aber noch weiter beobachten.
Gruß
Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
Re: Dateisystem - ext4 für viele kleine Dateien?
Bezüglich zu den Problemen bei deinem WD MyBook, habe ich was dazu bei WD gefunden. Muss aber auch nicht unbedingt bei dir zutreffen.
Thema: "My Book: Mit USB verbunden reagiert nicht mehr, nachdem es in den Energiesparmodus gewechselt ist"
Link: https://support-de.wd.com/app/answers/d ... -es-in-den
Evtl. gibt es für dein Modell eine aktuelle Firmware.
Was jetzt ext4 / btrfs betrifft, ja ext4 ist schneller. BTRFS ist ein CoW Dateisystem und durch die interne Struktur langsamer, als nicht CoW Systeme. Da kann man sich per Cache (bcache) behelfen.
Ich würde jetzt BTRFS auch nur dort einsetzen, wo man die Vorteile (Raid, Subvol ...) ausspielen kann. Jetzt als einzelne System SSD/HDD im PC/Laptop, oder extern, daher als Standardnutzung, macht es imho wenig Sinn.
Thema: "My Book: Mit USB verbunden reagiert nicht mehr, nachdem es in den Energiesparmodus gewechselt ist"
Link: https://support-de.wd.com/app/answers/d ... -es-in-den
Evtl. gibt es für dein Modell eine aktuelle Firmware.
Was jetzt ext4 / btrfs betrifft, ja ext4 ist schneller. BTRFS ist ein CoW Dateisystem und durch die interne Struktur langsamer, als nicht CoW Systeme. Da kann man sich per Cache (bcache) behelfen.
Ich würde jetzt BTRFS auch nur dort einsetzen, wo man die Vorteile (Raid, Subvol ...) ausspielen kann. Jetzt als einzelne System SSD/HDD im PC/Laptop, oder extern, daher als Standardnutzung, macht es imho wenig Sinn.
- cosinus
- Beiträge: 3526
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: Dateisystem - ext4 für viele kleine Dateien?
Das kann an der zu kleinen Blockgröße gelegen haben. Eigentlich ist die nicht schädlich, denn die Festplatte arbeitet ja über den SATA-Controller ja mit den üblichen 512-Byte-Sektoren, aber intern eben mit 4096 Byte pro Sektor. Die Schreibgewindigkeit wird dadurch massiv einbrechen, aber das Einhängen kann dadurch normalerweise nicht so stark verzögert werden. Ich teste das morgen mal, Platten mit 4K-Sektoren hab ich genug.curt123 hat geschrieben:04.10.2023 18:28:24Mein aktuelles oder akutes Problem aber war, dass die mit ext4/small formatierte leere Platte 15 Minuten fürs einhängen gebraucht hat, und dann den verfügbaren freien Platz nicht konsistent angezeigt hat. Jetzt mit ext4 ohne small scheint der Punkt gelöst, ich werde das aber noch weiter beobachten.
Re: Dateisystem - ext4 für viele kleine Dateien?
Zu dem Thema ist mir noch was eingefallen, Hauke hatte mal in seinem Kanal "Nicht der Weisheit letzter Schluß" , einen Clip veröffentlicht, wo er seine Fotos auf einer externen HDD mit BTRFS sichern wollte.
Grüße Sven
Link: https://www.youtube.com/watch?v=seLmmzEOfWUFotos auf Btrfs speichern? Lohnt sich das? - 01.08.22
Beim Durchgehen meiner Ideensammlung bin ich wieder auf die Stichworte zu meinen Btrfs-Tests gestoßen. Ich hatte die Idee, die Fotos meiner Digitalkameras auf einer mit Btrfs formatierten Festplatte zu speichern, da mir einige Funktionen des Dateisystems sehr vielversprechend vorkamen.
Welche Ergebnisse ich ermittelt habe und warum ich mich letzendlich gegen die Verwendung von Btrfs für meinen Einsatzzweck entschieden habe, erfahrt Ihr in diesem Video.
Grüße Sven
Re: Dateisystem - ext4 für viele kleine Dateien?
Ich würde im Normalfall auch ext4 machen.
Aber es gibt noch ein paar kleine Vorteile von BTRFS in dem Szenario:
* BTRFS nutzt die Sektoren gleichmäßiger. Das verlängert die Haltbarkeit von USB-Sticks, die oft beschissenes wearleveling haben.
* insbesondere ältere USB-Sticks neigen zu Bitfehlern. Da bietet BTRFS den DUP-Mode, der alles doppelt, möglichst weit auseinander speichert. Bei "neueren" (nach ~2015) USB-Sticks sehe ich die Probleme nicht mehr so häufig.
* find -date oder ähnliche suchen ist meist vergleichsweise flott auf btrfs. Da kommt auch ext4 nicht dran. Dafür sind die eigentlichen Dateizugriffe auf kleine Dateien deutlich langsamer.
Aber es gibt noch ein paar kleine Vorteile von BTRFS in dem Szenario:
* BTRFS nutzt die Sektoren gleichmäßiger. Das verlängert die Haltbarkeit von USB-Sticks, die oft beschissenes wearleveling haben.
* insbesondere ältere USB-Sticks neigen zu Bitfehlern. Da bietet BTRFS den DUP-Mode, der alles doppelt, möglichst weit auseinander speichert. Bei "neueren" (nach ~2015) USB-Sticks sehe ich die Probleme nicht mehr so häufig.
* find -date oder ähnliche suchen ist meist vergleichsweise flott auf btrfs. Da kommt auch ext4 nicht dran. Dafür sind die eigentlichen Dateizugriffe auf kleine Dateien deutlich langsamer.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Dateisystem - ext4 für viele kleine Dateien?
Die 8 TB USB-Platte, die der konkrete Anlass meiner Frage ist, kam mit exFAT Formatierung und hatte bei vielleicht 2,5 TiB an Dateien kaum noch freien Platz. In der Nutzung des verfügbaren Platzes werden btrfs oder ext4 schonmal besser sein, und die Datensicherheit mag auch höher ausfallen.
Eigentlich habe ich mich für ext4 entschieden. Allerdings interessiert mich doch, wie sehr bei BTRFS, @wanne, die "eigentlichen Dateizugriffe auf kleine Dateien deutlich langsamer" sind. Ich möchte ja auf der Platte nicht nur ganze Sicherungen anlegen und löschen, sondern auch mal im Detail lesen etc., auch löschen oder kopieren, verschieben.
Und, ob die Platzausnutzung nochmal deutlich besser sein kann als bei ext4.
https://ciksiti.com/de/chapters/1622-th ... linux-hint
Eigentlich habe ich mich für ext4 entschieden. Allerdings interessiert mich doch, wie sehr bei BTRFS, @wanne, die "eigentlichen Dateizugriffe auf kleine Dateien deutlich langsamer" sind. Ich möchte ja auf der Platte nicht nur ganze Sicherungen anlegen und löschen, sondern auch mal im Detail lesen etc., auch löschen oder kopieren, verschieben.
Und, ob die Platzausnutzung nochmal deutlich besser sein kann als bei ext4.
https://ciksiti.com/de/chapters/1622-th ... linux-hint
Das Btrfs-Dateisystem ist ein Copy-on-Write (CoW)-Dateisystem und hat keine Journalunterstützung.
https://en.wikipedia.org/wiki/Block_suballocationxviii. Unterzuordnung blockieren: Das Ext4-Dateisystem unterstützt keine Blockunterzuweisung.
Das Btrfs-Dateisystem unterstützt die Blockunterzuweisung.
tail packing can increase storage efficiency even more than twofold, compared to file systems without tail packing.