Das "richtige" Filesystem für einen (Web-)Server

s24!

Registered User
Guten Abend,

ich hab hier einen Server, welcher hauptsächlich als Webserver arbeitet. Heißt also: Lesezugriffe normalerweise auf kleinere Dateien und Schreibzugriffe sind größtenteils Logeinträge.
Natürlich findet auch FTP-Transfer statt, aber das ist ja im Endeffekt von den Dateien her in etwa dasselbe. Ich denke, dass der absolute Großteil der Dateien kleiner als 1 MB sein dürfte.

Wollte mal in die Runde fragen, welches Dateisystem ihr da warum einsetzen würdet. Momentan ist es ein ext4 und das läuft auch ganz gut, aber vielleicht gibt's ja brauchbare Alternativen?
Wichtig ist natürlich eine ordentliche "Ausfallsicherheit", das sollte nicht einfach crashen und vielleicht auch mal einen Absturz / Hardware-Reset überleben.

Wo wir dabei sind: (Wie) lassen sich Dateisysteme (z.B. ext4) noch optimieren? Bringt eine hohe Blockgröße was? (Speicherplatz ist hier nicht das Problem, es darf also "verschwendet" werden.)


Viele Grüße
 
Für Webserver mit kleinen Files und für Datenbanken hab ich sonst immer XFS genommen.
Jetzt würde ich aber glaubich auch zu EXT4 greifen, zumal das afaik etwas robuster bei Abstürzen ist.

Die Blockgröße sollte imho vor allem zum darunter liegenden RAID passen. Welches verwendest du?
 
Ich wuerde aufgrund der Absicherung gegen Bitfehler ZFS vorschlagen, allerdings ist es bislang nur rudimentaer als Kernel-Modul (sehr unstabil, stuerzt bei Dedup unter hoher Last einfach mal ab) oder Fuse-Modul (nicht sehr viele Features, stabil, aber halt Fuse...) verfuegbar.
Das naheliegenste was ZFS solide kann ist Debian/kFreeBSD, allerdings weiss ich nicht welche zPool-Version da verfuegbar ist.

EXT4 ist recht solide und liefert ordentlich Performance, ich denke nicht dass du durch einen FS-Wechsel (was uebrigens je nach Inhalt der Partitionen mehrere Stunden Downtime beim "Schaufeln" mit sich bringt) hohe Leistungsspruenge erwarten kannst.
 
Ich würde es für den Moment bei ext4 belassen.
XFS bringt nur bei großen Dateien mehr performance... ZFS ist unter linux zu instabil. Reiserfs ist alt und wurde bei mir mit der Zeit ziemlich langsam.

Eventuell ist btrfs ein guter Kandidat wobei ich da noch ne weile warten würde.
 
BTRFS ist imho nichts anders als ein "Ich versuch es auch mal"-Nachbau von ZFS, wessen Funktionen noch lange nicht ausgereift sowie die Wartungstools zum Teil lueckenhaft sind.
 
Naja, mit XFS musste ich zumindest mal nen FS-Check machen, nachdem der Strom weg war und hatte noch n paar kleine Probleme.
Unter EXT3 lief das bisher besser, EXT4 soll (angeblich) noch besser sein.
War aber bisher alles nichts gravierendes.


BTRFS ist noch Beta und ZFS unter Linux - naja. FUSE ist irgendwie...und ein gebastel mit BSD im Kernel....

Wenn ZFS dann doch bitte mit Solaris, aber ich denke, hier sind die vielen Vorzüge nicht soo viel wert - ich gehe mal von nem einfachen Webserver mit nur nem RAID1 aus.
 
Wenn es dir wirklich wichtig ist und du über könnte, müsste, würde hinaus willst, dann einfach schnell zu Hause nachbauen und benchmarken. So mache ich das auch immer und die Ergebnisse sind manchmal wirklich überraschend. Hatte schon Fälle, in denen das eingesetzte Web-Framework alle theoretischen Optimierungen obsolet gemacht hat.

Wenn du dann deine Ergebnisse noch postest, wäre das richtig charmant.
 
