![是否可以递归执行重复数据删除?](https://linux22.com/image/1430583/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E9%80%92%E5%BD%92%E6%89%A7%E8%A1%8C%E9%87%8D%E5%A4%8D%E6%95%B0%E6%8D%AE%E5%88%A0%E9%99%A4%EF%BC%9F.png)
如果有人熟悉重复数据删除的概念(如果不熟悉,请阅读维基百科上的链接) http://en.wikipedia.org/wiki/Data_deduplication
是否可以递归执行重复数据删除,即对已删除的重复数据进行重复数据删除?
这可能会导致空间节省较少,但在非常大的规模下,它肯定会节省几 GB 的空间?
我们是否担心数据完整性?(无法保证当恢复到其原始形式时它将是原始数据的精确副本)
答案1
如果您的重复数据删除是基于某种固定大小的数据块进行的,那么进一步的重复数据删除是无用的,因为您已经将每个相同的块仅保存了一次。(块可以是任何类型的逻辑块,可能会也可能不会直接映射到硬件块)
如果您的递归重复数据删除方案使用不同的块大小或者您使用非固定块大小,则递归重复数据删除可能会起作用并且可能带来进一步的节省(理论上)。
很难说当今的软件是否支持这一点。我最好的猜测是虚拟文件系统。您可以在那里创建使用普通文件作为存储设备的存储池。这些普通文件本身可以存储在启用重复数据删除的 ZFS 系统上。现在您将拥有递归重复数据删除。(性能非常差)
显而易见的问题是:什么可以节省更多空间?递归重复数据删除或压缩+重复数据删除。并且:压缩+重复数据删除的重复数据删除能挽救什么吗?