Frage ZFS gegen XFS


Wir überlegen, einen ~ 16 TB Storage Server zu bauen. Im Moment betrachten wir sowohl ZFS als auch XFS als Dateisystem. Was sind die Vorteile, Nachteile? Nach was müssen wir suchen? Gibt es eine dritte, bessere Option?


54
2018-04-30 09:03


Ursprung


Vergleiche sie nicht einmal. ZFS ist ein modernes Dateisystem auf Unternehmensebene wie jfs2, wafl. XFS war vor 10 Jahren gut, aber heute ist es nur eine Steinzeit fs. - disserman
In mancher Hinsicht können Sie sie nicht vergleichen: XFS ist ein Dateisystem; ZFS ist ein Dateisystem und noch viel mehr: Es ersetzt das Dateisystem, den Volume-Manager (wie LVM) und RAID. JFS wird jedoch nicht länger beibehalten, wenn der Speicher dient: XFS ist jedoch aktiv und gepflegt und robust. Wie auch immer - ZFS oder XFS - Sie können meiner Meinung nach nichts falsch machen. - Mei
Ich denke immer noch, dass diese Frage relevant ist, also schreibe unsere Erfahrung hier: XFS ist einfach, du installierst es, du läufst es, es ist schnell, es funktioniert. (HW Raid unten). ZFS ist sicher, hat Komprimierung, aber es gibt keine Arbeit, um so schnell wie XFS arbeiten zu können. Es hängt also von der Situation ab, die Sie erwarten, dass der Server ausgeführt wird. (Backend des Clusters. Benutzerspeicher, Archiv, ...) - SvennD
Es gibt auch Hammer2 dragonflybsd.org/hammer - skan


Antworten:


Ich habe festgestellt, XFS besser geeignet für extrem große Dateisysteme mit möglicherweise vielen großen Dateien. Ich habe jetzt ein funktionierendes 3.6TB XFS Dateisystem seit über 2 Jahren ohne Probleme. Funktioniert auf jeden Fall besser als ext3, usw. in dieser Größe (besonders im Umgang mit vielen großen Dateien und vielen I / O).

Was Sie mit ZFS erhalten, sind Device-Pooling, Striping und andere erweiterte Funktionen, die in das Dateisystem selbst integriert sind. Ich kann nicht mit Details sprechen (ich lasse andere kommentieren), aber von dem, was ich sagen kann, würden Sie Solaris verwenden wollen, um hier den größten Nutzen zu erzielen. Es ist mir auch unklar, wie viel ZFS hilft, wenn Sie bereits Hardware-RAID verwenden (so wie ich).


41
2018-04-30 11:49



Das Schlüsselmerkmal von ZFS, das Sie normalerweise nicht bekommen, ist Block-Level-CRC, der stille Datenkorruption erkennen und hoffentlich verhindern soll. Die meisten Dateisysteme gehen davon aus, dass die Daten tatsächlich auf den Datenträger geschrieben wurden, wenn ein Schreibvorgang erfolgreich abgeschlossen wurde. Das ist nicht immer der Fall, besonders wenn ein Sektor "marginal" wird. ZFS erkennt dies, indem es den CRC gegen den resultierenden Schreibvorgang prüft. - Avery Payne
Und ja, ich mag XFS sehr. :) Der einzige Fehler, den Sie beachten müssen, ist die Neigung, Sektoren, die während einer Journalwiederherstellung "schlecht" waren, auf Null zu setzen. In einigen (seltenen) Fällen kann es zu Datenverlusten kommen ... Dieses Paper wurde mit dem Google-Suchbegriff "xfs zeros out sectors on recovery" gefunden. pages.cs.wisc.edu/~vshree/xfs.pdf - Avery Payne
Eines der Dinge, die ich bei XFS mag, ist die xfs_fsr "Defragmentierung" Programm. - Cristian Ciupitu
Der Nutzen von ZFS-Block-CRCs ist fraglich. Festplatten und SSDs verwenden Hamming-Code ECC, um Einzelbitfehler zu korrigieren und Zwei-Bit-Fehler zu melden. Wenn der ECC den physischen Lesefehler nicht transparent korrigieren kann, gehen die Daten trotzdem verloren und ein Lesefehler wird an das Betriebssystem gemeldet. CRCs korrigieren keine Fehler. Diese Funktion wird als großer Vorteil von ZFS angesehen, aber in Wahrheit ist es redundant und hat keinen Wert. Was den XFS-Null-nach-Stromausfall-Fehler betrifft, der vor langer Zeit korrigiert wurde und heute nicht relevant ist. - Jody Lee Bruchon


