Wir erwägen den Bau eines Speicherservers mit ca. 16 TB. Momentan betrachten wir sowohl ZFS als auch XFS als Dateisystem. Was sind die Vor- und Nachteile? Worauf müssen wir achten? Gibt es eine dritte, bessere Option?
Wir erwägen den Bau eines Speicherservers mit ca. 16 TB. Momentan betrachten wir sowohl ZFS als auch XFS als Dateisystem. Was sind die Vor- und Nachteile? Worauf müssen wir achten? Gibt es eine dritte, bessere Option?
Antworten:
Ich habe festgestellt, dass XFS für extrem große Dateisysteme mit möglicherweise vielen großen Dateien besser geeignet ist. Ich habe seit über 2 Jahren ein funktionsfähiges XFS-Dateisystem mit 3,6 TB ohne Probleme. Funktioniert definitiv besser als ext3 usw. bei dieser Größe (insbesondere bei vielen großen Dateien und vielen E / A-Vorgängen).
Mit ZFS erhalten Sie Gerätepooling, Striping und andere erweiterte Funktionen, die im Dateisystem selbst integriert sind. Ich kann nicht mit Einzelheiten sprechen (ich lasse andere kommentieren), aber nach allem, was ich sagen kann, möchten Sie Solaris verwenden, um hier den größten Nutzen zu erzielen. Mir ist auch nicht klar, wie viel ZFS hilft, wenn Sie bereits Hardware-RAID verwenden (so wie ich).
xfs_fsr
"Defragmentierungs" -Programm.
ZFS bietet Ihnen Vorteile, die über Software-RAID hinausgehen. Die Befehlsstruktur ist sehr durchdacht und intuitiv. Es bietet auch Komprimierung, Snapshots, Klonen, Senden / Empfangen von Dateisystemen und Cache-Geräte (solche, die sich für neue SSD-Laufwerke interessieren), um die Indizierung von Metadaten zu beschleunigen.
Kompression:
#zfs set compression=on filesystem/home
Es unterstützt das einfache Erstellen von Copy-on-Write-Snapshots, die live bereitgestellt werden können:
# zfs snapshot filesystem/home/user@tuesday
# cd filesystem/home/user/.zfs/snapshot/tuesday
Klonen des Dateisystems:
# 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 kann nur empfehlen, eine Installation von Open Solaris in die Hände zu bekommen und diese auszuprobieren.
http://www.opensolaris.org/os/TryOpenSolaris/
Bearbeiten : Dies ist sehr alt, Open Solaris wurde eingestellt, die beste Möglichkeit, ZFS zu verwenden, ist wahrscheinlich Linux oder FreeBSD .
Vollständige Offenlegung: Früher war ich Sun-Speicherarchitekt, habe aber seit über einem Jahr nicht mehr für sie gearbeitet. Ich bin nur gespannt auf dieses Produkt.
http://opensolaris.org/os/TryOpenSolaris/
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 in den letzten 6 Jahren ausschließlich LVM2 und xfs auf meinen Servern ausgeführt (zu Hause, auch wenn zfs-fuse einfach zu langsam ist) ...
Ich kann jedoch nicht mehr die verschiedenen Fehlermodi zählen, auf die ich bei der Verwendung von Snapshots gestoßen bin. Ich habe aufgehört, sie zu benutzen - es ist einfach zu gefährlich.
Die einzige Ausnahme, die ich jetzt machen werde, ist mein persönliches Mailserver- / Webserver-Backup, bei dem ich über Nacht Backups mit einem kurzlebigen Snapshot mache, der immer der Größe des Quell-Fs entspricht und sofort danach gelöscht wird.
Wichtigste Aspekte, die Sie berücksichtigen sollten:
Ein paar zusätzliche Dinge zum Nachdenken.
Wenn ein Laufwerk in einem Hardware-RAID-Array unabhängig vom Dateisystem, auf dem es sich befindet, ausfällt, müssen alle Blöcke auf dem Gerät neu erstellt werden. Sogar diejenigen, die keine Daten enthielten. ZFS hingegen ist der Volume-Manager, das Dateisystem, und verwaltet Datenredundanz und Striping. Auf diese Weise können nur die Blöcke, die Daten enthalten, intelligent wiederhergestellt werden. Dies führt zu kürzeren Wiederherstellungszeiten, als wenn das Volume zu 100% voll ist.
ZFS verfügt über eine Hintergrundbereinigung, mit der sichergestellt wird, dass Ihre Daten auf der Festplatte konsistent bleiben und alle Probleme behoben werden, bevor sie zu Datenverlusten führen.
ZFS-Dateisysteme befinden sich immer in einem konsistenten Zustand, sodass kein fsck erforderlich ist.
ZFS bietet mit seinen Snapshots und Klonen mehr Flexibilität und Funktionen als die von LVM angebotenen Snapshots.
Sie haben große Speicherpools für die Videoproduktion im Großformat auf einem Linux-, LVM- oder XFS-Stack ausgeführt. Ich habe die Erfahrung gemacht, dass es einfach ist, in die Mikroverwaltung Ihres Speichers einzusteigen. Dies kann zu großen Mengen an nicht verwendetem 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, der den Speicher mikroverwaltet. Ich habe jedoch festgestellt, dass der Poolspeicherungsansatz von ZFS diese Verwaltungsprobleme beseitigt.
ZFS ist absolut erstaunlich. Ich verwende es als Heimdateiserver für einen HD-Dateiserver mit 5 x 1 TB und verwende es auch in der Produktion mit fast 32 TB Festplattenspeicher. Es ist schnell, einfach zu bedienen und bietet einen der besten Schutz vor Datenkorruption.
Wir verwenden OpenSolaris auf diesem Server insbesondere, weil wir Zugang zu neueren Funktionen haben wollten und weil es das neue Paketverwaltungssystem und die Möglichkeit zur Aktualisierung bot.
Welches Betriebssystem möchten Sie ausführen? Oder ist das ein weiterer Teil der Überlegung? Wenn Sie mit Solaris arbeiten, ist XFS meines Wissens nicht einmal eine Option. Wie planen Sie die Verwendung von ZFS, wenn Sie nicht mit Solaris arbeiten? Auf anderen Plattformen ist der Support begrenzt.
Wenn es sich um einen Linux-Server handelt, würde ich mich persönlich an Ext3 halten, schon allein deshalb, weil dort die meisten Tests durchgeführt werden. zfs-fuse ist noch sehr jung. Außerdem hatte ich einmal Probleme mit XFS, als ein Fehler nach einem Kernel-Update zu einer Datenbeschädigung führte. Die Vorteile von XFS gegenüber Ext3 überwogen definitiv nicht die Kosten für die Wiederherstellung der Maschine, die sich in einem entfernten Rechenzentrum befand.
Ich denke nicht, dass Sie sich auf Leistung konzentrieren sollten. Sind Ihre Daten mit XFS, ext4 usw. sicher? Nein. Lesen Sie diese Doktorarbeit und Forschungsarbeiten:
XFS ist nicht sicher gegen Datenkorruption: pages.cs.wisc.edu/~vshree/xfs.pdf
Und ext3, JFS, ReiserFS usw. sind es auch nicht. "Ich bin auf die faszinierende Doktorarbeit gestoßen von Vijayan Prabhakaran, IRON File Systems, das analysiert, wie fünf Standard-Journal-Dateisysteme - NTFS, ext3, ReiserFS, JFS und XFS - mit Speicherproblemen umgehen.
Kurz gesagt stellte er fest, dass alle Dateisysteme vorhanden sind
. . . 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 ein Forschungsbericht dazu: zdnet.com/blog/storage/zfs-data-integrity-tested/811
Keine FS-orientierte Antwort, aber beachten Sie, dass eine Reihe von Festplattencontrollern nicht mit mehr als 2 TB LUNS / logischen Festplatten zurechtkommt - dies kann die Art und Weise, wie Sie Ihren Speicher organisieren, erheblich 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 durchgehend mit 16 TB auskommt.
Es hängt davon ab, welche Funktionen Sie möchten ..., die beiden sinnvollen Optionen sind xfs und zfs, wie Sie sagten, der xfs-Code ist ziemlich gut getestet. Ich habe ihn vor 8 Jahren zum ersten Mal unter IRIX verwendet
Es ist möglich, Snapshots von xfs zu erhalten (mit lvm und xfs_freeze)
Es ist möglich, ein separates Protokollierungsgerät zu haben, z. B. eine SSD
mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1
Große xfs benötigen traditionell viel Speicher zum Überprüfen
Das Problem, dass Nullen auftauchten, war ein "Sicherheits" -Feature, von dem ich glaube, dass es vor einiger Zeit verschwunden ist.
Abgesehen von dem, was bereits erwähnt wurde, ist xfs auf MD-Basis-RAID unter Performance-Gesichtspunkten besser als zfs auf Streaming-Medien. Ich habe genau 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 erlebe ich nie stuter, auf zfs bei komplexen Szenen kann die gleiche Hardware nicht mithalten und fängt an, Frames abzulegen.
Leute, vergessen wir nicht die neueste Ergänzung zu zfs: Deduplizierung. Und lassen Sie uns on the fly über iscsi, nfs oder smb sharing sprechen. Wie bereits erwähnt, blockieren Exporte von zfs-Dateisystemen, Snapshots, raidz (= raid5) -Prüfsumme, dynamische Streifenbreite, Cache-Verwaltung und viele andere. Ich stimme für zfs.