在将 zvol 从一个池发送到另一个池后,我惊讶地发现只有一半的数据“在那里”(根据REFER
)。然后我注意到在发送的快照上是referenced
和302G
是logicalreferenced
。150G
但在将其发送到新池后,这两个值匹配。我不明白为什么会这样,如果有什么的话,我认为logicalreferenced
应该大于referenced
。这302G
尤其令人困惑,因为 zvol 是通过使用 iSCSI 发送 150GB 驱动器来填充的dd
。
tank/Win10Root 831G 747G 302G -
tank/Win10Root@send referenced 302G -
tank/Win10Root@send logicalreferenced 150G -
# zfs send tank/Win10Root@send | zfs recv wd/Win10Root
wd/Win10Root 151G 6.24T 151G -
wd/Win10Root@send referenced 151G -
wd/Win10Root@send logicalreferenced 150G -
编辑:已发布logicalused
(为 0),而不是logicalreferenced
意外
这些是 的所有属性tank/Win10Root
。zvol 是用 创建的zfs create -V 512G tank/Win10Root
。
@ubuntu1:~$ sudo zfs get all tank/Win10Root | sort
NAME PROPERTY VALUE SOURCE
tank/Win10Root available 740G -
tank/Win10Root checksum on default
tank/Win10Root compression off default
tank/Win10Root compressratio 1.00x -
tank/Win10Root context none default
tank/Win10Root copies 1 default
tank/Win10Root creation Sat Nov 4 14:21 2017 -
tank/Win10Root dedup off default
tank/Win10Root defcontext none default
tank/Win10Root fscontext none default
tank/Win10Root logbias latency default
tank/Win10Root logicalreferenced 150G -
tank/Win10Root logicalused 150G -
tank/Win10Root mlslabel none default
tank/Win10Root primarycache all default
tank/Win10Root readonly off default
tank/Win10Root redundant_metadata all default
tank/Win10Root refcompressratio 1.00x -
tank/Win10Root referenced 302G -
tank/Win10Root refreservation 528G local
tank/Win10Root reservation none default
tank/Win10Root rootcontext none default
tank/Win10Root secondarycache all default
tank/Win10Root snapdev hidden default
tank/Win10Root snapshot_count none default
tank/Win10Root snapshot_limit none default
tank/Win10Root sync standard default
tank/Win10Root type volume -
tank/Win10Root used 831G -
tank/Win10Root usedbychildren 0 -
tank/Win10Root usedbydataset 302G -
tank/Win10Root usedbyrefreservation 528G -
tank/Win10Root usedbysnapshots 0 -
tank/Win10Root volblocksize 8K -
tank/Win10Root volsize 512G local
tank/Win10Root written 0 -
答案1
这完全是一个检查的案例手册页对于 ZFS:
引用
此数据集可访问的数据量,这些数据可能会或可能不会与池中的其他数据集共享。创建快照或克隆时,它最初引用的空间量与创建它的文件系统或快照相同,因为其内容是相同的。
此属性也可以通过其缩写列名 refer 来引用。
和...
逻辑参照
此数据集“逻辑上”可访问的空间量。请参阅引用的属性。逻辑空间忽略压缩和复制属性的影响,其数量更接近应用程序看到的数据量。但是,它确实包括元数据占用的空间。
此属性也可以通过其缩写列名 lrefer 来引用。
需要考虑的事项:
- 你的 zvols 稀疏吗?
- 压缩和重复数据删除的属性是什么?
- zvol 里面有什么?