[FreeBSD] ZFS raidz HDD austauschen

Das verschluesseln an sich geht total schnell, bloss das resilvern dauert halt lange.
Natürlich. Beim Erzeugen eines Geli-Devices werden ja keine Daten verschlüsselt, sondern nur ein Header geschrieben, der den verschlüsselten Masterkey enthält.

Ich hatte damit absolut gar keine Probleme. Somit kann man im Prinzip ziwschen verschluesselung, nicht verschluesselung, verschluesselungsstaerke wechseln wie man Lust und Laune hat, und dadurch ist es auch moeglich den Verschluesselungskey zu aendern.
Um den Key zu ändern ist so ein Aufwand doch gar nicht nötig. Die Daten sind ja nicht mithilfe des Keyfiles (+ Passphrase) verschlüsselt, sondern mit einem Masterkey, der verschlüsselt auf der Platte selbst liegt. Beim Attachen eines Geli-Devices wird dieser dann entschlüsselt, um damit dann die Daten ver- und entschlüsseln zu können. Du hast übrigens zwei Slots, auf denen du den Masterkey verschlüsselt ablegen kannst. So ist es auch möglich, zwei verschiedene Keyfiles/Passphrases zu haben. Siehe geli(8).
 
@waki87

Das mit dem Masterkey wusste ich ja noch gar nich, hoert sich ja recht interessant an. Wo genau und was sind die 2 slots wo der Masterkey liegt.



Raid-Z vergroessern
Aso btw, ick hatte irgendwo mal gelesen wie man mit einem Trick sein Raid-Z sogar vergroessern kann, also zusaetzliche Platten einbauen, weiss leider nich mehr wo.
 
Die werden bei geli soviel ich weiß ans Ende der Partition geschrieben. Praktisch ergibt sich daraus eben, daß du zwei verschiedene »Möglichkeiten« haben kannst, an den Schlüssel zu kommen, der letztendlich zum ver- und entschlüsseln von Daten auf der Partition verwandt wird.

Das ist kein besonderer Trick, sondern ein ganz normales Feature von ZFS. Einfach:
Code:
zpool add [pool] [device]
 
Ach, Mist. Der Befehl funktioniert zwar, aber die damit hinzugefügte Platte hat keinen Vorteil von Raid-Z, sondern ist nur gestripet. Man kann aber natürlich ein zweites Raid-Z zum Pool hinzufügen (allerdings mit mindestens 3 Platten), oder, wenn man genug Platz für ein Backup hat, den Pool exportieren und dann mit einer weiteren Platte neu bauen. Ich hoffe aber, das Feature kommt irgendwann noch …
 
Ja das waer natuerlich ultra, wenn die das mal einbauen koennten. Ich nutzte halt zur Zeit auch nur Raid-Z, weil es fuer mich die beste Mischung zwischen Speed und Platz ist.
 
Zum Thema Platten an ein RaidZ anhängen habe ich mal was gelesen von den OpenSolaris Leuten. Die sind von der Idee wohl nicht so super begeistert weil es wohl a) enorm aufwändig zu implementieren wäre und b) der Pool damit eine ganze Weile "gefährdet" wäre bis er neu gebaut ist, was ja sehr lange dauern kann. Insbesondere wenn man sich so den typischen Nutzer von Solaris/OpenSolaris anschaut der für Oracle Geld bringt, so denke ich irgendwie auch nicht dass bei diesem viel Interesse daran besteht die Zeit in Kauf zu nehmen einen Pool zu vergrößern wenn er einfach ein paar Platten mehr auf das Problem werfen kann.
 
Zum Thema Platten an ein RaidZ anhängen habe ich mal was gelesen von den OpenSolaris Leuten. Die sind von der Idee wohl nicht so super begeistert weil es wohl a) enorm aufwändig zu implementieren wäre und b) der Pool damit eine ganze Weile "gefährdet" wäre bis er neu gebaut ist, was ja sehr lange dauern kann. Insbesondere wenn man sich so den typischen Nutzer von Solaris/OpenSolaris anschaut der für Oracle Geld bringt, so denke ich irgendwie auch nicht dass bei diesem viel Interesse daran besteht die Zeit in Kauf zu nehmen einen Pool zu vergrößern wenn er einfach ein paar Platten mehr auf das Problem werfen kann.

Das wäre mir jetzt aber auch neu.
Es sollte ohne weiteres moeglich sein Platten an ein Raid Z anzuhängen und den bestehenden Pool zu erweitern.
Das das resilvern je nach Größe des Pools dauert
ist jetzt nicht weiter verwunderlich.
 
