2.7. 在 VDO 中启用或禁用 deduplication
在某些情况下,您可能希望临时禁用写入 VDO 卷的删除重复数据功能,同时仍可保留从卷读取和写入的功能。禁用 deduplication 可防止后续写入操作被删除重复数据,但已经删除重复数据的数据会一直保留。
2.7.1. VDO 中的删除重复数据
删除重复数据(Deduplication)是通过删除重复块的多个副本来减少存储资源消耗的技术。
VDO 检测每个重复块,并将其记录为对原始块的引用,而不是多次写相同的数据。VDO 维护一个从逻辑块地址(由 VDO 上面的存储层使用)到物理块地址(被 VDO 下的存储层使用)的映射。
在进行删除重复数据后,可将多个逻辑块地址映射到相同的物理块地址。这些被称为共享块。块共享对存储用户是不可见的,用户会像 VDO 不存在一样读写块。
当共享块被覆盖时,VDO 为保存新块数据分配一个新的物理块,以确保映射到共享物理块的其他逻辑块地址不会被修改。
2.7.2. 在 VDO 卷中启用 deduplication
此流程重启关联的 UDS 索引,并通知 VDO 卷再次激活了 deduplication。
默认启用 deduplication。
流程
要在 VDO 卷上重启 deduplication,请使用以下命令:
# vdo enableDeduplication --name=my-vdo
2.7.3. 在 VDO 卷上禁用 deduplication
此流程停止关联的 UDS 索引,并通知 VDO 卷 deduplication 不再处于活动状态。
流程
要在 VDO 卷上停止 deduplication,请使用以下命令:
# vdo disableDeduplication --name=my-vdo
-
您还可以通过在
vdo create
命令中添加--deduplication=disabled
选项,在创建新 VDO 卷时禁用 deduplication。