我有一台在 Linux 上使用 ZFS 的 Centos 服务器。磁盘位于单个 zpool 中。当您输入时,zfs list
它会显示单个文件系统(?)(数据集?) tank1
,。
NAME USED AVAIL REFER MOUNTPOINT
tank1 18.4T 25.1T 18.4T /tank1
里面tank1
有几个目录。我们把它们称为myFiles
、images
和users
有优势吗以这种方式进行设置,而不是zfs create
为每个目录创建独立的文件系统,从而为每个目录提供自己的共享,并控制每个文件系统的共享方式?
因此当我输入时zfs list
我会看到:
NAME USED AVAIL REFER MOUNTPOINT
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
您可以为每个数据集设置配额、压缩和许多其他设置。假设您有一些程序或应用程序,并且您不希望它使用超过 20GB 的空间,您可以将其设置为数据集的配额。
如果您使用 zfs send 进行备份或复制,则需要针对每个数据集进行备份或复制。因此,您可能希望复制某个应用程序的数据,并将其限制在特定的数据集中,但又不想复制其他应用程序的庞大缓存或日志。因此,您需要将要复制的部分与您不想复制的部分分开,放在不同的数据集中。
如果您使用内置的 NFS 共享或 SMB 共享管理,那么也会按数据集进行配置。
所以,答案是,这完全取决于你需要什么。如果你需要为池中的不同数据组设置不同的 zfs 设置,那么你就需要数据集。