我知道 ZFS 的性能在很大程度上取决于可用空间的数量:
将池空间的利用率保持在 80% 以下以保持池性能。目前,当池非常满并且文件系统更新频繁时,池性能会降低,例如在繁忙的邮件服务器上。完整的池可能会导致性能下降,但没有其他问题。[...] 请记住,即使大部分静态内容在 95-96% 范围内,写入、读取和重新同步性能也可能会受到影响。ZFS_Best_Practices_Guide,solarisinternals.com (archive.org)
现在,假设我有一个 10T 的 raidz2 池托管 ZFS 文件系统volume
。现在我创建了一个子文件系统,volume/test
并给它预留了 5T。
然后我将每个 NFS 的两个文件系统安装到某个主机并执行一些工作。我明白我不能写volume
超过5T,因为剩下的5T是保留给volume/test
.
我的第一个问题是,如果我volume
用 ~5T填充我的挂载点,性能将如何下降?它会下降吗,因为该文件系统中没有用于 ZFS 的写时复制和其他元数据的可用空间?还是会保持不变,因为 ZFS 可以使用为 保留的空间中的可用空间volume/test
?
现在是第二个问题。如果我按如下方式更改设置,这有什么不同吗?volume
现在有两个文件系统,volume/test1
和volume/test2
. 两者均获得 3T 预留(但没有配额)。现在假设,我将 7T 写入test1
. 两个文件系统的性能是否相同,还是每个文件系统都不同?它会下降,还是保持不变?
谢谢!