ZFS-Setup für Anfänger mit Laufwerken unterschiedlicher Größe


24

Entschuldigung für die Noobie-Fragen, ich habe alle möglichen Lösungswege durchgegoogelt, um mein ZFS-Raid zu erstellen, aber ich kann anscheinend nicht die richtigen Links für die gesuchten Antworten finden.

Dies ist mein erster Versuch für ein RAID, und nach allem, was ich gelesen habe, scheint ZFS der beste Weg zu sein.

  1. Was passiert, wenn ich die zugrunde liegende Hardware hinter dem ZFS-Pool ändern muss? Was passiert wie beim Mobo / Prozessor, wenn das in ein oder zwei Jahren bei mir stirbt? kann ich meinen zfs pool irgendwie portieren?
  2. Ich habe eine ganze Reihe von Laufwerken unterschiedlicher Größe, und ich versuche, den meisten Speicherplatz mit Redundanz herauszuholen. Was ist das beste Setup für diese Konfiguration und wie viel Speicherplatz werde ich durch die Verwendung dieser Laufwerke unterschiedlicher Größe verlieren. Ich erstelle dies nicht für Geschwindigkeitsanforderungen, ich möchte nur einen Dateiserver für mehrere HTPCs. Meine aktuell verfügbaren Laufwerke dafür sind:
    • 1x 500 GB "Hybrid" -Laufwerk
    • 1x 1 TB Laufwerk
    • 1x 3 TB Laufwerk
    • 1x 4-TB-Laufwerk (wird später zum Pool hinzugefügt und enthält derzeit alle Daten der oben aufgeführten Laufwerke.)
  3. Wird das Hinzufügen des 4-TB-Laufwerks zum Pool später ein Problem sein?
  4. Gibt es Empfehlungen für ein Linux-Betriebssystem, auf dem dies alles ausgeführt werden soll, und sollte ich ein separates Laufwerk für das Betriebssystem verwenden? Ich kenne Ubuntu, RHEL und OpenSUSE / SLES.

Jede Hilfe wird sehr geschätzt, ich lese weiter darüber, nur eine Menge, die ich auf einmal sehen kann. Alle Links, wo ich anfangen soll, wären ebenfalls sehr hilfreich.

Antworten:


20

Was passiert, wenn ich die zugrunde liegende Hardware hinter dem ZFS-Pool ändern muss? Was passiert wie beim Mobo / Prozessor, wenn das in ein oder zwei Jahren bei mir stirbt? kann ich meinen zfs pool irgendwie portieren?

Ein ZFS-Pool ist nicht hardwareabhängig. Stellen Sie einfach sicher, dass Ihr HBA (Host Bus Adapter) Ihre Daten nicht auf Hardwareebene verschlüsselt. ZFS funktioniert am besten mit einem HBA wie einem LSI 9211-8i oder einem IBM m1015- Cross- Flash , um die 9211-8i-Firmware zu verwenden, und nicht mit einer vollwertigen "Hardware" -RAID-Karte.

Ich habe eine ganze Reihe von Laufwerken unterschiedlicher Größe, und ich versuche, den meisten Speicherplatz mit Redundanz herauszuholen. Was ist das beste Setup für diese Konfiguration und wie viel Speicherplatz werde ich durch die Verwendung dieser Laufwerke unterschiedlicher Größe verlieren. Ich erstelle dies nicht für Geschwindigkeitsanforderungen, ich möchte nur einen Dateiserver für mehrere HTPCs. Meine derzeit verfügbaren Laufwerke hierfür sind: 1x 500 GB 'Hybrid'-Laufwerk 1x 1 TB-Laufwerk 1x 3 TB-Laufwerk 1x 4 TB-Laufwerk (wird später zum Pool hinzugefügt und enthält derzeit alle Daten der oben aufgeführten Laufwerke.)

Wenn ich Sie wäre, würde ich die kleineren Laufwerke verkaufen und das Geld für größere Laufwerke gleicher Größe einsetzen. Es wird dein Leben viel einfacher machen. Außerdem können Sie einem ZFS-Pool nicht einfach Laufwerke hinzufügen. Es gibt Einschränkungen. Lesen Sie hier .

Wird das Hinzufügen des 4-TB-Laufwerks zum Pool später ein Problem sein?

