3.10. 测试 TRIM 和 DISCARD 对 VDO 的影响
此流程测试 TRIM
和 DISCARD
命令是否能正确地从 VDO 测试卷上已删除的文件中释放块。它演示了,丢弃告知 VDO 不再使用空间。
先决条件
- 挂载新创建的 VDO 测试卷。详情请查看 第 3.4 节 “创建 VDO 测试卷”。
流程
准备可记录测试结果的表:
Expand 步骤 已使用的文件空间(MB) 已使用的数据块 使用的逻辑块 初始空间
添加 1 GiB 文件
运行
fstrim
删除 1 GiB 文件
运行
fstrim
清理文件系统来删除不需要的块:
fstrim /mnt/vdo-test
# fstrim /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 该命令可能需要很长时间。
记录文件系统中初始空间的使用情况:
df -m /mnt/vdo-test
$ df -m /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请查看 VDO 卷使用的物理和逻辑数据块数:
vdostats --verbose | grep "blocks used"
# vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 VDO 卷上的非重复数据创建一个 1 GiB 文件:
dd if=/dev/urandom of=/mnt/vdo-test/file bs=1M count=1K
$ dd if=/dev/urandom of=/mnt/vdo-test/file bs=1M count=1K
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 再次记录空间使用量:
df -m /mnt/vdo-test vdostats --verbose | grep "blocks used"
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 文件系统应使用额外的 1 GiB。
data blocks used
和logical blocks used
的值应该同样增加。再次执行文件系统:
fstrim /mnt/vdo-test
# fstrim /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 再次检查空间用量,确认清除操作不会影响物理卷的使用:
df -m /mnt/vdo-test vdostats --verbose | grep "blocks used"
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 1 GiB 文件:
rm /mnt/vdo-test/file
$ rm /mnt/vdo-test/file
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查并记录空间使用情况:
df -m /mnt/vdo-test vdostats --verbose | grep "blocks used"
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 文件系统知道已删除了某个文件,但是由于没有指向底层存储,物理或逻辑块的数量不会改变。
再次执行文件系统:
fstrim /mnt/vdo-test
# fstrim /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查并记录空间使用情况:
df -m /mnt/vdo-test vdostats --verbose | grep "blocks used"
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow fstrim
工具在文件系统中查找空闲的块,并为未使用的地址向 VDO 卷发送TRIM
命令,这会释放相关的逻辑块。VDO 处理TRIM
命令以释放底层物理块。