常见管理VDO卷的操作

管理VDO卷

VDO是一个精简配置的块存储设备。正因如此必须时刻关注并管理VDO卷的空间使用情况。

VDO卷的物理空间使用情况可能与用户看到的卷的大小空间不一致。你可以利用这种差异来节约存储消耗。但当数据写入速率没达到预期优化的水平时,小心避免意外用完空间。只要逻辑块(虚拟存储)的数量超过物理块(实际存储)的数量,文件系统和应用程序就有可能意外用完空间。因此,使用VDO的存储系统必须为您提供一种监视VDO卷上空间池大小的方法。

监控VDO卷

你可以使用vdostats工具来监控空间池的大小。这个命令默认输出是类似于df命令一样显示所有运行着的VDO卷,比如

Device              1K-blocks   Used        Available   Use%
/dev/mapper/my-vdo  211812352   105906176   105906176     50%

当VDO卷的物理空间块满时,VDO会在系统日志中报警,如下

Oct  2 17:13:39 system lvm\[13863\]: Monitoring VDO pool my-vdo.
Oct  2 17:27:39 system lvm\[13863\]: WARNING: VDO pool my-vdo is now 80.69% full.
Oct  2 17:28:19 system lvm\[13863\]: WARNING: VDO pool my-vdo is now 85.25% full.
Oct  2 17:29:39 system lvm\[13863\]: WARNING: VDO pool my-vdo is now 90.64% full.
Oct  2 17:30:29 system lvm\[13863\]: WARNING: VDO pool my-vdo is now 96.07% full.

当池中的空间达到一定程度时,你可以选择删除数据,或者增加物理存储,或者删除VDO上的LUNs来解决。

回收VDO空间

只有文件系统用DISCARD,TRIM或UNMAP命令标记块为空闲时VDO才能回收空间。
使用blkdiscard工具可以在无文件系统的块存储上回收VDO卷的空间。

启动并激活VDO卷

在系统启动时,vdo systemd单元会自动启动所有配置为activated的VDO设备。vdo systemd单元默认随vdo包安装后启用。这个单元在系统启动时自动运行vdo start -all命令激活所有VDO卷。你也可以在创建VDO卷时在命令vdo create增加参数--activate=disabled来禁用自动启动。

有些系统可以在VDO卷上层或下层构建LVM卷。在这些系统中有必要按正确的顺序启动服务:
1.低层的LVM必须先启动。在大多数系统中,在LVM安装后配置了自动启动这一层。
2.然后启动vdo systemd单元
3.最后启动上层VDO卷上的其他脚本来启动LVM卷或服务

VDO相关命令

启动VDO卷

$ vdo start --name=my-vdo
$ vdo start --all

停止VDO卷

$ vdo stop --name=my-vdo
$ vdo stop --all

激活VDO卷

$ vdo activate --name-my-vdo
$ vdo avtivate --all

停用VDO卷

$ vdo deavtivate --name=my-vdo
$ vdo deactivate --all
阅读 445

推荐阅读
目录