3.7. 测量 VDO 去重
此流程测试 VDO 测试卷上 VDO 数据去重的效率。
先决条件
- 挂载新创建的 VDO 测试卷。详情请查看 第 3.4 节 “创建 VDO 测试卷”。
流程
准备可记录测试结果的表:
Expand 统计 裸机文件系统 seed 后 10 个副本后 文件系统使用大小
使用 VDO 数据
使用 VDO 逻辑
在 VDO 卷中创建 10 个目录存放测试数据集的 10 个副本:
mkdir /mnt/vdo-test/vdo{01..10}
$ mkdir /mnt/vdo-test/vdo{01..10}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查文件系统报告的磁盘用量:
df --human-readable /mnt/vdo-test
$ df --human-readable /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 3.1. 磁盘用量
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vdo-test 1.5T 198M 1.4T 1% /mnt/vdo-test
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vdo-test 1.5T 198M 1.4T 1% /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 记录以下值:
vdostats --verbose | grep "blocks used"
# vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 3.2. 使用的块
data blocks used : 1090 overhead blocks used : 538846 logical blocks used : 6059434
data blocks used : 1090 overhead blocks used : 538846 logical blocks used : 6059434
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
data blocks used
的值是在 VDO 下运行的物理设备优化后用户数据所使用的块数。 -
logical blocks used
的值是优化前使用的块数。它将作为测量的起点。
-
在 VDO 卷中创建数据源文件:
dd if=/dev/urandom of=/mnt/vdo-test/sourcefile bs=4096 count=1048576
$ dd if=/dev/urandom of=/mnt/vdo-test/sourcefile bs=4096 count=1048576 4294967296 bytes (4.3 GB) copied, 540.538 s, 7.9 MB/s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新定义已使用的物理磁盘空间量:
df --human-readable /mnt/vdo-test
$ df --human-readable /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 3.3. 使用数据源文件磁盘用量
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vdo-test 1.5T 4.2G 1.4T 1% /mnt/vdo-test
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vdo-test 1.5T 4.2G 1.4T 1% /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vdostats --verbose | grep "blocks used"
# vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 3.4. 数据源文件使用的块
data blocks used : 1050093 # Increased by 4GiB overhead blocks used : 538846 # Did not significantly change logical blocks used : 7108036 # Increased by 4GiB
data blocks used : 1050093 # Increased by 4GiB overhead blocks used : 538846 # Did not significantly change logical blocks used : 7108036 # Increased by 4GiB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令应该显示使用的块数量增加,与写入文件的大小相对应。
将文件复制到 10 个子目录中的每个子目录中:
for i in {01..10}; do cp /mnt/vdo-test/sourcefile /mnt/vdo-test/vdo$i done
$ for i in {01..10}; do cp /mnt/vdo-test/sourcefile /mnt/vdo-test/vdo$i done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新定义已使用的物理磁盘空间量:
df -h /mnt/vdo-test
$ df -h /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 3.5. 复制文件后磁盘用量
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vdo-test 1.5T 45G 1.3T 4% /mnt/vdo-test
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vdo-test 1.5T 45G 1.3T 4% /mnt/vdo-test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vdostats --verbose | grep "blocks used"
# vdostats --verbose | grep "blocks used"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 3.6. 复制文件后使用的块
data blocks used : 1050836 # Increased by 3 MiB overhead blocks used : 538846 logical blocks used : 17594127 # Increased by 41 GiB
data blocks used : 1050836 # Increased by 3 MiB overhead blocks used : 538846 logical blocks used : 17594127 # Increased by 41 GiB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data blocks used
的值应当与先前列表的结果相似,只是由于文件系统日志和元数据而稍有增加。- 从写测试数据之前找到的值中减去文件系统所使用的空间的新值。从文件系统的角度来看,这是此测试所使用的空间量。
观察您记录统计中的空间节能:
例 3.7. 记录的值
Expand 统计 裸机文件系统 seed 后 10 个副本后 文件系统使用大小
198 MiB
4.2 GiB
45 GiB
使用 VDO 数据
4 MiB
4.1 GiB
4.1 GiB
使用 VDO 逻辑
23.6 GiB (1.6 TiB 格式驱动器的文件系统开销)
27.8 GiB
68.7 GiB
注意在下表中,值已转换为 MiB 或 GiB。
vdostats
输出中的大小为 4,096 B。
清理步骤
- 删除 VDO 测试卷,如 第 3.6 节 “清理 VDO 测试卷” 中所述。