Page 1 of 1
Pool und vdev
Posted: 06 Dec 2014 19:03
by Mike
Hallo, lt. Oracle ZFS Manual soll es möglich sein, in einem! Pool 2 physikalisch unterschiedliche virtuelle Geräte zu betreiben, also z.B. ein Raidz1 mit einem Raid-Mirror. Mir ist das weder über Konsole noch GUI gelungen. Vermutlich liegt es daran, daß beide vdevs vorher in 2 verschiedenen Pools betrieben wurden. Trotz Löschen von Pool und vdevs kam immer "Fehlercode 1". Wie geht man in einem solchen Fall richtig vor? Erschwerend ist es auch, daß Konsole und GUI ihr eigenen "Ding" machen, z.B.war ein Erstellen eines Pools mit der GUI nicht möglich, dagegen in der Konsole mit "zpool" schon.
Gruß Mike
Re: Pool und vdev
Posted: 08 Dec 2014 03:15
by Princo
Hi Mike,
von dem, was du da vorhast, würde ich dir abraten.
Wenn ich das richtig verstanden habe, willst du ein vdev1 (RaidZ1) mit einem vdev2 (Mirror) zusammenschalten).
Damit würdest du ein Stripeset aus vdev1 und vdev2 erzeugen, und daraus einen Pool bilden.
Stripesets sind aber immer eine schlechte Idee, wenn man es unter dem Aspekt der physikalischen Datensicherheit betrachtet.
In deinem Fall wärst du, auf den ersten Blick, für den Ausfall von zwei Festplatten gewappnet.
Das Problem dabei ist aber, daß es sich dabei nicht um zwei beliebige Festplatten handeln darf.
Wenn dir z.B: beide Festplatten aus vdev2 ausfallen, sind dann auch alle Daten aus vdev1 weg.
Das ist jenseits von "clever".
Dazu kommt, daß man in einem Pool keine Platten mit unterschiedlichen Sektorgrößen mischen sollte. Das könnte evtl. auch der Grund für die Fehlermeldung sein.
Mein Tipp:
1. Ein Pool sollte niemals aus Mischformen verschiedener RaidZ-Geometrien bestehen. (Keep it simple!)
2. Aus 1. folgt: Es ist besser, zur Kapazitätserweiterung einfach einen weiteren Pool mit eigener Redundanz einzurichten.
Zusatztipp:
Mit einen Backup-NAS gestalten sich zukünftige Kapatiätserweiterungen leichter.
Dann kommt man auch nicht in die Verlegenheit, beim Haupt-NAS mit Stripesets arbeiten zu müssen.
Anmerkung; Daß die Web-GUI und die Kommando-Zeile "ihr eigenes Ding" machen ist richtig.
Um evtl.Diskrepanzen auflösen zu können, wenn man an dem Web-GUI vorbei operiert, ist es manchmal nötig, alle Datenträger aus dem Diskmanagement zu löschen, und dann ein Disks|ZFS|Configuration|Synchronize durchzuführen.
Entscheidend ist bei ZFS immer die Konfiguration auf den Platten, und nicht das, was im Web-GUI steht. Solange beide Systeme übereinstimmen, ist alles schick.
Grüße
Princo
Re: Pool und vdev
Posted: 08 Dec 2014 09:17
by Mike
Danke für die Erklärung. Dieser Versuch sollte keine dauerhafte Lösung sein, sondern ein "Üben", um die Möglichkeiten besser kennen zu lernen. Als "Stütze" ist ja immer mein Backupserver da. Daß die Differenzen zwischen Konsole und GUI von Expertenseite bestätigt werden, beruhigt mich
Wünsche Dir und allen Lesern angenehme Feiertage.
MfG Mike
Re: Pool und vdev
Posted: 08 Dec 2014 22:48
by Princo
Mike wrote:Daß die Differenzen zwischen Konsole und GUI von Expertenseite bestätigt werden, beruhigt mich

Nee, das habe ich anders gemeint: Wenn man die Konfiguration rein über das Web-GUI vornimmt, dann gibt es keine Differenzen.
Wenn man aber über die Kommandozeile arbeitet, dann muß man hinterher das GUI mit der realen Konfiguration synchronisieren. Das betrifft aber nur die ZFS-Konfiguration.
Für mich ist das übrigens ein riesiger Vorteil bei einem NAS-System.
Grüße
Princo
Re: Pool und vdev
Posted: 09 Dec 2014 09:31
by Mike
Ja, aber das Problem war, daß eine Erstellung eines Pools über GUI nicht ging, mit zpool in der Konsole aber problemlos. ohne daß ich etwas geändert hätte.Hierzu noch eine Frage: Wenn ich mit zpool einen Pool erstelle, mache ich das mit zpool create raidz name /dev/ada0 usw...Wenn ich in der GUI einen Pool erstelle, muß ich erst virtuelle Geräte erstellen, die ich dann in einen Pool hinzufügen kann. Warum dieser Unterschied, wenn es denn einer ist?
Gruß Mike
Re: Pool und vdev
Posted: 09 Dec 2014 09:45
by crowi
Also schau Dir erstmal diese Präsentation an, das erklärt einiges:
https://forums.freenas.org/index.php?th ... oobs.7775/
In Kürze:
- aus den Festplatten werden ZFS storage Pool devices
- aus diesen einzelnen Devices machst Du ein virtuelles Device (vDev) mittels mirror, Z1, Z2, Z3, etc
- aus den vDevs kannst Du dann einen Pool machen, Du kannst beliebige vDevs zu einem Pool hinzufügen (jedoch ist das nicht immer sinnvoll, s.o.)
- im Pool kannst Du dann Datasets (Ordner anlegen)
- in den Datasets speicherst Du Deine Daten...
Re: Pool und vdev
Posted: 09 Dec 2014 11:22
by Mike
@crowi: Das weiß ich ja alles, habe ja schon mehrere Pools erstellt. Meine Frage wurde nicht beantwortet...
Re: Pool und vdev
Posted: 09 Dec 2014 13:21
by crowi
Wenn ich in der GUI einen Pool erstelle, muß ich erst virtuelle Geräte erstellen, die ich dann in einen Pool hinzufügen kann. Warum dieser Unterschied, wenn es denn einer ist?
Das (virtuelle Geräte erstellen) machst Du in der command line genauso:
zpool create (->Pool erstellen) tank (->Name des Pools) mirror(->vDEv in dem Fall ein mirror aus den Platten ->) ad0 ada1
Also gibt es keinen Unterschied, ausser dass Du eben die ZFS Konfiguration syncen musst, wenn sie über die CLI erstellt wurde.
Bei exotischen Setups, muss evtl. auch eine "forced" Synchronisation durchgeführt werden.
Jedoch solltest Du generell die Konfiguration über das WebGUI durchführen, das Problem war, dass Deine Platten schon ZFS Informationen hatten und sich dann das System schlauerweise weigert. In dem Fall hättest Du erst den 'alten' Pool zerstören müssen.
Re: Pool und vdev
Posted: 09 Dec 2014 14:15
by Mike
Gut, dann beinhaltet das Argument " raidz" oder auch "mirror" die Erstellung des vdev, während ich in der GUI den Pool in 2 Schritten erstellen muß.
Im übrigen: den Pool hatte ich gelöscht, Freigaben entfernt. Es kam trotzdem Fehlercode1.