ZFS文件系统 vs ZFS存储池

14

ZFS池可以由数据集(文件系统、快照等)或卷组成。ZFS卷类似于块设备,但我不理解池和文件系统之间的区别。当我通过zpool create pool1 sda sdb sdc创建了pool1,然后通过zpool create pool1/fs创建时,我可以在df -h输出中看到两行新内容:pool1pool1/fs。在zfs list输出中也是如此。现在,我可以将文件复制到池和文件系统中。我可以在两者上设置去重或压缩。那么区别是什么?为什么应该/不应该在池中创建文件系统?如果可能,请包含一些用法示例。

1个回答

18

一个池(pool)是由多个磁盘组成的集合,您可以将文件系统和卷存储在其中。创建池时,您还会获得一个基本级别的文件系统,所有其他创建的文件系统都将继承其属性(例如要使用的压缩算法等)。

文件系统(filesystem)是您可以写入文件的东西,它们都使用池中的存储来写入其数据。通常,您将逻辑上相似的数据分组到同一个文件系统中,因为这样可以针对压缩、快照等操作对所有这些数据进行相同的处理。您可以通过NFS将文件系统共享给其他计算机。

一个卷(也称为 zvol)是一种虚拟磁盘,它使用池中的存储来写入其数据。它有点像一个大文件,但您也可以直接对其进行压缩/快照等操作,而不是通过包含它的文件系统。通常,只有运行虚拟机时才会创建卷。虽然我相信您可以基于一组 zvol 创建一个池(一个池内的池),但通常这不是一个好主意(尽管对于ZFS开发人员来说是很有用的测试工具)。您可以通过iSCSI或FibreChannel将卷共享给其他计算机。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接