ZFS: Vorbereitung auf zukünftige Laufwerkserweiterungen

7

Ich bin gerade dabei, ein Solaris NAS-System zu bauen. Derzeit haben wir zwei Laufwerke und planen, zu einem späteren Zeitpunkt zwei weitere hinzuzufügen (2 TB Festplatten auf Unternehmensebene sind etwas teuer!).

Was ist die beste Konfiguration zum Einrichten dieser Laufwerke, wenn ich bedenke, dass ich sie in Zukunft erweitern möchte?

Ich dachte daran, die Laufwerke zu spiegeln und dann auf Raidz umzustellen, wie?

Es werden nur maximal 4 Laufwerke sein, von denen die zweiten beiden später gekauft werden.

Irgendwelche Ideen?

Snowpoch
quelle

Antworten:

6

Spiegeln ist der Weg hierher. Sie können auf einfache Weise zusätzliche gespiegelte Paare hinzufügen, um Ihr vorhandenes Volume zu erweitern. Keine Ausfallzeiten, keine Tricks, fügen Sie einfach weitere Festplatten hinzu und schon sind Sie unterwegs. Wenn Sie in RAIDZ nicht wirklich 6 TB mit 4 x 2 TB benötigen, ist die gespiegelte 4 TB mit 4 x 2 TB die bessere Wahl. Das Spiegeln hat auch den Vorteil eines geringeren CPU-Overheads, einer besseren Leistung und einer einfacheren Wiederherstellung im Fehlerfall.

Da die Leute es jedoch vorziehen, am Rande zu leben und ein paar Dollar zu sparen, können Sie Ihre Daten von einem Spiegel mit zwei Laufwerken auf ein Raidz-Setup mit vier Laufwerken migrieren:

  • Erstellen Sie einen Spiegel mit 2 Laufwerken zpool create mirror cXt1d0 cXt2d0 yourPool
  • Füllen Sie Ihre Laufwerke gerne mit Daten
  • Kaufen Sie die Laufwerke 3, 4 (gleiche Größe wie die Laufwerke 1, 2).
  • Atme tief ein, du wirst auf Redundanz verzichten, weil du billig bist.
  • Brechen Sie den Spiegel und entfernen Sie Laufwerk 2: zpool detach cXt2d0 yourPool
  • Erstellen Sie eine Sparse-Datei mit der gleichen Größe wie Ihre Laufwerke: mkfile -n 500GB /path/file.img
  • Erstellen Sie einen Raidz-Pool mit vier Laufwerken mit den Laufwerken 2, 3, 4 und der Sparse-Datei: zpool create raidz cXt2d0 cXt3d0 cXt4d0 /path/file.img newPool
  • Verschlechtern Sie das Raidz-Array, indem Sie die Sparse-Datei trennen: zpool detach /path/file.img newPool
  • Kopieren Sie Daten von yourPool nach newPool mit zfs send / zfs recv (oder einfach rsync / cp it).
  • Zerstören Sie den ursprünglichen gespiegelten Pool: zpool destroy yourPool
  • Hänge Laufwerk1 an den Raidz-Pool an: zpool attach cXt1d0 newPool
  • Warten Sie, bis ZFS das Laufwerk stabilisiert hat (es wird Stunden dauern, lassen Sie sich nicht vom Status% täuschen, der sich nicht bewegt, es gibt einen Fehler. Lassen Sie es einfach mahlen.)
  • Atme diesen tiefen Atemzug aus, du hast wieder einen überflüssigen Pool.
notpeter
quelle
1
Ein weiterer Vorteil des Hinzufügens gespiegelter Paare (vorausgesetzt, Sie sind bereit, für die Dauer einer Neuerstellung auf Redundanz zu verzichten) besteht darin, dass Sie die Größe eines bestimmten Paares erhöhen können, indem Sie nur zweimal auf eine größere Festplatte brechen / ausgleichen. Wenn Sie einen großen Raidz hatten und größere Laufwerke erhalten möchten, müssen Sie alle Laufwerke ersetzen, bevor Sie mehr nutzbaren Speicherplatz erhalten. Außerdem ist jeder Ersatz ein vollständiger Resilver, der eine Menge IO sein kann.
JWIZ
Ich denke, Spiegelung ist der richtige Weg. Wir sind bereit, die zusätzlichen 2 TB im Austausch für Flexibilität und die Möglichkeit, die vorhandenen Festplatten auf größere zu aktualisieren, zu reduzieren, ohne alles neu zu erstellen. Vielen Dank!
Snowpoch
0

Ich denke nicht, dass dies möglich ist, es sei denn, Sie möchten den Inhalt sichern und den Zpool neu erstellen. Während Sie einen Raidz-Pool mit nur zwei Geräten erstellen können, können Sie ihn später nicht auf Raidz mit 4 Laufwerken erweitern. Sie können einen Spiegel mit den ersten beiden Laufwerken erstellen und dem Pool mit den zweiten beiden Laufwerken einen zweiten Spiegel hinzufügen. Dadurch erhalten Sie jedoch nicht so viel Speicherplatz, wie Sie möchten.

Kennzeichen
quelle
0

Sie können es auch als Raidz festlegen, eine Sparse-Datei als letztes Laufwerk erstellen / verwenden, diese Datei sofort offline schalten und dann, wenn Sie das Laufwerk erhalten, die Sparse-Datei durch Ihr neues Laufwerk ersetzen, auf dem sie tatsächlich zu einem Raidz wird auf eine zfs-lineare Spanne, nachdem Sie die ausgelagerte Sparse-Datei durch Ihr Laufwerk ersetzt haben.

Obwohl Sie nicht über die Parität verfügen, verfügen Sie über die meiste Leistung von ZFS online, einschließlich Scrubbing und einigen automatischen Reparaturfunktionen.

Brian Thomas
quelle