Quantcast
Channel: Active questions tagged zfs - Server Fault
Viewing all articles
Browse latest Browse all 151

/dev/zvol/pool/group/srv points to partition zd0p16 not volume zd0 - bug or feature?

$
0
0

I am only starting to get familiar with openzfs 2.2.0 on Linux (Ubuntu kernel 6.5) and immediately ran into something strange. A symlink I was expecting to point to a zvol block device.. was pointing to a partition on that block device. While the zfs-create manpage seems fairly unambiguous that /dev/zvol/path refers to the path in the ZFS namespace.

What I wanted to see:

/dev/zvol/pool/group/srv -> ../../../zd0/dev/zvol/pool/group/srv-part1 -> ../../../zd0p1/dev/zvol/pool/group/srv-part14 -> ../../../zd0p14/dev/zvol/pool/group/srv-part15 -> ../../../zd0p15/dev/zvol/pool/group/srv-part16 -> ../../../zd0p16

What I did see, once (not reproducible):

/dev/zvol/pool/group/srv -> ../../../zd0p16

What I saw after running partprobe (note: symlink name of 4th partition):

/dev/zvol/pool/group/srv -> ../../../zd0/dev/zvol/pool/group/srv-part1 -> ../../../zd0p1/dev/zvol/pool/group/srv-part14 -> ../../../zd0p14/dev/zvol/pool/group/srv-part15 -> ../../../zd0p15/dev/zvol/pool/group/srv-part3 -> ../../../zd0p16

Before I go on to the actual problem I was wanting to look into - how well zfs works for me when multiple zvol each contain identical partition tables (forcing Linux & udev to deal with duplicate identifiers) - I would like to understand what the precise rules for managing these symlinks are and what level of control I have to make such symlinks be provisioned the way I expect them to work.

Or maybe whatever has happened is what I should want, or the best I can get? And I just fail to understand which synchronization steps and what type of device files symlinks I should be using if I mean to reliably access a device file containing partition 16 of the zfs pool volume I named srv?


Viewing all articles
Browse latest Browse all 151

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>