Um die Titelfrage zu beantworten, und TL;DR

Um die Titelfrage zu beantworten, und TL;DR

Ich denke über FreeNAS nach und möchte vorher bestätigen, dass mein Verständnis davon, was ich mit dem darin enthaltenen Speicher tun kann/nicht tun kann, richtig ist.

  1. Erster Ausbau: 1 Speicherpool mit 2 x 6 TB-Laufwerken, die sich gegenseitig spiegeln; für eine effektive Gesamtkapazität von 6 TB (ohne Rundungen und Gemeinkosten).

  2. Erste Erweiterung (in 2,5 - 3 Jahren): 2 x 12 TB-Laufwerke zum Server hinzufügen. Sie als zweites gespiegeltes Paar konfigurieren und zum vorhandenen Speicherpool hinzufügen. Dadurch wird mein verfügbarer Speicher auf 18 TB erhöht.

  3. Zweite Erweiterungsphase 1 (5,5 - 7,5 Jahre): 2 x 24 TB-Laufwerke zum Server hinzufügen. Sie als gespiegeltes Paar konfigurieren und zum vorhandenen Speicherpool hinzufügen. Dadurch wird mein verfügbarer Speicher auf 42 TB erhöht.

  4. Zweite Ausbauphase 2 (unmittelbar nach Phase 1): Alle Daten von den 6TB-Laufwerken neu verteilen, aus dem Pool und dann physisch vom Server entfernen. Verbleibender verfügbarer Speicher 36TB.

Meine Gedanken hierzu sind:

  • Eine Verdoppelung der benötigten Speicherkapazität alle knapp 3 Jahre ist eine Fortsetzung meiner Erfahrungen mit WHS-Servern von 2008 bis heute.

  • Nach dem Hinzufügen der 24-TB-Laufwerke werden die 6-TB-Laufwerke nur noch einen vernachlässigbaren Bruchteil des Gesamtspeichers (1/7) ausmachen und sind so alt, dass die Zuverlässigkeit zu einem größeren Problem wird, wenn ich sie behalte (falsche Seite der Badewannenkurve). Wenn sie überleben würden, würde sich bei meiner Wachstumsrate die Zeit, bis ich 48-TB-Laufwerke kaufen müsste, nur um etwas mehr als ein halbes Jahr verlängern; sie würden mir also nicht wirklich viel Zeit verschaffen.

  • Durch die Beschränkung auf 4 Laufwerke kann ich für mein NAS einen kompakten Mini-ITX-Formfaktor verwenden. Mehr bedeutet ein größeres und teureres Setup. (2 Laufwerke auf einem offenen Gehäuse mit heraushängenden Kabeln sind für ein oder zwei Tage Übergangszeit akzeptabel, aber nicht längerfristig.)

  • Ich gehe auch davon aus, dass die Verfügbarkeit größerer Laufwerke wie gewohnt weitergeht, so wie es bei meinen vorherigen Upgrades vor etwa 3 Jahren der Fall war: 1,5–3 TB (2012) und 3–6 TB (jetzt/in naher Zukunft). Und dass alle neuen Laufwerke, die verfügbar werden, zuverlässig genug sind, um verwendet werden zu können (d. h. die Raid-Apokalypse wird nie eintreten).

Antwort1

Erst einmal:Ich werde nicht über die Entwicklung in den nächsten sechs bis sieben Jahren spekulieren.Es geht um heute und um die nahe Zukunft. Für dieKurz zusammengefasst, siehe unten dieser Antwort.

ZFS erlaubt es Ihnen heute nicht, ein vdev aus einem Pool zu entfernen. Es verfügt auch nicht über eine native "Rebalance"-Funktionalität (suchen Sie nachBlockzeiger neu schreiben,BP umschreibenoderBPO-Umschreibungum mehr darüber zu erfahren). ZFStutermöglicht es Ihnen, die Redundanzstufe eines gespiegelten, aber nicht raidzN-vdev zu reduzieren, aber das ist nicht das, was Sie wollen. (In ZFS erhalten Sie Striping, wenn Sie nichts sagen.)

