Q:

How to access a ZFS zvol SNAPSHOT block device?

I have an Ubuntu 16.04 box running ZFS.    I'm using the zfs-auto-snapshot script to create regular snapshots.   Included in my ZFS setup is a ZVOL block device.    I want to access (read-only) a snapshot of this ZVOL, but I'm unable to find the resource.
When I do a zfs list -t snapshot, I see a number of snapshots of this block device like

zfspool/folio_drbd@zfs-auto-snap_monthly-2017-12-01-1711      2.59G
  -   178G  - zfspool/folio_drbd@zfs-auto-snap_weekly-2017-12-08-1511       31.3G      -   207G  - zfspool/folio_drbd@zfs-auto-snap_weekly-2017-12-22-1511       1.97G
  -   194G  - zfspool/folio_drbd@zfs-auto-snap_weekly-2017-12-29-1511        908M      -   197G  -

These do not appear in /zfspool/.zfs/snapshot/zfs-auto-snap-*   - How can I access the ZVOL snapshot ?

A:

Snapshots of zvols are not automatically displayed inside the file system hierarchy like file system snapshots are (because they can contain any other file system), but you can mount and access them at your chosen destination (again, depending on the content of the zvol). If mounting fails, you may try to first clone and then mount the clone, as detailed in this mailing list post:

did you run dmesg | tail? My GUESS is that the fs needs journal reply,
  which fails because snapshots are immutable. Mounting the clone would fix
  this issue.
Try cloning it first, e.g. zfs clone tank/vmdk1@ckpnt2 tank/vmdk1-ckpnt2-clone,
  then mount /dev/zvol/tank/vmdk1-ckpnt2-clone /mnt/snap1