ZFS bietet Ihnen Vorteile jenseits von Software-RAID. Die Befehlsstruktur ist sehr durchdacht und intuitiv. Es hat auch Kompression, Snapshots, Klonen, Dateisystem Senden / Empfangen und Cache-Geräte (diese schicken neuen SSD-Laufwerke), um die Indizierung von Meta-Daten zu beschleunigen.

Kompression:

#zfs set compression=on filesystem/home

Es unterstützt das einfache Erstellen von Snapshots zum Kopieren und Schreiben, die live bereitgestellt werden können:

# zfs snapshot filesystem/home/user@tuesday
# cd filesystem/home/user/.zfs/snapshot/tuesday

Dateisystem klonen:

# zfs clone filesystem/home/user@tuesday filesystem/home/user2

Dateisystem senden / empfangen:

# zfs send filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Inkrementelles Senden / Empfangen:

# zfs send -i filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Caching-Geräte:

# zpool add filesystem cache ssddev

Dies ist alles nur die Spitze des Eisbergs, ich würde wärmstens empfehlen, eine Installation von Open Solaris in die Hände zu bekommen und dies auszuprobieren.

http://www.opensolaris.org/os/TryOpenSolaris/

Bearbeiten: Dies ist sehr alt, Open Solaris wurde eingestellt, der beste Weg, um ZFS zu verwenden, ist wahrscheinlich auf Linux, oder FreeBSD.


Vollständige Offenlegung: Ich war früher Sun Storage Architect, aber ich habe seit über einem Jahr nicht mehr für sie gearbeitet. Ich bin einfach begeistert von diesem Produkt.


73
2018-05-05 21:09



Dieser Link funktionierte bei mir nicht mit www. Benutzen http://opensolaris.org/os/TryOpenSolaris/ - aggregate1166877
Ich würde sagen, dass die beste Wette für zfs immer noch FreeBSD ist. Es ist ein Teil des Systems für einige Jahre. Also meine Vermutung ist, es gibt die geringste Möglichkeit für böse Überraschungen. Obwohl es nur meine $ 0,02 ist. - Fox


Die Verwendung von lvm Snapshots und xfs auf Live-Dateisystemen ist ein Rezept für eine Katastrophe insbesondere wenn sehr große Dateisysteme verwendet werden.

Ich habe die letzten 6 Jahre ausschließlich auf LVM2 und xfs auf meinen Servern ausgeführt (zu Hause, auch weil zfs-fuse einfach zu langsam ist) ...

Ich kann jedoch die verschiedenen Fehlermodi, die bei der Verwendung von Snapshots aufgetreten sind, nicht mehr zählen. Ich benutze sie nicht mehr - es ist einfach zu gefährlich.

Die einzige Ausnahme, die ich jetzt machen werde, ist meine persönliche Mailserver / Webserver-Sicherung, wo ich über Nacht Backups mit einem flüchtigen Schnappschuss machen werde, der immer gleich der Größe der Quelle fs ist, und wird direkt danach gelöscht.

