Solaris ZFS-Spiegelung - sind unterschiedliche Streifenbreiten gültig?

584
banjo67xxx

Ich habe viele Artikel über die Verwendung der ZFS-Spiegelung mit Festplatten unterschiedlicher Größe gefunden, und es scheint möglich, eine Spiegelung mit größeren Festplatten zu erreichen. Ist es möglich, einen Streifen auf größeren Datenträgern zu konsolidieren, jedoch weniger davon mit Spiegelung?

Derzeit haben wir 8 x 200 GB-LUNs auf einem alten DMX2000-Array

 NAME STATE READ WRITE CKSUM pool1 ONLINE 0 0 0 disk1 ONLINE 0 0 0 disk2 ONLINE 0 0 0 disk3 ONLINE 0 0 0 disk4 ONLINE 0 0 0 disk5 ONLINE 0 0 0 disk6 ONLINE 0 0 0 disk7 ONLINE 0 0 0 disk8 ONLINE 0 0 0 

Ich weiß, dass wir dies mit den folgenden Befehlen problemlos auf unser neues VMAX-Array übertragen können

zpool anhängen pool1 disk9 disk10 disk11 disk12 disk13 disk14 disk15 disk16

zpool trennen pool1 disk1 disk2 disk3 disk4 disk5 disk6 disk7 disk8

Wir möchten dies jedoch in 2x800 GB LUNs konsolidieren

Können wir das mit machen:

zpool attach pool1 disk9 disk10

wobei disk9 und disk10> 800 GB sind

zpool trennen pool1 disk1 disk2 disk3 disk4 disk5 disk6 disk7 disk8

Ich habe eine ähnliche Konsolidierung mit Veritas Volume Manager und Solaris Volume Manager durchgeführt, jedoch niemals mit ZFS. Ist es möglich?

TIA

0

1 Antwort auf die Frage

0
banjo67xxx

Endlich ein Entwicklersystem zum Testen gefunden, und mir ist klar, dass ich die Struktur eines Pools falsch verstanden habe.

Es ist streng RAID 1 + 0 ish und kann niemals RAID 0 + 1 sein, was Sie zum Relayout benötigen würden.

Der Pool wird zuerst in einen Stripe / Concat aufgeteilt, und dann kann jede Spalte gespiegelt werden.

Hier ist beispielsweise ein 4-Spalten-Streifen, wobei die 2. Spalte ein normaler Spiegel und die letzte Spalte ein 4-Wege-Spiegel ist

 POOLA ONLINE 0 0 0 c4t600A0B8000481D2400003BC54CE157B4d0s0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c4t600A0B8000481D2400003BC54CE157B4d0s1 ONLINE 0 0 0 c4t600A0B8000481D2400003BC34CE15760d0s1 ONLINE 0 0 0 c4t600A0B8000481D2400003BC54CE157B4d0s2 ONLINE 0 0 0 mirror-3 ONLINE 0 0 0 c4t600A0B8000481D2400003BC34CE15760d0s3 ONLINE 0 0 0 c4t600A0B8000481D2400003BC54CE157B4d0s3 ONLINE 0 0 0 c4t600A0B8000481D2400003BC34CE15760d0s2 ONLINE 0 0 0 c4t600A0B8000481D2400003BC34CE15760d0s0 ONLINE 0 0 0 

Der Befehl add * fügt nur weitere Spalten hinzu. Sie können einfache oder gespiegelte Spalten sein.

Der Befehl attach fügt den Spalten Spiegelungen hinzu.

Der Befehl zum Trennen entfernt Spiegel aus den Spalten.

Der Befehl zum Entfernen kann keine Spalte entfernen.

* Die Befehle zum Hinzufügen / Entfernen werden auch für Cache, Protokoll usw. ausgeführt.

Die Syntax, die ich oben vorgeschlagen habe, ist völlig falsch, da attach nur EINEN Namen der zu spiegelnden Komponente und EINE Komponente zum Spiegeln akzeptiert. Der einzige Weg, um das zu erreichen, was ich möchte, wäre, einen neuen Pool anzulegen und die Daten an ihn zu senden / zu empfangen.