I have a Centos server utilizing ZFS on Linux. The disks are in a single zpool. When you type in zfs list it shows a single filesystem(?)(dataset?), tank1.

tank1       18.4T  25.1T     18.4T  /tank1

Inside tank1 are several directories. Let's call them myFiles, images, and users

Is there an advantage to having it setup this way versus using zfs create to make isolated filesystems for each directory, thereby giving each directory its own share, and control over how each filesystem is shared?

So instead when I type zfs list I would see:

tank1          18.4T  25.1T     18.4T  /tank1
tank1/myFiles  55.0K  25.1T     55.0K  /tank1/myFiles
tank1/images   55.0K  25.1T     55.0K  /tank1/images
tank1/users    55.0K  25.1T     55.0K  /tank1/users

1 Answer 1


You can set quotas, compression, and many other settings per data set. Lets say you had some program or application, and you didn't want it to ever use more then 20GB, you could set that as a quota on the data set.

If you do backups or replication using zfs send, you do that per data set. So you might want to replication data from one application that you have confined to a specific data set, but you don't want to replicate the huge cache or logs for some other application. So you split things up the bits you want to replicate are on separate datasets from the things you don't want to replicate.

If you use the NFS sharing or SMB sharing management that is built in, that is also configured per data set.

So, the answer is it all depends on what you need. You need data sets if you need different zfs settings for different things groups of data on your pool.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .