zfs und zukünftige erweiterbarkeit

8

Ich möchte einen Server mit freebsd 9 und zfs erstellen. Ich habe einige alte Hardware (Intel Quad Core mit 8 GB RAM) herumliegen, und ich bin bereit, zwei oder drei 1 TB Festplatten zu kaufen. Ich habe auch einen dlink RAID-Server mit zwei 1-TB-Festplatten, die ich wahrscheinlich nicht mehr verwenden würde, sodass diese 2 Festplatten für die Verwendung auf dem zfs-Server verfügbar wären, sobald ich die Daten auf ihnen verschoben habe (derzeit ca. 300 MB) in RAID 1) auf den neuen Server.

Das gibt mir also zu Beginn 2 oder 3 Festplatten, mit der Möglichkeit, auf 4 oder 5 Festplatten zu wechseln, sobald ich den zfs-Server erfolgreich eingerichtet und die Daten kopiert habe.

Meine Frage ist, wie ich den zfs-Pool am besten so einrichten kann, dass ich maximale Redundanz und Speicherplatz habe und in Zukunft auf 2 oder 3 oder größere Laufwerke wechseln kann, sobald diese verfügbar sind. Die Geschwindigkeit ist mir also nicht so wichtig, ich schätze, mein Ethernet (sogar bei 1 GB / s) wird sowieso der entscheidende Faktor für die Geschwindigkeit des Systems sein ...?

Mein aktueller Gedanke ist, 2 neue Festplatten zu kaufen und sie im Striping-Modus einzurichten. Sobald ich alle Daten von meinem dlink nas kopiert habe, würde ich eines dieser Laufwerke entfernen und es dem Pool hinzufügen, indem ich es zu einem Spiegel eines der neuen Laufwerke mache. Sobald das Array neu erstellt wurde, würde ich das andere Laufwerk in den Pool verschieben, damit es das zweite neue Laufwerk spiegelt. Nach all dem sollte ich das grobe Äquivalent von RAID 10, "Striped Mirrors", haben.

Ist das möglich oder gibt es eine bessere Möglichkeit, dies einzurichten?

Auch hier ist meine Priorität maximale Redundanz, Wartung (Austauschen alter Laufwerke gegen neuere / größere Laufwerke und Erhöhen meines gesamten Poolspeichers), verfügbarer Speicherplatz und Geschwindigkeit. in dieser Reihenfolge.

user85116
quelle

Antworten:

6

Um den Speicherplatz durch Ersetzen nur einiger Festplatten zu erhöhen, sollten Sie gespiegelte vdevs verwenden, die zusammen gestreift sind (was tatsächlich RAID10 entspricht).

In Ihrem Fall würde dies bei 4 Laufwerken bedeuten, dass Sie an so etwas arbeiten:

    zpool
      mirror
        disk1
        disk2
      mirror
        disk3
        disk4

Dies würde Ihnen 2 TB Speicherplatz (vorausgesetzt, alle Festplatten haben 1 TB) und eine gute Redundanz (0% des Array-Fehlers nach 1 Festplattenabsturz, nur 33% des Array-Fehlers bei 2 gleichzeitigen Festplattenabstürzen) bieten.

Um dorthin zu gelangen, würde ich diese 2 neuen 1-TB-Festplatten kaufen und diese in den Pool legen:

zpool create zpool mirror disk1 disk2

Verschieben Sie dann Ihre DLINK-Inhalte in den neu erstellten Pool.

Sobald dies erledigt ist, können Sie die DLINK-Datenträger bereinigen und zum Pool hinzufügen, um den Speicherplatz zu erhöhen:

zpool add zpool mirror disk3 disk4

Wenn Sie später den Speicherplatz noch weiter erhöhen möchten, können Sie dies tun, indem Sie weitere vdevs (vorzugsweise auch Spiegel) hinzufügen ODER nur 2 der 4 Festplatten austauschen. Das Ersetzen erfolgt wie folgt:

