Frage Wie kann ich einen Datenträger zu einem vorhandenen raidz zpool hinzufügen?


Ich habe einen OpenSolaris-Server mit einem Zpool backupz bestehend aus vier SCSI-Laufwerken:

-bash-3.2# zpool status backupz
  pool: backupz
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        backupz     ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0
            c7t1d0  ONLINE       0     0     0
            c7t2d0  ONLINE       0     0     0
            c7t3d0  ONLINE       0     0     0

errors: No known data errors

Ich möchte eine fünfte Fahrt hinzufügen ... aber zpool add backupz raidz c7t4d0 funktioniert nicht ...

-bash-3.2# zpool add backupz raidz c7t4d0
invalid vdev specification: raidz requires at least 2 devices

Kann ich keine Raidz Config mit 5 Geräten haben? Muss ich zwei Geräte gleichzeitig hinzufügen? oder mache ich hier etwas falsch?


20
2017-10-12 18:50


Ursprung




Antworten:


Sie können ein vorhandenes Raidz Vdev nicht erweitern, Sie müssen es wegblasen und es mit dem / den neuen Laufwerk (en) neu erstellen. Siehe die andere Antwort für bessere Details.

Randnotiz: Jemand hat tatsächlich herausgefunden, dass es technisch möglich ist, Laufwerke zu einem Raidz hinzuzufügen, aber die Funktionalität wurde nicht implementiert. Das Gleiche gilt für das Entfernen einer Festplatte.


14
2017-10-12 18:57



Oh oh. Wenn das der Fall ist, habe ich irgendwo eine schreckliche Entscheidung getroffen! = o - Josh
-1 Natürlich kann ein Zpool erweitert werden. Was denkst du das? zpool add Befehl tut? Die Einschränkung, auf die Josh trifft, ist, dass du die Zusammensetzung eines Raidz Vdev nicht ändern kannst ("raidz1" in seinem Beispiel). Sie können dem Pool selbst neue Geräte hinzufügen. Dies ist einer der Gründe, warum Spiegel vdevs bevorzugt werden: serverfault.com/questions/63809/zfs-mirror-vs-raid-z - Wim Coenen
@Wim, ich bin mir bewusst, dass Sie zusätzliche vdevs zu einem Pool hinzufügen können. Es war ein kleiner Tippfehler, und es gibt keinen Grund, so über mich zu springen. - Chris S
Cool, ich wusste nicht, dass jemand einen Weg gefunden hat, um die Architektur zu umgehen, um Laufwerke hinzufügen zu können! Hast du einen Link wo ich mehr darüber lesen kann? - lindhe


Sehen Sie sich diesen Thread aus einer der FreeBSD-Listen an: http://lists.freebsd.org/pipermail/freebsd-fs/2009-June/006327.html

Um Dan Naumov zu zitieren,

Um es noch einmal zu wiederholen: Sie können einem Raidz1 oder nur ein einzelnes Laufwerk hinzufügen   Raidz2 Pool. Dies ist eine bekannte Einschränkung (Sie können dies mit SUN ZFS überprüfen)   Dokumente). Wenn Sie einen vorhandenen Raidz haben, und Sie MÜSSEN das erhöhen   Speichermöglichkeiten des bestimmten Pools haben Sie 3 Möglichkeiten:

1) Füge einen Raidz der gleichen Konfiguration zum Pool hinzu (denke 3 Disketten)   raidz + 3 Festplattenraidz oder 5 + 5, zum Beispiel)

2) Ersetzen Sie jede (und jede) Festplatte in Ihrem Raidz-Pool einzeln,   Resilver nach dem Einfügen jeder aktualisierten Platte

3) Sichern Sie Ihre Daten, zerstören Sie Ihren Pool und erstellen Sie einen neuen Raidz-Pool   mit einer größeren Menge an Festplatten.


30
2017-10-12 20:31



+1: Danke @ Brent! Deine Antwort war detaillierter als Chris, aber er gab mir detaillierte Informationen im Chat, also akzeptierte ich seine Antwort. Ich schätze die Informationen! - Josh
Warum muss man ein RAIDZ der gleichen Konfiguration hinzufügen und kann z. Hinzufügen eines RAIDZ mit 8 Festplatten zu einem mit 3? Sind Daten nicht über alle VDEVs aka RAIDZs verteilt? - Thorsten Schöning
@Thorsten Schöning Die Antwort ist Leistung, ZFS schneidet mit VDEVs gleicher Größe am besten ab: serverfault.com/a/564436/333397 - Thorsten Schöning