Lohnt sich die Verwendung von ZFS und RAID-Z in hausgemachten NAS (zum Beispiel freeNAS)?


28

Die Funktionen von ZFS und RAID-Z sehen unterschiedlich vielversprechend aus. Sieht so aus, als wäre es ein perfekter FS für Heim-NAS-Lösungen, Drobo-Sachen für Arme und Ähnliches.

Gibt es irgendwelche Nachteile, die ich beachten sollte?

Antworten:


27

Ein Dateisystem mit einem Schnappschuss zu versehen ist ein unglaubliches Gefühl, so geekig das auch klingt. Zu wissen, dass Sie sofort einen Rollback durchführen können, ist ein beruhigender Gedanke. Schnappschüsse dauern ebenfalls nur wenige Sekunden. Ein Kollege und ich haben kürzlich ein OpenSolaris-NAS für ein kleines College (über 200 Studenten) für den iSCSI-Speicher der virtuellen Maschine für Citrix XenServer, den Studentendateispeicher und die Verwaltungsdateien bereitgestellt. Dateien werden mit einer Prüfsumme versehen, sodass Sie die Garantie haben, dass bei einem kleinen Fehler auf Festplattenebene festgestellt wird, dass Ihre Dateien nicht unbemerkt beschädigt werden.

Mit etwas Budget haben wir einen Server mit 9 Festplatten, 2 für das mit ZFS gespiegelte Betriebssystem, 4 für Daten, 2 Parität (mit ZFS RAIDZ2) und 1 Ersatzlaufwerk. Jedes war 1 TB groß, wodurch es auf ungefähr 2,5 TB oder mehr heruntergefahren werden konnte (Sie verlieren etwas Platz für die Konvertierung von 1 TB in 1 TB und andere Overhead-ähnliche Dateisystemdaten). Das Snapshot-Erstellen des Root-Speicherpools dauerte weniger als 2 Sekunden. Wenn Sie sich für ZFS entscheiden, fragen Sie sich, wie Sie jemals zurückkehren werden und warum dies nicht Standard ist.

Snapshots können auch mit 'zfs send' über SSH an einen anderen Computer gesendet werden, auf dem dieselbe Version von ZFS ausgeführt wird. Diese Änderungen werden inkrementell gesendet, sodass dort keine Verschwendung entsteht.

Der einzige Nachteil ist, die richtigen Befehle zu kennen, obwohl OpenSolaris einen netten Planungsmanager für tägliche Schnappschüsse hat, den ich jedoch nicht verwendet habe. Das Teilen über iSCSI, CIFS / SMB oder NFS ist ziemlich trivial - aber in der neuesten Version mit dem neuen Framework COMSTAR ergeben sich einige Probleme. Stellen Sie sicher, dass Sie den richtigen Leitfaden für Ihre Veröffentlichung verwenden, wenn Sie diesen Weg beschreiten. 2009.06 hat einige Änderungen seit 2008.11, die ich empfehle. Ich würde es auch nicht als Desktop verwenden - Gnome und X scheinen etwas Aufmerksamkeit zu benötigen.

Das Letzte: Sie benötigen mindestens 512 MB bis 1 GB Arbeitsspeicher, damit ZFS reibungslos funktioniert. YMMV aber, also probieren Sie es aus und sehen Sie, was Sie denken.

Lesen Sie die Dokumente durch: http://wikis.sun.com/display/BluePrints/Provisioning+with+iSCSI+and+Solaris+ZFS+in+10+Minutes

Und vielleicht weniger bekannte Solaris-Funktionen http://www.c0t0d0s0.org/pages/lksfbook.html

Und wenn Sie Lust haben, ein paar Dinge zu testen: http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide

Ein letzter Hinweis für alle Leser: Wenn Sie über eine RAID-Karte verfügen und die Funktionen von ZFS nutzen möchten, können Sie die Festplatten in JBOD auslasten, im Gegensatz zu einer von der Karte vorgegebenen RAID-Konfiguration. Genießen!


