Erstellen Sie ein zfs raidz2 mit 4-KByte-Festplatten

618
masgo

Ich möchte ein zfs raidz2 mit 4 Festplatten erstellen. Ich weiß, dass dies mindestens 50% des Speicherplatzes "verschwenden" wird, aber ich strebe eine hohe Toleranz gegenüber Festplattenausfällen an. Die Verwendung von 5 Festplatten für raidz2 wird nicht empfohlen und 6 Festplatten sind für mich zu teuer und unnötig. Ich werde 3 TB (oder vielleicht 4 TB) Festplatten haben, die alle 4k Sektoren mit 512 Byte Emulation haben.

Ich habe viele Dinge über zfs und raidz2 gelesen und fange an, verwirrt zu werden.

Soll ich die Festplatten partitionieren? Ich habe gelesen, dass es eine gute Idee ist, Partitionen zu erstellen, um das Betriebssystem darauf aufmerksam zu machen, dass der Datenträger nicht leer ist. Die Partitionierung kann auch helfen, sich an 4k-Sektoren anzupassen.

GPT oder MBR? Soweit ich verstanden habe, ist GPT ein Muss für 3-TB-Festplatten (und größer).

Wie soll ich die Partition erstellen? Wird mir dies eine korrekt ausgerichtete Partition geben? sudo parted --align optimal /dev/sdX mklabel gpt mkpart primary 1 0% 3TB

Bonusfrage: Wie groß wird die erstellte Partition mkpart primary 1 0% 3TBsein? Wird es sein 3*10^12 - 4096 byte?

Meine Absicht ist es, nicht die volle Größe der Festplatte zu verwenden, sondern mich auf 3 TB zu beschränken, um ein ausgefallenes Laufwerk durch ein anderes Modell ersetzen zu können.

Brauche ich, ashift=12wenn ich Partitionen ausgerichtet habe? Ist es nutzlos? Tut es mir irgendwie weh?

Was ist mit der Streifengröße? Muss ich es ändern? Was ist, wenn ich 5 Festplatten anstelle von 4 Festplatten verwende?

Gibt es noch etwas, was ich beachten sollte?

4
Gute Fragen (von denen ich die Antwort meistens nicht kenne). Wenn Sie Festplatten partitionieren, sind Sie richtig, Sie benötigen GPT. Planen Sie auch, das Betriebssystem auf ZFS zu haben? davidgo vor 6 Jahren 0
Nein, das Betriebssystem wird getrennt, entweder auf einer anderen Festplatte, SATA-DOM oder USB. Ich bin mir noch nicht sicher. Die Festplatten werden nur für zfs und nur zum Speichern von Daten verwendet. masgo vor 6 Jahren 0

2 Antworten auf die Frage

2
user121391

Sie müssen die Verschiebung manuell einstellen, wenn Ihre Festplatte die falschen Werte meldet. Dies gilt für alle Festplatten innerhalb des Übergangszeitraums (4K intern, 512 logisch). Frühere Festplatten melden die korrekten 512, spätere Festplatten die korrekten 4K. Natürlich können Sie es immer angeben, es überschreibt nur, was die Festplatte selbst dem System melden würde.

Wenn Sie sich nicht sicher sind, können Sie auch einen Pool erstellen, die nutzbare Größe aufschreiben, sie dann zerstören, für alle Festplatten eine Verschiebung von 12 festlegen, erneut erstellen und die Größen vergleichen. Wenn sie gleich sind, sind Ihre Festplatten in Bezug auf ihren Inhalt ehrlich.

Partitionierungsdatenträger sollten nur dann erforderlich sein, wenn Ihre Datenträger nicht richtig erkannt werden oder wenn Sie eine kleinere Größe als möglich wünschen.

Vielen Dank. Ich möchte aufgrund der kleinen Unterschiede zwischen Modellen und Herstellern etwas "kleinere" Größen als möglich haben. Ich hatte nach einiger Zeit schlechte Erfahrungen mit dem Austausch von Festplatten (mit normalem RAID). Die neue Festplatte hatte die gleiche Größe, war jedoch tatsächlich einige MB kleiner. Daher konnte ich es nicht als Ersatz verwenden. masgo vor 6 Jahren 0
1
Daniel B

ZFS unter Linux partitioniert die Festplatten automatisch. Früher hat es das nicht getan. Es wird so aussehen:

Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 2E55AB8A-8B22-494E-A971-B6D639BA14B1  Device Start End Sectors Size Type /dev/sdb1 2048 1953507327 1953505280 931.5G Solaris /usr & Apple ZFS /dev/sdb9 1953507328 1953523711 16384 8M Solaris reserved 1 

Wahrscheinlich wird der korrekte ashiftWert automatisch verwendet. Meine SSD hat 13, die obige HDD 12, wie erwartet.

Mach einfach folgendes:

zpool create tank raidz2 sda sdb sdc sdd 

Dann prüfen Sie, zdbob ashiftdas richtig erscheint.

Danke, das ist neu für mich, dass es die Partitionierung automatisch durchführt. Übrigens: Sie erhalten keinerlei Warnung, sie überschreibt nur die aktuelle Partitionstabelle. Die Frage ist, ob der reservierte Speicherplatz groß genug ist. Für meine 3-TB-Platte wurde eine 3000583061504B-Partition erstellt und am Ende 8388608B hinterlassen. Die Frage ist, ob der Platz am Ende ausreicht masgo vor 6 Jahren 0
Ich habe viele 3-TB-Laufwerke von WD und Seagate. Sie sind die * genaue * gleiche Größe. Es sollten keine Sicherheitspuffer erforderlich sein. Daniel B vor 6 Jahren 0
Ja, vielleicht haben sie sich auf die gleiche Größe geeinigt. Meine WD- und Seagate-Laufwerke haben ebenfalls die gleiche Größe. - Haben Sie auch Kenntnisse über raidz2 mit 5 Festplatten? Ist das eine schlechte Idee? masgo vor 6 Jahren 0