Linux – How to share ZFS features over NFS

linuxnfsopensolarissharezfs

We are planning to use some of the features that ZFS has, such as:

  1. Snapshots.
  2. Hierarchy of file systems (each user will have his own).
  3. Custom user properties.
  4. Clones.

Is it possible to share all this functionality via NFS to Linux client machines?

UPD: So if it is not possible via NFS, what NFS-like protocol should we use?

Best Answer

You can create snapshots through NFS by creating directories in the .zfs directory of each dataset. That special directory can be hidden or not (but still accessible).

ZFS is a hierarchical filesystem, just create individual datasets for each user within other datasets (e.g department/user1 department/user2 etc). They will inherit the properties or you can overwrite those too.

With clones you can save some disk space. If all your users need a initial set of files in their directories, put them in a dataset, snapshot it and clone for each user. You won't be able to delete the snapshot while there are clones depending on it.

Custom dataset properties and clones must be managed from the server side. As far as I know, there are proprietary plug-ins that export ZFS specifics to VMware and the like. There is not a distributed FS protocol that will allow that though. You could create a web front-end and let users manipulate them.

Related Topic