3.8. 测量 VDO 压缩
此流程在 VDO 测试卷中测试 VDO 数据压缩的效率。
先决条件
- 挂载新创建的 VDO 测试卷。详情请查看 第 3.4 节 “创建 VDO 测试卷”。
流程
禁用 deduplication 并在 VDO 测试卷中启用压缩:
# vdo disableDeduplication --name=vdo-test # vdo enableCompression --name=vdo-test
同步 VDO 卷以完成所有未完成压缩:
# sync && dmsetup message vdo-test 0 sync-dedupe
在传输前检查 VDO 统计:
# vdostats --verbose | grep "blocks used"
记下
data blocks used
和logical blocks used
的值。-
VDO 优化文件系统开销以及实际的用户数据。计算为空文件系统压缩而节省的 4 KiB 块的数量,来作为
logical blocks used
减去data blocks used
。 将
/lib
目录的内容复制到 VDO 卷中:# cp --verbose --recursive /lib /mnt/vdo-test ... sent 152508960 bytes received 60448 bytes 61027763.20 bytes/sec total size is 152293104 speedup is 1.00
记录复制数据的总大小。
同步 Linux 缓存和 VDO 卷:
# sync && dmsetup message vdo-test 0 sync-dedupe
再次检查 VDO 统计:
# vdostats --verbose | grep "blocks used"
观察
logical blocks used
和data blocks used
的值。使用以下公式计算压缩保存的字节数:
saved_bytes = (logical_blocks_used - data_blocks_used) * 4096
清理步骤
- 删除 VDO 测试卷,如 第 3.6 节 “清理 VDO 测试卷” 中所述。