Das wäre mir jetzt aber auch neu.
Es sollte ohne weiteres moeglich sein Platten an ein Raid Z anzuhängen und den bestehenden Pool zu erweitern.

Nein. Man muss hier differenzieren.

- es ist NICHT möglich ein bestehendes RaidZ (oder RaidZ2 oder RaidZ3) mit zusätzlichen Platten zu erweitern.
- es IST jedoch möglich einen POOL zu erweitern in dem einfach ein weiterer "Verbund" an Platten, welche ein beliebiges weiteres Raid darstellen können, zum Pool hinzugefügt wird.
 
Das wäre mir jetzt aber auch neu.
Es sollte ohne weiteres moeglich sein Platten an ein Raid Z anzuhängen und den bestehenden Pool zu erweitern.
Das das resilvern je nach Größe des Pools dauert
ist jetzt nicht weiter verwunderlich.

As has been mentioned on this forum, this would require a significant change
to the way RAID-Z works. To my knowledge there is no such project at present.

via OpenSolaris Mailingliste

Natürlich kann man jedoch einen neuen stripe in ein RaidZ Volume einfügen, einzelne Platten jedoch nicht.
 
Zuletzt bearbeitet:
Nein. Man muss hier differenzieren.

- es ist NICHT möglich ein bestehendes RaidZ (oder RaidZ2 oder RaidZ3) mit zusätzlichen Platten zu erweitern.
- es IST jedoch möglich einen POOL zu erweitern in dem einfach ein weiterer "Verbund" an Platten, welche ein beliebiges weiteres Raid darstellen können, zum Pool hinzugefügt wird.

Wieder ein Grund mehr wieso ich Veritas vorziehe. ;)

Da kann ich auch shrinken...
 
Ich sehe das wenig tragisch. Was man kann und was man braucht sind zwei verschiedene Sachen.
Btw.: Man kann ein RaidZ vergrößern, in dem man einfach alle Platten der Reihe nacheinander gegen größere austauscht.
Nur eben das hinzufügen geht eben (noch) nicht.

Ich kann mir auch nicht wirklich vorstellen, in welchem tatsächlichen Fall man soetwas in der Praxis unbedingt brauchen würde. Entweder ich habe ein Array mit X Festplatten...dann ist eh kein Platz für weitere...oder man braucht mehr Platz...dann hängt man entweder ein weiteres Array dran...oder wechselt alle Platten gegen größere aus. Beides geht mit ZFS.
 
Full ACK, zumal man ja mit wachsender Anzahl Platten in einem RaidZ ja auch dessen Integrität gefährden würde. Es mag zwar Paranoid sein, jedoch steigt das Risiko dass einem mal 2 Platten ausfallen mit jeder weiteren Platte im Pool.
 
Full ACK, zumal man ja mit wachsender Anzahl Platten in einem RaidZ ja auch dessen Integrität gefährden würde. Es mag zwar Paranoid sein, jedoch steigt das Risiko dass einem mal 2 Platten ausfallen mit jeder weiteren Platte im Pool.

Bei großen Arrays gibts da in der Regel Spare Disks. und das Resilvering funktioniert bei einzelnen Hosts ziemlich sauber. Mittlerweile mehrfach gesehen. Allerdings setze ich auch nur mirrored pools ein. Verschnitt hin, Verschnitt her.
 
Bei großen Arrays gibts da in der Regel Spare Disks. und das Resilvering funktioniert bei einzelnen Hosts ziemlich sauber. Mittlerweile mehrfach gesehen. Allerdings setze ich auch nur mirrored pools ein. Verschnitt hin, Verschnitt her.

Da haste natürlich recht, die habe ich bei dem Gedankenspiel nicht einbezogen, dennoch sehe ich noch nicht wieso man einzelne Platten einem Array hinzufügen will, wenn man es einfach durch den Austausch der Platten mit größeren oder das Aufspannen des Volumes über einen weiteren Array erweitern kann. Grade in dem Bereich wo man dann Spares einsetzt sehe ich das nicht, denn wenn man dort mehr Platz braucht, so ist es ja in der Regel nicht mit einer Platte getan oder aber vom Kostenpunkt und der Stromrechnung her egal ob man eine oder 5-10 weitere Platten einbaut, zumal die Supportsituation mit Oracle ja leider grade seltsam wurde und Supportkunden damit eh zum Kauf von Oracle-Hardware gezwungen werden wenn sie Support wollen.
 
Ein Raid-Z kann man vergrößern, indem man die darin enthaltenen Platten gegen größere austauscht (nicht auf einmal, sondern nacheinander).
 
Zurück
Oben