5
Ich verwende Solaris mit RAIDZ2 für meinen persönlichen Dateiserver und es war großartig. Es ist einfach einzurichten, schnell und zuverlässig. Ich würde Solaris nicht als Desktop-Betriebssystem verwenden, aber als Server-Betriebssystem habe ich nichts Besseres gefunden.
Amok

2
Ich habe festgestellt, dass Solaris auch ein Desktop-Betriebssystem für menschenwürdige Arbeit ist, kann es jedoch nicht für den Heimgebrauch empfehlen (wo möglicherweise Zugriff auf mehr Multimedia-Apps erforderlich ist).
Brian Knoblauch

7

Wenn Sie mit NAS (Open) Solaris oder FreeBSD auf PC-Hardware meinen, die als Dateiserver fungiert, dann sollte dies in Ordnung sein.

Siehe diese Frage zum Aufbau eines eigenen NAS. Möglicherweise ist die Einrichtung und Verwaltung von dedizierter NAS-Software wie FreeNAS einfacher.


4

ZFS auf einem Heim-NAS ist großartig. Ich habe seit Jahren einen FreeBSD-Server, auf dem ZFS ausgeführt wird (jetzt mit V15 auf FreeBSD 8.2 aktualisiert), und die Wiederherstellungsaspekte sind eine der verborgenen Schätze.

Ich besitze ein System mit zwei 2-TB-Laufwerken in einem ZFS-Spiegel, der aus Umweltgründen abgestürzt ist. Bei der Wiederherstellung dauerte es nur Sekunden, bis ZFS die Probleme mit dem Laufwerk behoben hatte. Ein standardmäßiger RAID-Neuaufbau auf 2-TB-Laufwerken dauert lange. Ich hatte einen weiteren Würfel, weil einige der internen Fans gestorben sind. Dieses System hatte ein RAIDZ mit 4 Laufwerken und konnte den gesamten Datenverlust innerhalb von 5 Minuten über ein 2-TB-Setup wiederherstellen.

Wenn Sie FreeBSD mit Samba und ZFS ausführen, können Sie die Schnappschüsse aus der ersten Antwort mit den zuletzt verwendeten Dateien (in Vista und Windows 7) kombinieren und dann ältere Dateiversionen über die Windows-GUI anzeigen. Weitere Informationen finden Sie unter http://www.edplese.com/samba-with-zfs.html .



3

Es ist zu beachten, dass die Linux-ZFS-Implementierung aufgrund von Lizenzproblemen etwas lahmgelegt ist. Es wird als Userspace-Programm ausgeführt und weist eine drastisch reduzierte Leistung und iirc, einen reduzierten Funktionsumfang, auf. Solaris und FreeBSD sind die empfohlenen Betriebssysteme, obwohl Mac OSX nur eingeschränkte Unterstützung bietet.

Follow-up - Der OSX-Port von ZFS ist inzwischen etwas veraltet, ich würde ihn nur für Tests empfehlen


1
zfsonlinux.org verwendet ein Kernelmodul und weist nicht dieselben Leistungsprobleme auf.
Devicenull

1
Die Kernel-Modus-Versionen von ZFS unter Linux sind wesentlich stabiler geworden. Das ist eines, das Sie für ZFS unter Linux verwenden möchten.
Walter

1

Ich habe vorgehabt, es für immer zu versuchen, da das Ausführen eines Raid-Z-Hosts mit einer NFS-Freigabe das ist, wofür OpenSolaris gemacht wurde. Aber ohne es ausprobiert zu haben, kann ich noch nicht über die Vor- oder Nachteile sprechen. Natürlich können Sie es nicht direkt unter Windows mounten, es sei denn, Sie führen auch Samba aus, und möglicherweise können nicht beide für dasselbe Array ausgeführt werden. Wenn ich es tun würde, würde ich nicht von demselben Raid-Z-Array booten, das ich teile, daher bräuchten Sie mindestens 4 Laufwerke, und ich denke darüber nach, 6 zu verwenden.


