VDO是一个精简配置的块存储设备。正因如此必须时刻关注并管理VDO卷的空间使用状况。app
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来解决。code
只有文件系统用DISCARD,TRIM或UNMAP命令标记块为空闲时VDO才能回收空间。
使用blkdiscard工具能够在无文件系统的块存储上回收VDO卷的空间。it
在系统启动时,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卷或服务sed
启动VDO卷配置
$ vdo start --name=my-vdo $ vdo start --all
中止VDO卷map
$ 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