Grundsätzlich kann man sich Pools als gestreifte Sets vorstellen, die aus jeweils einem oder mehreren Speichergeräten bestehen, wobei nur letztere (vdevs) in einer redundanten Konfiguration angeordnet werden können. Sie können jedes vdev für beliebig hohe Redundanzstufen konfigurieren, aberjedenvdev im Pool muss über seiner Redundanzschwelle bleiben, damit der Pool voll funktionsfähig ist. Wenn ein vdev ausfällt,bestenfallsSie verlieren nur die Daten, die auf diesem vdev gespeichert waren, und es gibt keine Möglichkeit, aktiv zu steuern, welche Daten auf welchen vdevs gespeichert werden (außer sie in separate Pools zu legen, was andere Nachteile hat).

Wenn Sie einen „gespiegelten“ Pool haben, wie den, den Sie nach der ersten Erweiterung beschreiben, haben Sie eigentlich zwei vdevs, die jeweils aus einem gespiegelten Paar physischer Speichergeräte bestehen, wobei die beiden vdevs gestreift sind, um den Pool zu bilden. Ein Pool mit zwei vdevs und zwei Laufwerken pro Spiegel kann durch ein ausgefallenes Laufwerk zum Absturz gebracht werden undeinsunglücklicher Fehler auf dem anderen Laufwerk in diesem Spiegelsatz, selbst wenn der andere Spiegelsatz einwandfrei funktioniert. Im Falle eines solchen Fehlers verlieren Sie, egal was sonst passiert, einige Daten.

Die Kapazitätssteigerung in einem ZFS-Pool kann normalerweise folgendermaßen erfolgen:Ersetzen Sie die Laufwerke vor OrtBei größeren lassen Sie den Pool auf das neue Laufwerk umsteigen und entfernen Sie dann physisch das alte Laufwerk, das nicht mehr verwendet wird. Normalerweise möchte man zpool replacedafür sowohl das alte als auch das neue Laufwerk anschließen, um den gewünschten Redundanzgrad während des gesamten Vorgangs beizubehalten. Die normale Alternative besteht darin, vdevs mit demselben Redundanzgrad wie die vorhandenen vdevs im Pool hinzuzufügen. Beachten Sie erneut, dass Sie ein vdev nicht entfernen können, nachdem Sie es hinzugefügt haben, da ZFS das Entfernen eines Teils eines Striped-Sets nicht unterstützt und Pools ausschließlich aus Striped-vdevs bestehen. Viele ZFS-Neulinge tappen in diese Falle, und es kann leicht zu Fehlern kommen, wenn Sie nicht auf die genauen Befehle achten, die Sie verwenden.

Aufgrund der Funktionsweise von ZFS-Resilvern ist das Resilvering für die betroffenen Laufwerke äußerst schmerzhaft. Während herkömmliche RAID-Resilver meist sequentiell sind und nur geringe Mengen zufälliger I/O-Vorgänge durch Benutzeraktivitäten unterbrochen werden, sind ZFS-Resilver fast vollständig zufällige I/O-Vorgänge, unterbrochen von zufälligen I/O-Vorgängen durch Benutzeraktivitäten. Ein Spiegelsatz hat während seiner gesamten Lebensdauer weitgehend die gleiche Aktivität erlebt; wenn ein Laufwerk grenzwertig ist oder sogar ausgefallen ist, ist es durchaus möglich, dass das andere Laufwerk ebenfalls bestenfalls grenzwertig ist. Wenn es tagelang die Tortur des Resilverings ertragen muss, kann es sehr leicht über die Stränge schlagen. (Basierend auf persönlicher Erfahrung würde ich schätzen, dass Sie für das Resilvering von 6 TB Daten einen etwa einwöchigen Resilvering-Prozess benötigen. Selbst wenn Sie alle Knöpfe drehenbis 11, basierend auf reinem sequentiellem Durchsatz - was angesichts des On-Disk-Formats und der Resilvering-Strategie von ZFS völlig unrealistisch ist - sehen Siemindestensetwa 17 Stunden purer Terror für das Laufwerk. Ich schätze, es gäbe keine Möglichkeit, ein 6-TB-Resilver auf weniger als vielleicht das Doppelte oder anderthalb Tage reinen Laufwerksmissbrauchs zu bringen.)