Die wichtigsten Aspekte, die Sie beachten sollten:

  1. Wenn Sie ein großes (ish) Dateisystem haben, das einen Snapshot hat, wird die Schreibleistung auf schreckliche Weise verschlechtert
  2. Wenn Sie ein großes (ish) Dateisystem haben, das einen Snapshot hat, wird die Bootzeit mit wörtlichen zehn Minuten verzögert, während der Datenträger während des Imports der Volume-Gruppe auf und ab läuft. Es werden keine Nachrichten angezeigt. Dieser Effekt ist besonders schlimm, wenn root auf lvm2 ist (weil das Warten auf das root-Gerät zu einem Timeout führt und das System nicht bootet)
  3. Wenn Sie einen Schnappschuss haben, ist es sehr einfach, keinen Platz mehr zu haben. Sobald der Speicherplatz erschöpft ist, ist der Snapshot beschädigt und kann nicht repariert werden.
  4. Snapshots können derzeit nicht zusammengerollt werden (siehe http://kerneltrap.org/Linux/LVM_Snapshot_Merging). Dies bedeutet, dass die einzige Möglichkeit, Daten von einem Snapshot wiederherzustellen, darin besteht, sie tatsächlich zu kopieren (rsync?). GEFAHR GEFAHR: Sie tun nicht möchte dies tun, wenn die Snapshot-Kapazität nicht mindestens die Größe der Quelle fs hat; Wenn Sie das nicht tun, werden Sie bald auf die Mauer treffen und am Ende sowohl die Quelle fs als auch den Schnappschuss verderben. (Ich war dort!)

18
2017-10-08 23:14



Wie es passiert, hat gerade heute jemand bestätigt, dass der vg mit snapshot - unable-to-boot-linux immer noch aktuell ist: bugs.launchpad.net/lvm2/+bug/360237 - sehe
Wenn sie diesen Fehler erneut untersuchen, denken sie immer noch, dass die abartigen Boot-Probleme mit Snapshots "normales Verhalten für LVM" sind: bugs.launchpad.net/lvm2/+bug/360237/comments/7 (am 2012-01-07) - sehe
Update: Gleicher Status. Nur jetzt sind es noch 7 Jahre. - sehe


Ein paar zusätzliche Dinge zum Nachdenken.

  • Wenn ein Laufwerk in einem Hardware-RAID-Array abstürzt, unabhängig von dem Dateisystem, das darüber liegt, müssen alle Blöcke auf dem Gerät neu erstellt werden. Sogar diejenigen, die keine Daten hatten. ZFS hingegen ist der Volume-Manager, das Dateisystem und verwaltet Datenredundanz und Striping. So können nur die Blöcke, die Daten enthalten, intelligent neu erstellt werden. Dies führt zu schnelleren Wiederherstellungszeiten, als wenn das Volume zu 100% voll ist.

  • ZFS verfügt über ein Hintergrund-Scrubbing, das dafür sorgt, dass Ihre Daten auf dem Datenträger konsistent bleiben und alle gefundenen Probleme repariert werden, bevor es zu Datenverlusten kommt.

  • ZFS-Dateisysteme sind immer in einem konsistenten Zustand, so dass fsck nicht benötigt wird.

  • ZFS bietet im Vergleich zu den von LVM bereitgestellten Snapshots auch mehr Flexibilität und Funktionen mit seinen Snapshots und Clones.

Große Speicherpools für die großformatige Videoproduktion auf einem Linux-, LVM-, XFS-Stack ausgeführt. Ich habe die Erfahrung gemacht, dass es leicht ist, Ihren Speicher zu verwalten. Dies kann zu großen ungenutzten Speicherplatz und Zeit / Problemen bei der Verwaltung Ihrer logischen Volumes führen. Dies ist möglicherweise keine große Sache, wenn Sie einen Vollzeit-Speicheradministrator haben, dessen Aufgabe es ist, den Speicher zu verwalten. Aber ich habe festgestellt, dass der Pool-Speicher-Ansatz von ZFS diese Verwaltungsprobleme beseitigt.


13
2017-07-14 18:21





ZFS ist absolut fantastisch. Ich benutze es als meinen Home File Server für einen 5 x 1 TB HD-Dateiserver und verwende es auch in der Produktion mit fast 32 TB Festplattenspeicher. Es ist schnell, einfach zu bedienen und enthält einige der besten Schutz vor Datenbeschädigung.

Wir verwenden OpenSolaris insbesondere auf diesem Server, weil wir Zugriff auf neuere Funktionen haben wollten und weil es das neue Paketverwaltungssystem und die Art des Upgrades zur Verfügung stellte.


8
2018-05-06 00:07





Welches Betriebssystem möchten Sie ausführen? Oder ist das ein anderer Teil der Betrachtung? Wenn Sie Solaris ausführen, ist XFS, soweit ich weiß, nicht einmal eine Option. Wenn Sie Solaris nicht verwenden, wie planen Sie die Verwendung von ZFS? Der Support ist auf anderen Plattformen begrenzt.

Wenn Sie von einem Linux-Server sprechen, bleibe ich bei Ext3 persönlich, und sei es nur, weil es die meisten Tests erhält. ZFS-Fuse ist noch sehr jung. Außerdem hatte ich einmal Probleme mit XFS, als ein Fehler die Daten nach einem Kernel-Update beschädigte. Die Vorteile von XFS gegenüber Ext3 überwiegen definitiv nicht die Kosten für die Wiederherstellung der Maschine, die sich in einem entfernten Rechenzentrum befand.


7
2018-04-30 11:45



FreeBSD hat einen ausgereiften nativen Port von ZFS - Brian Gianforcaro
wiki.freebsd.org/ZFSKnownProblems Ich denke, dass deine Definition von reif anders sein könnte als meine :-) Vielleicht würde ich es in Betracht ziehen, nachdem 8.0 veröffentlicht wurde. - Kjetil Limkjær
ext3 mit 16 TB? Nein nein Nein. TU es nicht. Du wirst weinen. ZFS oder XFS sind meiner Meinung nach die besten Dateisysteme. Verwenden Sie ZFS, wenn Sie können (nicht unter Linux ausführen). Ich sage dies mit viel Erfahrung in großen Volumes auf Linux und Solaris über 5 Jahre. - Thomas
FreeBSD 7.2 nach 20090601 hat die meisten ZFSKnownProblems zum Problem gemacht. Wenn Sie die AMD64-Version des Betriebssystems ausführen, ist es jetzt stabil. In Version 8.0 hat FreeBSD ZFS als stabil genug für die Produktion gekennzeichnet. - Walter
ZFS unter Linux ist jetzt verfügbar (zfsonlinux.de) - James Moore


