ZFS Mirror vergroessern

Nochmal wegen dem Mirror, diesmal eine andere Situation, da ich die 2x 2TB Platten jetzt doch zusaetzlich einbauen kann anstatt sie auszutauschen:

Mein jetziger Pool ist ja leider fast voll und wenn ich jetzt einen weiteren Mirror hinzufuege, dann werden ja die neuen Daten fast nur noch auf dem neuen Mirror gepackt, anstatt gerecht und performant auf dem ganzen Pool verteilt.

Nun dachte ich mir
Code:
* ich bau die neuen Platten ein.
* Eine der 2 TB Platten haenge ich in den Pool mit ein (Platte-A).
* Die andere kommt einfach so als UFS ins System (Platte-B)
* Ich schiebe jetzt ca 2TB Daten vom Pool auf Platte-B
* Jetzt waere der Pool wieder fast leer.
* Danach schiebe ich die Daten von Platte-B wieder in den Pool
* Jetzt sind die Daten im Pool wieder gut verteilt.
* Platte-B ist jetzt wieder leer und kann genutzt werden
Ich wuerde jetzt gerne Platte-B, an die vorhandene einzelne Platte-A (im Pool) als Mirror Device ranhaengen.
Geht das? Und habt ihr ueberhaupt verstanden wie ich das meine?

LG
lockdoc
 
@Yamagi, cool, danke für die gute Erklärung! Ich gelobe auch Besserung und werde ab jetzt immer partitionieren. ;-)

@lockdoc, ich habe denke ich verstanden was du vor hast. Einfach gesagt:
- Daten zwischenspeichern
- zpool add <pool> <neue hdd 1>
- Daten zurückkopieren, um zu verteilen zwischen <alter mirror> und <neue hdd 1>
- zpool attach <pool> <neue hdd 1> <neue hdd 2> ,um aus <neue hdd 1> einen mirror zu machen

Ich denke das sollte klappen, weiß aber nicht ob es so dringend nötig ist. Das dauert auch alles ordentlich bei 2tb schätze ich.
 
Ja notwendig ist es schon zwingend, da der jetzige Pool ja sogut wie voll ist und demnach alle weiteren Daten, dann nur auf den neuen Mirror kommen wuerden und nicht verteilt ueber alle Mirror. So geht ja die ganze Performance floeten.

Echt zu schade, dass ZFS nicht so ein Tool hat, dass die Daten im Nachhinein perfekt ueber die ganzen Mirror verteilt.

@namor: Danke fuer die Hilfe.
Mir ist aber vorm Lesen noch eine weitere Moeglichkeit eingefallen, die ich nun schon angeworfen habe.

- Neuen Mirror aus 2 HDD's hinzufuegen
- eine Platte aus dem Mirror entfernen (degraded)
- entfernte HDD mit UFS bespielen
- Daten vom Pool auf die UFS HDD verschieben.
- Daten zurueck in den Pool verschieben
- UFS destroyen
- resilvern
 
Ich habe die Diskussion bis jetzt verfolgt, da ich selber vor Kurzem eine neue 3TB Platte mit ZFS und ohne Partitionen Prepariert habe. Ich hatte es bisher so verstanden, dass ZFS das Partitionieren übernimmt. Auch habe ich eine Platte (meine Systemplatte mit ca 250 GB) mit einer ZFS Partition und einer BSD-Swap Partition die aber sagt

GEOM: ada0s1: geometry does not match label (255h,63s != 16h,63s).

Bisher hatte ich mir darüber wenig bis keine sorgen gemacht, da meine Recherchen zu dieser Meldug wenig schlimm geklungen haben.

Was kann nun also passieren, wenn ich platten mit falschem Align bzw. ohne Partitionen verwende?
 
Das sind 3 Fragen auf einmal :)

Also:
- Zur Frage "Keine Partition" siehe oben. Es ist nicht schlimm und hat keine negativen Auswirkungen, aber aus Gründen der Konvention sind Partitionen halt sinnvoll. Und wenn es nur ist, damit die Platte für Partitionseditoren nicht leer erscheint.
- Die Fehlermeldung mit der Geometrie kommt durch den Wechsel der kernelinternen Partitionsparser zwischen 7.x und 8.x zustande. Es gibt leichte, aber leider unvermeidbare Unterschiede darin, wie die Partitionen gelesen werden. Wahrscheinlich hast du die Partitionen mit den alten Tools fdisk(8) und bsdlabel(8) angelegt, statt das empfohlene und korrekter arbeitende gpart(8) zu nutzen. Wenn er die Partitionen trotzdem korrekt liest, musst du dir keine Sorgen machen. Es gab noch Änderungen am Parser, der die Kompatiblität mit alten Partitionen erhöht, ich weiß aber nicht, ob die im 9.1 sein werden. Damit verschwindet die Meldung.
- Ein falsches Alignement bedeutet, dass Schreibaktionen des Betriebssystem nicht mit den Blöcken der Festplatte übereinstimmen. Die Festplattenfirmware muss eingreifen und dies korrigieren. Dazu muss sie erst die zu ändernden Daten lesen, sie dann abändern und anschließend schreiben. Wie viel langsamer es dadurch wird, hängt sehr von der Festplatte ab. Wenn du keine konkreten Probleme hast, kannst du es ignorieren. Es gibt aber Platten, die bis hinab in den einstelligen Megabytebereich in Sachen Durchsatz einbrechen.
 
- Neuen Mirror aus 2 HDD's hinzufuegen
- eine Platte aus dem Mirror entfernen (degraded)
- entfernte HDD mit UFS bespielen
- Daten vom Pool auf die UFS HDD verschieben.
- Daten zurueck in den Pool verschieben
- UFS destroyen
- resilvern

Update:

Ich kopiere die Daten unterdessen wieder in den Pool zurueck. Anscheinend ist hier ZFS soooo klever, dass es den degradeten Mirror speziell behandelt und dort keine Daten abpackt. Die Daten wandern nur auf die voll funktionsfaehigen Mirrors.

Also wird es im Endeffekt so sein, wie vor der ganzen Aktion. Kann man sich also sparen :-(
 
3 X Danke für die Erklärung Yamagi! :D

Also kann ich mich wieder beruhigt zurück lehnen. :) Was evtl. interessant sein könnte ist, dass ich die Platte die den Geometrie Fehler wirft mit gpart Partitioniert habe. Das ganze ist größten Teils nach dieser Anleitung eingerichtet.
 
Zurück
Oben