ZFS文件系统与ZFS池

dor*_*and 4 zfs

ZFS池可能包含数据集(文件系统,快照等)或卷.ZFS卷就像块设备,但我不明白池和文件系统之间的区别.当我创建pool1时zpool create pool1 sda sdb sdc, zpool create pool1/fs我可以在df -h输出中看到两个新行pool1pool1/fs.zfs list输出相同.现在,我可以将文件复制到池中并转换为fs.我可以在两者上设置重复数据删除或压缩.那么区别是什么呢?我为什么要/不应该在池中创建文件系统?如果可能,请提供一些使用示例.

Dan*_*Dan 6

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

文件系统是您可以将文件写入的文件系统,它们都使用池中的存储来编写数据.通常,您将逻辑上类似的数据分组到同一个文件系统中,因为这样您就可以将所有数据视为压缩,快照等相同.您可以通过NFS将文件系统共享到网络上的其他计算机.

卷(又名a zvol)是假磁盘,它使用池中的存储来写入其数据.它有点像一个大文件,除了你也可以直接对它进行压缩/快照等,而不是通过包含它的文件系统.通常,只有在运行VM时才会创建卷.虽然我相信你可以基于一组zvols(池中的池)创建一个池,但一般来说这不是一个好主意(尽管它对ZFS开发人员的测试很有用).您可以通过iSCSI或FibreChannel通过网络将卷共享到其他计算机.