zpool offline zpool disk3
# remove physical disk3 at this point
# insert new, bigger disk in place of disk3
zpool online zpool disk3
# wait for resilver
# after resilver, do the same with disk4
# your vdev is now bigger, increasing the size of the pool

Schauen wir uns nun die andere Option an. Wenn du 1 raidz vdev so gemacht hättest:

zpool
  raidz
    disk1
    disk2
    disk3
    disk4

Sie hätten 3 TB Speicherplatz, aber um diesen Speicherplatz zu erhöhen, indem Sie nur die Festplatten austauschen (und nicht hinzufügen), müssten Sie ALLE 4 Festplatten (natürlich eine nach der anderen) ersetzen, um die Poolgröße zu erhöhen! Auch diese Konfiguration weist einen 100% igen Array-Fehler auf, wenn zwei Festplatten gleichzeitig abstürzen.

Die Raidz-Konfiguration wäre auch langsamer als die Konfiguration mit gestreiften Spiegeln. Da raidz rechenintensiver ist, verbessern die Streifen + Spiegel tatsächlich die Lese- und Schreibleistung. Bei "normalen" Festplatten (keine SSD) füllen die gestreiften Spiegel wahrscheinlich Ihre Gigabit-Verbindung für sequentielle Lese- und Schreibvorgänge, da ZFS die Bandbreite der Festplatten kombinieren kann (denken Sie daran, dass 1 Gbit / s nur ~ 125 MegaBYTES / s sind, ein Standard "normal"). Auf der Festplatte erhalten Sie ungefähr 90 Megabyte / s. Ich denke nicht, dass die obige Raidz-Konfiguration dies auf Consumer-Hardware tun kann.

Zusammenfassend lässt sich sagen, dass die Punktzahl für gestreifte Spiegel / RAID 10 mit Ihrer Anzahl von Festplatten wie folgt lautet:

+ max redundancy
+ maintenance
- available storage space
+ speed

Die Punktzahl für raidz ist:

- max redundancy
- maintenance
+ available storage space
- speed

Ich würde sagen, gestreifte Spiegel gewinnen :)

Ein letzter Tipp: Lesen Sie auf jeden Fall mehr über das How-to und das Warum, bevor Sie beginnen! Vielleicht simulieren Sie sogar den gesamten Vorgang in einer virtuellen Maschine. Ich denke besonders an den Schritt, bei dem Sie den zweiten Spiegel vdev hinzufügen! Wenn Sie es falsch machen, erhalten Sie möglicherweise eine andere Konfiguration, auf die Sie gehofft haben, und ZFS ist in diesen Fällen sehr unversöhnlich, da Sie damit keine vdevs aus dem Pool oder keine Festplatten aus raidz vdevs entfernen können !! (Das Entfernen von Datenträgern aus Spiegel-VDEVs ist jedoch zulässig.)

Seien Sie auch zukunftssicher und beschriften und richten Sie Ihre Festplatten aus, damit Sie keine Probleme mit Laufwerken im erweiterten Format bekommen! Für weitere Informationen zu den Feinheiten von ZFS- und 4K-Laufwerken empfehle ich Ihnen, diesen Thread im FreeBSD-Forum zu lesen .

Hopla
quelle
3

Jede Gruppe von Festplatten, die Sie gleichzeitig hinzufügen, verfügt über eine eigene Redundanzrichtlinie, unabhängig davon, ob Sie einen neuen Pool hinzufügen oder einen neuen Pool erstellen. 2 Festplatten = Spiegel, 3 Sie können RAIDZ verwenden (oder kreativ werden, nicht empfehlen). Die Leistung des 1-Gbit-Ethernet mit solchen Laufwerken wird wahrscheinlich langsamer sein. Auch das spätere Austauschen von Laufwerken gegen größere ist ein bisschen mühsam, obwohl dies durchaus möglich ist.

Ich empfehle dringend, das ZFS-Administratorhandbuch von Anfang bis Ende zu lesen , bevor Sie beginnen.

Chris S.
quelle