Möglicherweise. Ich bin in einer ähnlichen Position. Irgendwann in der Zukunft muss ich meine Speicherkapazität erhöhen. Zu diesem Zeitpunkt plane ich den Kauf eines zweiten HBA und eines neuen Arrays größerer Laufwerke. Ich übertrage dann alle Daten von meinen vorhandenen Laufwerken auf meine neuen Laufwerke und verkaufe dann meine vorhandenen Laufwerke. Möglicherweise gibt es andere (billigere) Möglichkeiten, dies zu tun:

  1. Hält alle meine Laufwerke gleich groß
  2. Hat nur die zusätzlichen Kosten für einen zusätzlichen HBA, was sowieso keine schlechte Sache ist
  3. Ich muss meine Laufwerke nicht einzeln austauschen, sondern muss sie nach jedem Austausch neu versilbern.

Gibt es Empfehlungen für ein Linux-Betriebssystem, auf dem dies alles ausgeführt werden soll, und sollte ich ein separates Laufwerk für das Betriebssystem verwenden? Ich kenne Ubuntu, RHEL und OpenSUSE / SLES.

Verwenden Sie kein Linux, es hat keine native ZFS-Unterstützung. Die Linux-Unterstützung von ZFS erfolgt über ZFS unter Linux und zfs-fuse . Der aktuelle Stand von ZFS ist im Fluss, da Oracle sein Bestes versucht, es zu ruinieren. ZFS wird wahrscheinlich in naher Zukunft auf Version 28 verzweigen. Machen Sie Ihren ZFS-Pool also nicht mit einer Version größer als 28, es sei denn, Sie sind zu 100% sicher, dass Sie sich an eine Oracle-Lösung halten möchten. Derzeit unterstützen FreeBSD und seine Ausgründungen ZFS-Version 28.

Da Sie ein selbsternannter ZFS-Neuling sind, würde ich FreeNAS empfehlen . Ich benutze es jetzt schon eine Weile und bin ziemlich zufrieden damit. Es wird definitiv die einfachste Einrichtung für Sie ermöglichen.

Zusätzliche Gedanken:

Stellen Sie sicher, dass Sie die richtige Paritätsstufe für Ihren speziellen Anwendungsfall auswählen. Stellen Sie insbesondere sicher, dass Sie in der Nähe von URE planen . Grundsätzlich möchten Sie RAID 5 (RAID Z1) nicht verwenden, wenn Sie Laufwerke mit mehr als 2 TB verwenden. Es sind noch einige andere Faktoren zu berücksichtigen, die Sie möglicherweise auch dazu veranlassen, das Niveau Ihrer Paritätsdaten zu erhöhen. Hier ist ein guter Artikel zu diesem Thema.

Aktualisieren:

Es ist 1,5 Jahre her, seit ich diese Antwort gepostet habe und in dieser Zeit habe ich ZFS unter Linux (speziell Ubuntu-Server) eine weitere Chance gegeben. Es ist ein langer Weg zurückgelegt, seit ich es zuerst ausprobiert habe und ich bin soweit ziemlich glücklich. Mein Grund für den Wechsel waren die Installationsbeschränkungen für FreeNAS und das Jailing-System. Ich wollte meinen Server nicht nur für einen NAS-Server verwenden, und FreeNAS erschwert dies. Das Gefängnissystem ist gut und sehr sicher, aber ich brauchte diese Sicherheitsstufe in meinem Haus nicht wirklich und wollte mich nicht jedes Mal mit dem Einloggen in ein Gefängnis befassen, wenn ich eine Datei entpacken wollte. Ich denke, FreeNAS ist immer noch eine gute Wahl, wenn Sie gerade erst mit ZFS beginnen (wegen der Weboberfläche) oder wenn Sie nur eine NAS-Appliance möchten (dh keine andere Serverfunktionalität benötigt wird).


Vielen Dank für Ihre ausführliche Antwort. Ihre OS-Empfehlung ist etwas, das ich definitiv weiter untersuchen muss. Was das Erstellen eines neuen Arrays mit größeren Laufwerken angeht, ist es meines Wissens möglich, vorhandene Laufwerke in einem Array durch größere Laufwerke zu ersetzen, um deren Kapazität zu erhöhen. Ich glaube, ich verstehe das richtig. Überlegen Sie das?
Iwanow

Ja, das ist möglich, aber ich denke, Sie müssen alle machen. Lesen Sie hier die Kommentare eines Mannes, der genau das getan hat. Ich habe auch meine Antwort mit einem zusätzlichen Gedanken aktualisiert.
Ubiquibacon

4

1: Es ist kein Problem, etwas zu ändern. Der Pool sollte unabhängig von der CPU, dem Mainboard oder ähnlichem importierbar sein.