1

Ich benutze Solaris, OpenSolaris und OpenIndiana seit einiger Zeit. ZFS ist eine der attraktivsten Funktionen in diesen Betriebssystemen. Ich war sehr beeindruckt von ZFs und habe kürzlich natives ZFS auf meiner neuen Ubuntu-Workstation installiert. Die Lizenzierung erfordert, dass der Benutzer sie installiert, aber es hat für mich gut funktioniert, wenn ich die Informationen aus dem ZFS-Linux-Projekt verwendet habe.

Meine neue Installation ist eine 64-GB-SSD für das Betriebssystem und my / home sowie 4 als raidz konfigurierte 2-TB-Laufwerke. Ich verwende ZFS-Dateigruppen als Verzeichnisse in meinem Home-Verzeichnis, um zu vermeiden, dass die kleine SSD mit Dateien geladen wird, die ich bei Betriebssystem-Upgrades nicht bevorzugen würde.

Bisher scheint das für mich wirklich gut zu funktionieren. Die SSD macht das Betriebssystem sehr reaktionsschnell und der Speicherplatz und die Geschwindigkeit sind auch ziemlich gut. Ich beabsichtige, das Festplatten-Array an diesem Wochenende einem Benchmark zu unterziehen.

Ich bin sehr beeindruckt von ZFS. Es wurde entworfen und konstruiert, um das letzte Wort in Dateisystemen zu sein, und meiner Erfahrung nach ist es dies auch.


1

"Sieht so aus, als wäre es ein perfekter FS für Heim-NAS-Lösungen, Drobo-Sachen für Arme und Ähnliches."

Für zu Hause und für kleine, mittlere und große Unternehmen. Sie können sicher sein, dass ZFS nichts "armes" an sich hat.

Oracle bietet beispielsweise eine umfassende Unterstützung für ZFS:

http://www.oracle.com/technetwork/server-storage/solaris11/technologies/zfs-338092.html

Mit ZFS können Sie Drobo-ähnliche Funktionen mit ein wenig Recherche und zu geringeren Kosten selbst neu erstellen.

Meine erste Empfehlung ist, dass Sie sich über die verschiedenen Versionen von ZFS informieren. Es kann ein bisschen kompliziert werden mit den ganzen Unterschieden zwischen OpenSolaris, OpenIndiana, Oracle Solaris, BSD und Linux, die sich aus verschiedenen Lizenztypen ergeben. Wenn Sie einen dedizierten ZFS-Computer haben, können Sie je nach gewünschter Version das richtige Betriebssystem installieren, das diesen unterstützt.

Einige der Unterschiede umfassen die Unterstützung für die Verschlüsselung und das Booten von ZFS-Partitionen.


-1

Ich habe vor kurzem eine Home Storage Box konfiguriert und Raid 10 (Mirror + Strip) anstelle von Raidz gewählt. Die Nachteile von Raidz sind:

  1. Wenn Ihre Festplatten nicht die gleiche Größe haben, verwenden Sie nur die Größe der kleinsten Festplatte pro vdev. Wenn Sie beispielsweise zwei 1-TB-Festplatten und zwei 1,5-TB-Festplatten haben, behandelt ein Raidz-Pool mit allen 4 Festplatten die 1,5-TB-Festplatten als 1-TB-Festplatten.

  2. raidz sind ziemlich statisch. Wenn Sie ein Raidz von 4 Festplatten haben, können Sie nicht einfach eine fünfte Festplatte hinzufügen. Sie müssen ein neues RAIDZ-VDEV mit 4 Festplatten hinzufügen. Dies macht raidz-Setups weniger flexibel als raid10-Setups, bei denen Sie jederzeit ein weiteres Festplattenpaar in den Pool legen können.

Der Nachteil von raid10 ist, dass Sie 50% des Speichers verlieren, aber bei den heutigen Speicherpreisen ist dies keine so große Sache.

