Fragen zu zpool, Vm-Disks und CT Volumes.

Renegade33

Member
Aug 29, 2023
110
2
18
Bavaria - Germany
Hi,
hat einer mal ein gutes Tutorial für mich, in dem das mit den zpools, VM-Disks und CT-Volumes erklärt wird?

ich weiß zwar, dass ein zpool aus einem bis mehreren vdevs besteht und die Basis für Datasets bildet. Auch, dass man jederzeit einem zpool ein neues vdev hinzufügen kann, auch weiß ich, was eine VM-Disk ist, aber was ist ein CT Volume und liegen VM-Disks und CT Volumes dann auf dem Dataset oder wie passen die in die zfs-Struktur rein?
Fragen über Fragen,...

Ich würde gerne die ganzen Unterschiede und Zusammenhänge verstehen, darum suche ich ein gutes Anfängerfreundliches Tutorial und kein Youtube-Video von einem der selbsternannten #Experten, für das ich am Ende gesteinigt werde. ;)

Vielen Dank im voraus.
euer unwissender Newbie Rene
 
was ist ein CT Volume
Ein "Dataset".
auch weiß ich, was eine VM-Disk ist
Ein "Zvol"

liegen VM-Disks und CT Volumes dann auf dem Dataset oder wie passen die in die zfs-Struktur rein?
Ein Dataset ist ein eigenes Dateisystem ohne drüberliegendes Blockdevice.
Ein Zvol ist ein Blockdevice ähnlich wie ein LV bei LVM was ohne Dateisystem kommt, was man aber frei partitionieren und mit einem Dateisystem der Wahl formatieren kann.
Beide können Kind eines Datasets sein und bekommen entsprechend Eigenschaften vererbt und können per CLI rekursiv benutzt werden, sind aber eigenständig und nicht "on top" des Eltern-Datasets. Also die Struktur ist rein organisatorisch und du hast keine verschachtelten Dateisysteme.

Ich würde gerne die ganzen Unterschiede und Zusammenhänge verstehen, darum suche ich ein gutes Anfängerfreundliches Tutorial und kein Youtube-Video von einem der selbsternannten #Experten, für das ich am Ende gesteinigt werde.
Da ist nichts PVE spezifisch. Da tut es jedes gute Tutorial/Buch zu OpenZFS.
Guten Überblick verschaffen z.B.:
https://arstechnica.com/information...01-understanding-zfs-storage-and-performance/
https://forum.level1techs.com/t/zfs...pts-pool-config-tuning-troubleshooting/196035
 
Last edited:
  • Like
Reactions: mat.ec and Falk R.
Ein Dataset ist ein eigenes Dateisystem ohne drüberliegendes Blockdevice.
Ein Zvol ist ein Blockdevice ähnlich wie ein LV bei LVM was ohne Dateisystem kommt, was man aber frei partitionieren und mit einem Dateisystem der Wahl formatieren kann.
Beide können Kind eines Datasets sein und bekommen entsprechend Eigenschaften vererbt und können per CLI rekursiv benutzt werden, sind aber eigenständig und nicht "on top" des Eltern-Datasets. Also die Struktur ist rein organisatorisch und du hast keine verschachtelten Dateisysteme.
Also kann ein zvol entweder in einem Dataset oder parallel zu einem Dataset auf einem zpool liegen? Genauso wie ein Dataset selbst in einem anderen Dataset liegen kann, wobei es hierbei nur um Vererbung geht und nicht um hierarchische Strukturen?

Super danke, werde ich mir am Wochenende mal zu Gemüte führen.
 
Also kann ein zvol entweder in einem Dataset oder parallel zu einem Dataset auf einem zpool liegen?
Rein organisatorisch als Baumstruktur betrachtet ja. Aber technisch sind alle Zvols und Datasets "flach" nebeneinander. Das Zvol ist dann also nicht wirklich auf dem Dataset gespeichert.
Technisch ist es völlig egal ob ich den Pool als...
Code:
Pool
|--Dataset1
   |--Dataset2
   |  |--Zvol1
   |  |--Zvol2
   |  |--Zvol3
   |--Dataset3
   |--Zvol4
...oder...
Code:
Pool
|--Dataset1
|--Dataset2
|--Dataset3
|--Zvol1
|--Zvol2
|--Zvol3
|--Zvol4
...anlege. Ich kann in beiden Fällen das gleiche erreichen. Ersteres macht mir das Management nur einfacher da ich...
a) mir das sinnvoll Strukturieren kann
b) Bulk-Aktionen machen kann wie bei "zfs snapshot -r Pool/Dataset2@now" wo dann gleichzeitig für Dataset2, Zvol1, Zvol2 und Zvol3 ein Snapshot angelegt wird und ich nicht alle 4 einzelnd snapshotten muss
c) nicht alle Datasets und Zvols einzeln konfigurieren muss, da sich die Eigenschaften vererben. Will ich Dataset2, Zvol1, Zvols2 und Zvol3 von LZ4- auf ZSTD-Kompression umstellen, dann setze ich das mit "zfs set compression=ZSTD Pool/Dataset2" nur für Dataset2 und da Zvol1, Zvol2 und Zvol3 alles Kinder von Dataset2 sind bekommen die das automatisch mit vererbt und nutzen in Zukuft ebenfalls ZSTD.

Genauso wie ein Dataset selbst in einem anderen Dataset liegen kann, wobei es hierbei nur um Vererbung geht und nicht um hierarchische Strukturen?
Genau.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!