zfs pools migrieren zwischen LXCs?

Also nach meinem noch nicht ganz vorhandenen Verständnis, hat ein ZFS als Grundlage einen Pool aus Storage Devices. Das sind dann wohl die VDEVs.
In meinem Fall gibt es davon 3 verschiedene:
VDEF-0: 3x 1TB SSD
VDEF-1: 3x 4TB HDD
VDEF-2: 4x 12TB HDD

Jedes VDEF ist als RAIDZ1 aufgesetzt. In jedem VDEF kann also eine Platte ausfallen.
Aktuell habe ich keinen Platz und keine Anschlüsse mehr übrig um noch 3 weitere Platten einzubauen und damit aus den RAIDZ1 zum Beispiel ein RAIDZ2 zu machen. Zumal ich für später im Jahr ohnehin ein Mirroring über zwei externe TrueNAS Systeme geplant habe.

Um kurzfristig redundanter zu bleiben, würde ich gerne eine 12TB extra einbauen, aber diese soll automatisch jedem der drei VDEFs zur Verfügung stehen, wenn eine der Platten gleicher oder kleinerer Größe ausfällt. Im Grunde also wie in einem Hardware RAID, bei dem das ja auch geht.

Danke für die Links @news Das ist genau das, was ich gesucht habe!
 
Last edited:
Hallo @Astralix
Zur den Begrifflichkeiten Du hast also 3 ZFS Pools mit jeweils einem VDEV.
Aus einem ZFS RaidZ1 kann man, nach meinem aktuellen Stand, nicht im laufenden Betrieb eine ZFS RaidZ2 machen.
Den ZFS Pool kann man natürlich auflösen (destroy) und neu erstellen (create).
Aber man kann zu einem ZFS Pool mit 1x VDEV-0: ZFS RaidZ1 ein weiteres VDEV-1: ZFS RaidZ1 hinzufügen.
Trennen kann man das nicht - immer -.
 
Das scheint doch unter Proxmox schon zu laufen, denn man kann ja in der Oberfläche alle SMART Daten der HDDs auslesen. Darin waren auch die Fehler der defekten Platte zu lesen.

Außerdem kann ich auch in "zpool list" sehen, dass ein pool degraded ist. Auch unter proxmox/Disks/ZFS sehe ich diesen Status.
Aber ich habe weder von smartmon noch von Proxmox eine Mail bekommen, obwohl beiden Systemen alle Informationen zu dem Ausfall bekannt zu sein scheint.

Blablabla... Ich Depp! :rolleyes:
Ich habe zwar den SMTP server korrekt eingetragen, aber am Ende die "Notification Matchers" nicht geändert. So wurden dann alle Mails weiter an den deaktivierten mail-to-root gesendet.
 
Hallo @Astralix
Zur den Begrifflichkeiten Du hast also 3 ZFS Pools mit jeweils einem VDEV.
Aus einem ZFS RaidZ1 kann man, nach meinem aktuellen Stand, nicht im laufenden Betrieb eine ZFS RaidZ2 machen.
Den ZFS Pool kann man natürlich auflösen (destroy) und neu erstellen (create).
Aber man kann zu einem ZFS Pool mit 1x VDEV-0: ZFS RaidZ1 ein weiteres VDEV-1: ZFS RaidZ1 hinzufügen.
Trennen kann man das nicht - immer -.
Danke!
Aber ich denke, dass ich das nicht brauche.
Laut der von Dir verlinkten Doku von Oracle können mehrere pools eine Hotspare teilen, wenn diese auf der gleichen Maschine sind.
https://docs.oracle.com/cd/E19253-01/820-2313/gcvcw/index.html
Dazu muss ich nichts mehr ändern, nur die Platte allen Pools als spare hinzufügen.
 
Es liegt hier noch eine weitere Platte für den Pool und die defekte geht in Garantie zurück.

