Issues with file sharing ZFS pool

All your general support questions for OpenZFS on OS X.

Issues with file sharing ZFS pool

Postby markauk » Thu May 19, 2022 10:43 am

I've got a raidz1 array ("nas") attached by Thunderbolt to a macos 10.15 Mac Mini, which is acting as a file server for other macs.

The pool has 12 datasets, some compressed, some encrypted. They are mostly at their default mountpoints - e.g. /Volumes/nas/backup/ for the dataset called "backup". For local access on the Mac Mini everything works fine.

When accessing the server from other Macs I have two problems:

  1. when I mount the backup dataset, it gets mounted at /Volumes/backup/, but I'd like it to be mounted at /Volumes/nas/backup/ for consistency (so scripts don't need to worry if they are running on the server or on a client machine).
  2. I was hoping that I could mount the datapool, and then have the datasets accessible under that, but if I try to mount the datapool, which I can see as a shared volume as "nas", it crashes Finder (spinning wheel of eternity) so badly that I have to reboot the Mac. I get the same behaviour on both an Intel 10.15 mac, and an M1 macos 12 mac.

I could work around the first issue, by setting the local mountpoint of each dataset to be directly under /Volumes/, i.e. /Volumes/backup/ in this case - though with 12 of them it would be neater to have them contained under a directory.

The crash is more problematic - not good that accidentally trying to mount the datapool share requires a reboot.

Should it be possible to mount the datapool share directly, and access the datasets under that pool? If not, can I stop the pool showing as a share so I don't accidentally crash Finder and have to reboot?

Thanks,

mark.
markauk
 
Posts: 6
Joined: Wed May 04, 2022 3:06 am

Re: Issues with file sharing ZFS pool

Postby FadingIntoBlue » Thu May 19, 2022 5:31 pm

If not, can I stop the pool showing as a share so I don't accidentally crash Finder and have to reboot?


Check out the canmount property

Experiment with the canmount property canmount=on | off | noauto

The filesystem can be set with a different canmount property to the pool

I have an encrypted filesystem as a parent of others, the encrypted filesystem does not get mounted, the child filesystems do, and they inherit the key and encryption from the encrypted parent

One solution, not necessarily the optimum for your scenario though. I do have a pool that I try and mount over the network, which takes so long to mount that I resort to a child filesystem and scripting to get stuff to where I want it to go. Similar situation to yours, though don't get a crash or panic
FadingIntoBlue
 
Posts: 106
Joined: Tue May 27, 2014 12:25 am

Re: Issues with file sharing ZFS pool

Postby markauk » Fri May 20, 2022 12:26 am

Thank you that's really helpful. Setting canmount to off stops that pool from being shown as a share.

That also got me thinking about other ways to achieve what I wanted and this works so far:
  • create a directory to hold the mountpoints (/Users/nas/ in my case)
  • set the relevant dataset mountpoints to something inside that directory e.g. /Users/nas/backup/
  • explicitly share the /Users/nas/ directory
Now by connecting to one share ("nas" - now the directory I created, not the pool), client machines then get access to any datasets which are mounted under that directory.

At least it seems to work so far with 3 datasets, but needs more testing.
markauk
 
Posts: 6
Joined: Wed May 04, 2022 3:06 am

Re: Issues with file sharing ZFS pool

Postby markauk » Tue May 24, 2022 3:19 am

So far this strategy seems to work well, except for one issue. I use Retrospect for local backup, and as far as I can tell Retrospect refuses to see filesystems which are mounted anywhere other than directly under, or one level under /Volumes/.

I have no issue ditching Retrospect since everything else is working great, but am struggling to find an easy to use backup solution which supports backing up a large (16+TB in my case) set of data to multiple smaller disks (2-4TB in my case)...
markauk
 
Posts: 6
Joined: Wed May 04, 2022 3:06 am

Re: Issues with file sharing ZFS pool

Postby tangles » Sat Jun 04, 2022 4:41 pm

I take it that your 16TB pool has datasets? If so, could you back up each dataset to your smaller 2-4TB disks?
You could also use zfs send/recv for your backup process too. This way you can scrub your backups before performing any backup to avoid issues further down the road… ;))
tangles
 
Posts: 195
Joined: Tue Jun 17, 2014 6:54 am

Re: Issues with file sharing ZFS pool

Postby incumbent » Mon Aug 21, 2023 7:29 am

markauk wrote:
  • create a directory to hold the mountpoints (/Users/nas/ in my case)
  • set the relevant dataset mountpoints to something inside that directory e.g. /Users/nas/backup/
  • explicitly share the /Users/nas/ directory
Now by connecting to one share ("nas" - now the directory I created, not the pool), client machines then get access to any datasets which are mounted under that directory.


hello, you might like what you see in `/etc/synthetic.conf`!

i have my pools mounted by name and/or datasets e.g.

`/cascade` is my fast user data pool
`/succor` is my slow big much larger mechanical pool
`/av` is `cascade/av` and where my photography/audio/video projects live
`/vaulted` is an encrypted dataset
`/people` is `cascade/people` where my z-username directories live (i use apfs root on internal SSDs and have my preferences setup to link things into `/cascade/people/zemory` like `cascade/people/zemory/research`
`/notes` my favorite, my Obsidian vaults live there and it's really `cascade/people/zemory/research/notes`
incumbent
 
Posts: 40
Joined: Mon Apr 25, 2016 8:52 am


Return to General Help

Who is online

Users browsing this forum: No registered users and 1 guest