我想切换到ZFS,但仍想加密我的数据。 ZFS的原生加密在“ZFS Pool Version Number 30”中添加,但我在FreeBSD上使用版本28的ZFS。我的问题是encfs(fuse加密)如何影响数据完整性和重复数据删除等ZFS特定功能?
答案 0 :(得分:2)
encfs对文件/目录名长度的限制比zfs短。我记不住了,但每个对象可能少于255个字符。如果您碰巧有任何名称超过该限制的文件/目录,则在复制到已安装的encfs资源期间会出现i / o错误,并且不会创建有问题的文件/目录,这就是全部。
我不使用重复数据删除(遗憾的是RAM太少),但由于encfs使用ECB模式加密文件名,因此在加密端看到自然相似的文件名(文件属性也不变),这是幸运的是像rsync这样的工具。不幸的是,对于重复数据删除,encfs使用数据签名(hmac)作为初始化向量,这使得相同内容的副本完全不同。找到阻止此行为的方法可能是可行的,但数据完整性取决于它,所以我不建议这样做。
如果您需要设备级加密,请查看cryptsetup。为此,您需要将池从/dev/disk/by-id/ata-*
迁移到/dev/disk/by-id/dm-name-*
设备。这不会禁止使用重复数据删除,只会导致轻微的性能损失。而且你必须在解密数据上进行操作才能进行备份,这可能是不可取的。
目前我正在使用这两种方法(即cryptsetup和encfs)。这似乎有点多余,但我发现有必要避免解密备份数据以及在.encfs.xml文件中以纯文本形式存储加密参数,这会困扰我的偏执安全感;)