3.11. 管理精简配置的 LVM-VDO 卷
可以配置一个精简配置的 LVM-VDO 卷来为以后扩展物理空间做准备,以解决 LVM-VDO 卷的物理空间的使用率接近 100% 的情况。例如,不要在 lvcreate
操作中使用 -l 100%FREE
,而是使用例如 '95%FREE' ,以确保以后在需要时有一些保留的空间。您可以使用同一方法解决以下问题:
- 卷耗尽空间。
- 文件系统进入只读模式。
- 卷报告的 ENOSPC。
解决 LVM-VDO 卷上高物理空间使用率的最佳方法是删除未使用的文件,并使用在线丢弃或 fstrim
程序丢弃这些未使用文件所使用的块。LVM-VDO 卷的物理空间只能增加到 8192 slabs,对于一个默认 slab 大小为 2 GB 的 LVM-VDO 卷为 16 TB,对于最大 slab 大小为 32 GB 的 LVM-VDO 卷为 256 TB。
在以下步骤中,将 myvg 和 myvdo 分别替换为卷组和 LVM-VDO 名称。
先决条件
- 安装 VDO 软件。如需更多信息,请参阅安装 VDO。
- 在您的系统中有一个有可用存储容量的 LVM 卷组。
-
使用
lvcreate --type vdo --name myvdo myvg -l percentage-of-free-space-in-vg --virtualsize virtual-size-of-vdo
命令的精简配置的 LVM-VDO 卷。如需更多信息,请参阅 创建和挂载 LVM-VDO 卷。
流程
确定精简配置的 LVM-VDO 卷的最佳逻辑大小:
vdostats myvg-vpool0-vpool
# vdostats myvg-vpool0-vpool Device 1K-blocks Used Available Use% Space saving% myvg-vpool0-vpool 104856576 29664088 75192488 28% 69%
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要计算空间节省率,请使用以下公式:
Savings ratio = 1 / (1 - Space saving%)
Savings ratio = 1 / (1 - Space saving%)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,
-
大约有
3.22:1
个空间节省率(大约 80 GB)。 - 如果更多带有同样空间节省的数据写入到 LVM-VDO 卷,将数据集大小乘以比率将产生 256 GB 的潜在逻辑大小。
- 将这个数字调整到 200 GB 时,如果出现相同的空间节省率,则会产生一个具有安全可用磁盘空间的逻辑大小。
-
大约有
监控 LVM-VDO 卷中的空闲物理空间:
vdostats myvg-vpool0-vpool
# vdostats myvg-vpool0-vpool
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可定期执行此命令,以提供对 LVM-VDO 卷使用的和空闲的物理空间的监控。
可选:使用可用的
/usr/share/doc/vdo/examples/monitor/monitor_check_vdostats_physicalSpace.pl
脚本查看 LVM-VDO 卷上物理空间使用情况的警告:/usr/share/doc/vdo/examples/monitor/monitor_check_vdostats_physicalSpace.pl myvg-vpool0-vpool
# /usr/share/doc/vdo/examples/monitor/monitor_check_vdostats_physicalSpace.pl myvg-vpool0-vpool
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建 LVM-VDO 卷时,
dmeventd
监控服务监控 LVM-VDO 卷中物理空间的使用情况。当 LVM-VDO 卷被创建或启动时,这默认被启用。在监控 LVM-VDO 卷时,使用
journalctl
命令查看日志中dmeventd
的输出:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修复几乎没有可用物理空间的 LVM-VDO 卷。当可以在 LVM-VDO 卷中添加物理空间,但卷空间在可以增大前已满时,可能需要暂时停止到卷的 I/O 。
要暂时停止到卷的 I/O ,请执行以下步骤,其中 LVM-VDO 卷 myvdo 包含挂载在 /users/homeDir 路径上的文件系统:
冻结文件系统:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 卸载文件系统:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意卸载或冻结带有缓存数据的文件系统将导致缓存数据的写入,这可能会填满 LVM-VDO 卷的物理空间。当为 LVM-VDO 卷上的空闲物理空间设置监控阈值时,请考虑缓存的文件系统数据的最大量。
可以使用
fstrim
程序清理文件系统不再使用的块。对 VDO 卷上挂载的文件系统执行fstrim
可能会导致该卷的可用空间增加。fstrim
工具将丢弃发送到 LVM-VDO 卷,然后使用这些丢弃删除对之前使用的块的引用。如果这些块中有单一引用,则使用物理空间。检查 VDO stats 以查看当前可用空间量:
vdostats --human-readable myvg-vpool0-vpool
# vdostats --human-readable myvg-vpool0-vpool Device Size Used Available Use% Space saving% myvg-vpool0-vpool 100.0G 95.0G 5.0G 95% 73%
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 丢弃未使用块:
fstrim /users/homeDir
# fstrim /users/homeDir
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看 LVM-VDO 卷的空闲物理空间:
vdostats --human-readable myvg-vpool0-vpool
# vdostats --human-readable myvg-vpool0-vpool Device Size Used Available Use% Space saving% myvg-vpool0-vpool 100.0G 30.0G 70.0G 30% 43%
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在这个示例中,在文件系统上执行
fstrim
后,丢弃可以返回可在 LVM-VDO 卷中使用的 65G 的物理空间。注意丢弃较低级别的重复数据删除和压缩卷时,可能会回收物理空间,而不是丢弃更高水平的重复数据删除和压缩卷。具有高级去重和压缩的卷可能需要更广泛的清理来回收物理空间,而不只是仅仅丢弃未使用的块。