Ich hätte auch sehr große Zweifel an einer 2x24TB oder sogar einer 2x12TB Spiegelkonfiguration, vorausgesetzt, solche Laufwerke kommen zustande; mit den aktuellen Laufwerksgrößen stoßen wir bereits ein wenig an die Grenzen der Physik (kein Wortspiel beabsichtigt). Unter der Annahme der Laufwerkszuverlässigkeit in Bezug aufURE, bleibt ähnlich wie heute (10^-14 bis 10^-15 Sektorfehler pro gelesenem Bit, das ist der Wert, der in den Datenblättern der Hersteller schon seit Ewigkeiten anhält), statistisch gesehen werden Sie nicht in der Lage sein, ein vollständiges Lesen Ihres 12TB-Laufwerks durchzuführen, ohne auf mindestens einen Fehler zu stoßen (12 TB sind ungefähr 9×10^13 Bits, was sich gut auf 10^14 aufrunden lässt). Wenn Sie dies auf 24 TB-Laufwerke übertragen, werden Sie statistisch gesehenmindestensein oder zwei Vollsektorfehler bei einem vollständigen Lesedurchgang (weil Sie etwa 2*10^14 Bits lesen). Selbst wenn Sie sich für 10^-15 URE-Laufwerke entscheiden, bringt Ihnen das nicht viel (dann haben Sie fünf Lesedurchgänge und nicht nur einen halben Lesedurchgang). Dies sind natürlich nur Statistiken und Spezifikationen; in der Praxis neigen Lesefehler dazu, sich zu häufen, und ein Laufwerk kann viele, viele vollständige Lesevorgänge problemlos ausführen, bevor es irgendwann anfängt, reihenweise Fehler auszugeben.

Da die meisten Nicht-Server-Spinner nur eine Garantie von 1-3 Jahren haben, würde ich nicht damit rechnen, dass ein Set viel länger funktioniert, während Ihr Plan vorsieht, dass sie mindestens sechs Jahre lang funktionsfähig bleiben, bevor sie ersetzt werden. Sogar Server-Spinner haben normalerweise nur eine Garantie von fünf Jahren, obwohl sie normalerweise fünf Jahre rund um die Uhr laufen. Meine persönliche Erfahrung ist, dass High-End-Laufwerke für den Privatgebrauch, wie die Constellation ES-Serie von Seagate, fast diese Leistung erbringen können, bevor sie den Geist aufgeben und in den Datenhimmel kommen. (Persönliche Anekdote: Eine 1 TB Constellation ES.2 hatte ich etwa 4 Jahre und 9-10 Monate auf dem Buckel, als sie anfing, sich merkwürdig zu verhalten, obwohl ich sie nie bis zum Ausfall laufen ließ.)

Generell gilt, dass viele Benutzer von ZFS auf doppelte Redundanz setzen, sobald die Spinner-Größen die 3-4 TB-Marke erreichen, oder noch kleiner für wichtigere Daten. Dafür gibt es gute Gründe:Speichergeräte fallen ausund esgeschieht mit alarmierender Häufigkeit. Im Fall von ZFS müssen Sie sich außerdem mit weitaus teureren Datenwiederherstellungsdiensten auseinandersetzen, wenn Sie mehr wollen als die Rohbits zurückzubekommen, die zufällig noch von den Platten lesbar sind, und mir ist keine Datenwiederherstellungssoftware bekannt, die ZFS-Pools auch nur aus der Ferne handhaben kann. Wenn ZFS Ihren Pool nicht importieren kann, ist die praktischste Lösung oft, alle darauf gespeicherten Daten, die Sie nicht gesichert haben, als verloren zu betrachten.anderswo.

Um die Titelfrage zu beantworten, und TL;DR

Kann ich meinen Speicher mit FreeNAS/ZFS auf diese Weise verwalten?

Rein technisch gesehen sollte es das. AllerdingsWirklichwürde es überhaupt nicht empfehlen.Sie reizen die Leistungsgrenzen der Hardware viel zu sehr ausdamit ich mich damit wohlfühle, geschweige denn es befürworte. (Beachten Sie, dass diese Antwort unabhängig vom Dateisystem, nach dem Sie gefragt haben, praktisch genau dieselbe wäre.)

verwandte Informationen