Ich denke nicht, dass Sie sich auf die Leistung konzentrieren sollten. Sind Ihre Daten sicher mit XFS, ext4, etc? Nein. Lesen Sie diese Dissertation und Forschungsarbeiten:

XFS ist nicht sicher gegen Datenkorruption: pages.cs.wisc.edu/~vshree/xfs.pdf

Und weder ext3, JFS, ReiserFS, etc: zdnet.com/blog/storage/how-microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent "Ich stieß auf die faszinierende Dissertation von Vijayan Prabhakaran, IRON File Systems, die analysiert, wie fünf Standard-Dateisysteme für Journale - NTFS, ext3, ReiserFS, JFS und XFS - mit Speicherproblemen umgehen.

Kurz gesagt, er hat festgestellt, dass alle Dateisysteme haben

. . . failure policies that are often inconsistent, sometimes buggy, and generally inadequate in their ability to recover from partial disk failures. "

Aber ZFS schützt Ihre Daten erfolgreich. Hier ist eine Forschungsarbeit dazu: zdnet.com/blog/storage/zfs-data-integrity-tested/811


6
2018-05-16 12:34





Keine FS-orientierte Antwort, aber seien Sie sich bewusst, dass eine Reihe von Festplatten-Controllern nicht mit> 2 TB LUNS / logischen Festplatten umgehen können - dies kann die Art, wie Sie Ihren Speicher organisieren, ein wenig einschränken. Ich wollte nur, dass Sie sich dessen bewusst sind, damit Sie Ihr System Ende-zu-Ende überprüfen können, um sicherzustellen, dass es mit 16 TB überall zurechtkommt.


5
2018-06-16 12:52





Es hängt davon ab, welche Funktionen Sie wollen ..., die beiden vernünftigen Möglichkeiten sind xfs und zfs, wie Sie gesagt haben, der xfs-Code ist ziemlich gut getestet Ich habe es vor 8 Jahren unter IRIX zum ersten Mal verwendet

Es ist möglich, Snapshots von xfs zu erhalten (mit lvm und xfs_freeze)

Es ist möglich, ein separates Protokoll-Gerät, zB SSD, zu haben

mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1

Große xfs benötigen traditionell viel zu überprüfenden Speicher

Das Problem, dass Nullen auftauchen, war eine "Sicherheits" -Funktion, die meiner Meinung nach vor einiger Zeit verschwunden ist.


1
2017-07-14 16:48





Abgesehen von dem, was bereits erwähnt wurde, leistet raids im Hinblick auf die Leistung xfs auf der MD-Basis eine bessere Leistung als zfs auf Streaming-Medien. Ich habe die gleiche Hardware für ein halbes Jahrzehnt mit xfs und ungefähr die gleiche Zeit mit zfs auf meinem Medienserver verwendet. Auf dem Intel Atom 330 mit xfs starter ich nie, auf zfs in komplexen Szenen kann die gleiche Hardware nicht mithalten und fängt an, Frames fallen zu lassen.


1
2017-12-10 20:37





Anstatt eine eigene zu bauen, ist die Sun 7410 alias Toro eine Alternative. Es hat einige sehr nützliche Software, die mit der Lösung gebündelt ist.


0
2018-05-01 06:03