Two caveats on ZVols: NFS mounting and sharing

  1. Do NFS serving from one VM: You cannot nfs mount a zvol partition via the truenas GUI. While this is technically easy to do from the bash command line, it requires the volmode of the ZVol to be set to full which is not supported and will cause problems (as I found out). Instead always use a VM to mount a Zvol partition and NFS serve from the ZVol. You cannot use the NFS sharing in the truenas GUI for ZVols since TrueNAS never wants to look inside the ZVol (even though it technically can).
  2. Never mount the same ZVol on >1 VM at any given time (even though you can) unless you are running software that is designed to do this (e.g., they write on different partitions of the same ZVol so they aren’t stepping on each other). Never share Zvols if more than one VM can mount the ZVol at any time. You can configure your VM to have these mount points and TrueNAS will allow you to run multiple VMs connected to the same Zvol (which it should so that is good), but it’s a really bad idea, even only one of them mounts it rw. The readers can totally get confused because the readers always assume they have exclusive access to the partition. So when you do this you should have a good reason like VM #1 is mounting p1 and the other VM is mounting p2 of the same ZVol, and none of them is trying to repartition the ZVol.

Did I miss anything else that is big? I think those were the two key lessons for me as I explored the world of ZVols.