2: ZFS funktioniert am besten mit Geräten gleicher Größe. Wenn Sie Redundanz wünschen, wird bei Geräten, die größer als das kleinste sind, zusätzliche Größe verschwendet. Schließlich können Sie einem RAIDZ kein Gerät (z. B. die 4-TB-Festplatte) hinzufügen. Wenn Sie nur Metadatenredundanz wünschen (was ich bezweifle), können Sie einen Streifen mit all Ihren Festplatten erstellen und die 4-TB-Festplatte später zum Pool hinzufügen.

Alternativ können Sie zuerst einen Pool mit 500 GB erstellen, der einen Spiegel mit Datenträger 1 und Datenträger 2 enthält, und den Datenträger 3 für einen späteren Zeitpunkt aufbewahren. Anschließend können Sie einen zweiten Spiegel hinzufügen, wenn der 4-TB-Datenträger verfügbar ist und Datenträger 3 und Datenträger 4 einen 3,5-TB-Pool erstellen .

3: ja, siehe # 2

4: Keine Empfehlung.


1

Wenn Sie ein RAID mit ZFS mit unterschiedlichen Festplattengrößen erstellen möchten, müssen Sie "zpool create (Name Ihres Pools) raidz1 -f sdb sdc sdd" verwenden. Das -f-Argument erzwingt, dass ZFS unterschiedliche Größen verwendet, z


1

Es stellt sich heraus, dass Sie mit ashift = 12 in zfs-fuse nicht erstellen können:

# zpool create -n -o ashift=12 test /dev/disk/by-id/scsi-SATA_......
property 'ashift' is not a valid pool property

Aber es funktioniert mit dem von github zfs + spl 0.6.5.x:

# dd if=/dev/zero of=/tmp/testfile bs=1M count=64
# zpool create -o ashift=12 test /tmp/testfile
# dd if=/dev/zero of=/tmp/testfile8 bs=1M count=64
# zpool create -o version=8 test8 /tmp/testfile8

0

Die Antwort von Ubiquibacon deckt alle Ihre direkten Fragen ab, aber ich dachte, ich würde eine Erfahrung aus erster Hand machen.

ZFS unter FreeBSD ist mein Haupterfahrungsgebiet, obwohl die meisten ZFS-Implementierungen ähnlich genug sind, dass die Ressourcen möglicherweise analog sind. Ich habe mich für die Installation von FreeBSD entschieden, weil ich damit ein Allzweck-Betriebssystem habe, das ich für die unterschiedlichsten Zwecke verwenden kann, im Gegensatz zu einer freundlicheren, aber speziell dafür vorgesehenen Lösung wie FreeNAS. Richtig konfiguriertes ZFS kann ein großartiges System sein. Falsch konfiguriertes ZFS kann ein totaler Schmerz sein. Es ist ein relativ neues Dateisystem und wird nicht so gut verstanden wie ältere, etabliertere Dateisysteme (wie UFS2 in FreeBSD oder ext2 / 3/4 unter Linux Mailinglisten sind ziemlich aktivund es lohnt sich wahrscheinlich, sie zumindest zu scannen, um zu verstehen, was von Ihnen erwartet wird, falls Sie auf Probleme stoßen. Die Leute auf ihnen sind im Allgemeinen freundlich und sehr hilfsbereit, solange Sie bereit sind, herauszufinden, was los ist. Für diese allgemeine "Neuheit" erhalten Sie nette Funktionen wie Komprimierung, die unter vielen Umständen mit wenig Verlust aktiviert werden können , und gefährliche Funktionen wie Deduplizierung , die viele Ressourcen erfordern können , lassen sich nicht deaktivieren, ohne zu kopieren Alle Ihre Daten sind ausgeschaltet und Ihr Computer kann nicht mehr bootfähig sein (wie meiner, ein glücklicher Tag).

Es ist ein großartiges Dateisystem, wenn einer der Vorteile die Kompromisse überwiegt. Ich war insgesamt mit meinem zufrieden.


@Stevan Können Sie etwas über "Leistungsprobleme aufgrund mehrerer Pools auf denselben physischen Datenträgern" sagen?
Satch_boogie

0

Eine Ad-hoc-Lösung besteht darin, die Festplatten in Gruppen von Partitionen gleicher Größe zu partitionieren und dann mehrere Pools mit Partitionsgruppen gleicher Größe zu erstellen.

Es kann einige Leistungsprobleme geben, weil sich mehrere Pools auf denselben physischen Datenträgern befinden. Sie können jedoch den größten Teil des Speicherplatzes auf Ihren Datenträgern verwenden.

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.