Guten Abend,
der Thread ist zwar schon etwas älter und ein neues FS konnte ich in der Zeit noch nicht ausprobieren, aber ich fragte ja ursprünglich auch nach Optimierungen des bestehenden ext4, und dazu kann ich mittlerweile was sagen.

Wir haben die folgenden Mount-Optionen gesetzt:
Code:
noatime,nodiratime,data=writeback,barrier=0,nobh

Die in Munin angezeigte Festplatten-Auslastung sank schlagartig von durchschnittlich (!) 30% auf ein Maximum von 15% in den Abendstunden. Seit dem war der Server wieder aktiv zu gebrauchen. ;)


Grüße
 
Bedankt. Probiere ich aus.
Auf meinen Servern ist die Performance von Ext4 im Vergleich zu Ext3 ziemlich unterirdisch und neu aufsetzen ist im Moment nicht möglich.

ZFS ist allerdings sehr zu empfehlen.
 
Last edited by a moderator:
Gerne. Beachte aber, dass die Optionen (teilweise) recht riskant sein können wenn dir die ganze Kiste abschmiert. =) Bei uns ist bei mehreren Resets allerdings noch nichts passiert - nur das RAID muss danach resynced werden.

Woran machst du fest, dass ext4 langsamer als sein "Vorgänger" ist? Das wundert mich ehrlich gesagt etwas...
 
Gerne. Beachte aber, dass die Optionen (teilweise) recht riskant sein können wenn dir die ganze Kiste abschmiert. =) Bei uns ist bei mehreren Resets allerdings noch nichts passiert - nur das RAID muss danach resynced werden.

Woran machst du fest, dass ext4 langsamer als sein "Vorgänger" ist? Das wundert mich ehrlich gesagt etwas...

Ausschließlich subjektive Erfahrung.
Zwei Server mit nahezu identischer Konfiguration/Hardware und identischem Aufgaben.
Einiger Unterschied: Einmal ext3 und einmal ext4.

Bei dem ext4 System liegt der Load zwischen 2,5 und 5 ... bei dem ext3 System bei 0,25 bis 1 !
Iotop zeigt auf dem ext4 System ständig [jbd2/md2-8] mit 30% bis 99% Last an und das System reagiert extrem träge.
 
Auch bedankt! Habe auf meinen Centos 5.8 Maschinen nach wie vor ext3 im Einsatz (was der Bauer nicht kennt und so :D).

Bin am Überlegen, ob ich auf ext4 umstelle, allerdings werde ich das nach den Ansagen hier im Thread erstmal gründlich testen.
 
Zu den Optionen hinzu kommt noch dass man, falls der Server zB eine SSD hat, das Filesystem-Journal auf diese auslagern kann.
Ein EXT-System dessen Journal verloren geht oder geschrottet wird (zB SSD-Ausfall) benimmt sich mehr oder weniger wie ein EXT-2; sprich Full-scan notwendig und moeglicher Datenverlust der letzten Minuten vor dem Crash.
Falls man schon auf die oben genannten Mount-Optionen setzt kann das aber so oder so passieren.

@djabit; das klingt nach noatime (kein Loggen von Access-Time), sicher dass das nicht aktiv ist auf der ext3 Buechse.
_Eigentlich_ sollte ext4 gleiche bis etwas bessere Performance in allen Bereichen liefern.
Nur fuer MySQL's InnoDB soll es Geruechten zufolge etwas schlechter sein, was man aber dank innodb_flush_method=ALL_O_DIRECT (Percona patched) oder innodb_flush_method=O_DIRECT (Standard Mysqld) eh umgehen sollte.
 
Trau dich und steig auf FreeBSD + ZFS um, kann dir nur wärmstens empfehlen.
Wen du mit Linux vertraut bist, dann dauert es nicht lange bis du mit FreeBSD gut klar kommst.
Ich arbeite mit Linux als auch mit *BSD und muss ehrlich zugeben, ich bevorzuge FreeBSD + ZFS. Es gibt nichts vergleichbares als die Kombination aus FreeBSD und ZFS ;)
 
Es ist nicht so, dass ich mich das nicht traue. Ich hab nur leider keine Zeit dafür. :P
Es wird noch ganz viel Zeit vergehen, bis ich ein neues System anteste. =)
 
Back
Top