Was mich noch interessiert sind diese Defaults. Denn man kann ja wohl den scrub konfigurieren. Muss dabei noch etwas gesondert beachten?
Außerdem habe ich noch einer weitere Platte gekauft und hoffe darauf, dass die defekte HDD getauscht wird.

Ich habe inzwischen gelesen, dass man das RAIDZ1 vergrößern kann, aber nicht auf RAIDZ2 upgraden?
Also werde ich die eine Platte als Vergrößerung, die andere als Hotspare für alle einsetzen, sobald sie wieder eintrifft.
 
Ich habe inzwischen gelesen, dass man das RAIDZ1 vergrößern kann, aber nicht auf RAIDZ2 upgraden?
Also werde ich die eine Platte als Vergrößerung, die andere als Hotspare für alle einsetzen, sobald sie wieder eintrifft.
Ich hatte das oben mit den VDEV-0 als ZFS RaidZ1 schon erläutert. Eine Erweiterung geht über ein weiteres VDEV-1 als ZFS RaidZ1 schon.
 
  • Like
Reactions: Astralix
Umgangssprachlich kann ich eine Platte hinzufügen, aber nur als zusätzlicher Speicherplatz, nicht zur Hochstufung des RAID Level.
Macht aber bei genauem Nachdenken keinen Sinn, da ich ja den ganzen Verbund spiegeln will in Zukunft. Und dann muss man überlegen, ob das noch Sinn macht lokal RAIDZ2 und remote Mirroring. Wenn es bei nur einem System bleiben würde, würde ich anders denken.
 
Laut der von Dir verlinkten Doku von Oracle können mehrere pools eine Hotspare teilen, wenn diese auf der gleichen Maschine sind.
https://docs.oracle.com/cd/E19253-01/820-2313/gcvcw/index.html
Da steht aber nichts dazu drin, würde mich auch wundern, weil man die "spare" ja einem pool added, die dann dazu gehört. Man kann sie jedoch manuel mit remove wieder entfernen, wenn sie unbenutzt ist und dann einem anderen pool dazu "add"en.
Das ließe sich gut in einem Skript abbilden und die "spare" wäre erstmal nirgends zugeordnet bis sie in einem poll benötigt wird und dort dann Mitglied wird.
 
  • Like
Reactions: Johannes S
Oh, in der Deutschen Doku steht es so nicht, aber hier:

https://docs.oracle.com/en/operatin...designating-hot-spares-in-a-storage-pool.html
"Do not share a spare across multiple pools or multiple systems even if the device is visible for access by these systems. You can configure a disk to be shared among several pools provided that only a single system must control all of these pools. However, this practice is risky. For example, if pool A that is using the shared spare is exported, pool B could unknowingly use the spare while pool A is exported. When pool A is imported, data corruption could occur because both pools are using the same disk."

Ist mir aber klar, dass das Risky ist. Aber ich betreibe auch kein Hochfrequentiertes System.
Eine Hot-Spare überbrückt nur den Zeitraum, bis der Postbote eine neue Disk liefert.
Aber bei einer 12TB Hot-Spare muss man sie nachher aus dem 4TB Pool entfernen, damit sie als 12TB auch für die 12TB Pools wieder verfügbar ist. Daher ist es eher sinnvoll hier dedizierte 4TB und 12TB einzusetzen. In den neuen Systemen ist dafür auch Platz.

Random 4k IOPs habe ich kaum auf den Datenplatten. En PC schreibt gelegentlich mal was, aber 5 Rechner lesen ab und zu mal ein paar Daten. 4 davon benutze ich selber, also rein physikalisch unmöglich gleichzeitig.
VMs und Datenbanken und Virtuelle Rechner greifen nahezu ausschließlich auf den kleinen Pool mit den 1TB SSDs.

Videoschnitt könnte was werden, das werde ich aber auf eigenen Plattensätzen machen und die großen Pools nur als Speicher verwenden.