我有一个在 2011 年创建的池,使用的是lzjb compression
,直到几年后升级才允许我将压缩设置为lz4
. 我估计阵列上至少 20% 的内容(按空间)是在 2013 年之前创建的,这意味着它仍然使用lzjb
.
我可以想到几个选项来解决这个问题并重新获得(一些)空间:
备份并还原到新池。不太实用,因为我没有足够的冗余存储来保存临时副本。还原还需要池脱机几个小时。
编写一个脚本来重新复制时间戳早于 2013 年的任何文件。潜在的风险,特别是如果它因空格或其他特殊字符而窒息并最终破坏了原始名称。
有没有办法让 ZFS 使用当前的压缩算法重新压缩任何遗留块?有点像磨砂膏,但可以治愈压缩。
一个相关的问题:有没有办法查看每种压缩算法的使用情况?zdb 仅显示整体压缩统计信息,而不是将它们分解为单独的算法。
zfs ×1