NFS Shares with ZFS
klarasystems.com
klarasystems.com
I admit I hated this ZFS feature in Solaris 10 already, and it was the reason for more than one unaccounted leftover NFS share that ended up in bright red in audit reports.
If you'd rather manage them the traditional way, that's there too (just as ZFS offers mountpoint=legacy if you want to use fstab).
I'm using sshfs for most of my remote filesystem needs now.
In my testing, NFS meaningfully but not substantially beat Samba in bandwidth and with much less server load (sorry I didn't keep data).
Even though using a NAS is slower than a native RAID0 of NVMe/PCIeG4 drives, it gives me shared, automatic snapshots, automatic replications, etc. It's totally worth it.
NFSv4 rules.
ADD: [1] TrueNAS SCALE was _just_ released and I'll be evaluating this seriously and expect to migrate to it.
I'm sure it's less common these days with everything on "the cloud" (far less convenient), but in the old days entire companies ran on NFS. Thousands of workstations, with dozens-to-hundreds of NFS servers mapped to a global filesystem hierarchy, automounting as needed.
So the answer to "has anyone" is yes, lots of companies, for a couple decades.
I do miss it, it was so super convenient to have everything in what seemed one giant filesystem.
At a tiny scale I still have the convenience at home. My file server (ZFS) exports various filesystems to all other machines in the house (via zfs sharenfs).
Can this be done with using something like NFS+ZFS?
You can share a filesystem (see the article for one way to configure that) or a volume (like a disk image, could be used for diskless hosts; iSCSI is a standard way of doing that).
If the data they need shared access to is immutable (for example, the static files served by a webserver) I would much sooner bake them into a versioned container image and share that. It'll perform better by virtue of being on unshared local storage and eliminate the single point of failure/bottleneck.
Another option for eliminating the single point of failure and performance bottleneck is a distributed filesystem like cephfs or glusterfs.
If you meant scaling ZFS itself such that the shared storage is resilient to a full host failure, I’m afraid ZFS is not your best bet. ZFS scales vertically very nicely. Heck, I have a single host with 2 X 100G NICs and 4 x 40G NICS fronting 1.2 PB of ZFS managed disks. If that host goes down, say from a motherboard failure, all 1.2 PB becomes inaccessible until I can hook up the JBODs to a different host physically.
I've been wondering the same for distributing storage arrays around multiple sites, with local caching. Ceph seems to be the way.