Ein Nachteil ist, dass die NFS-Kompatibilität mit Linux nicht besonders gut ist. Damit es funktioniert, musste Linux über TCP mit dem NFS3-Protokoll gemountet werden, und ich habe keine weichen Timeouts festgelegt (ich hatte Timeouts und sie verursachten Probleme).

Für die Windows-Dateifreigabe habe ich Samba und nicht den eingebauten CIFS-Dienst verwendet. Aus irgendeinem Grund war ich nicht in der Lage, CIFS zum Funktionieren zu bringen.

eine nette sache ist, dass sie linux-boxen mit rsync auf der offenen solaris-box sichern und dann einen zfs-snapshot erstellen können. Ich habe ein Tool namens zync geschrieben , das den Prozess automatisiert:


1
ZFS kann wie RAID0, RAID1, RAID5 oder RAID6 verwendet werden, da es Spiegelung, Striping und RAID5 / 6-Parität unterstützt.
Amok

Erfordert keine Standard-RAID-Konfiguration (wie RAID 1 und RAID 5), dass alle Laufwerke dieselbe Größe haben? Es sind xRAID und andere benutzerdefinierte RAID-Setups, die solche Dinge unterstützen. Erstellen Sie im angegebenen Beispiel zwei Pools, einen mit 2 1-TB-Laufwerken und einen mit 2 1,5-TB-Laufwerken.
Walter

-3

Großartige Funktionen und Redundanz geben Ihnen möglicherweise ein falsches Sicherheitsgefühl. Denken Sie daran, ZFS ist sehr kompliziert. Wenn eines Tages etwas schief geht, können Sie möglicherweise nicht auf Ihre Daten zugreifen, und es gibt nur sehr wenige Personen, die helfen können.


Gleiches gilt für die meisten Hardware-RAID da draußen ...
Brian Knoblauch

1
ZFS ist etwas Einzigartiges. Hardware-RAIDs haben, so fragil sie auch sein mögen, ein viel einfacheres Layout auf der Festplatte. Und es gibt mehr Leute, die Daten von defekten RAID-Arrays wiederherstellen können. Und es gibt einige Datenwiederherstellungstools für gängige Dateisysteme. :)
Bender

Ich habe es mit FreeBSD verwendet und hatte einen Systemabsturz aufgrund eines Stromausfalls (UPS stürzt ab, hat keinen Saft mehr, bevor es heruntergefahren wird) und das wirklich Schlaue ist, dass wenn das System wieder hochfährt, alle Daten wiederhergestellt werden im Hintergrund, während das System ausgeführt wird (anstatt mehrstündige RAID-Neuerstellungen zu erfordern). Das Entwurfsziel scheint zu sein, zu verhindern, dass jeder Punkt erreicht werden muss, an dem Daten manuell wiederhergestellt werden müssen, indem rohe Bytes vom Laufwerk gelesen werden.
Walter

-6

ZFS funktioniert nur unter Solaris. Solaris funktioniert auf einem Heim-NAS nicht. Dies führt uns zu folgendem Schluss: ZFS funktioniert nicht auf einem Heim-NAS.


5
ZFS ist auch unter FreeBSD wiki.freebsd.org/ZFS verfügbar . Es sind NAS- Heimsysteme
Rodney Schuler

Meine Schuld / o \. Downvote
Martin

Dies hängt von Ihrer Definition des NAS ab. Ich glaube, jeder Computer, auf dem Speicher in einem Netzwerk gehostet wird, ist ein NAS, und Sun hat NFS erfunden, sodass Solaris perfekt für ein NAS geeignet ist.
Dlamblin

2
Solaris ist eine hervorragende NAS-Lösung mit NFS und Samba ...
Brian Knoblauch

2
@rschuler Ich habe FreeBSD und ZFS verwendet und festgestellt, dass es nicht sehr stabil ist.
Amok
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.