VDO的安装与使用

2021-11-20  本文已影响0人  归源

介绍

随着服务器的普及和数据量的爆炸式增长,企业对存储介质的容量和性能需求也变得越来越高。传统模式下的存储介质的利用效率,仅能在磁盘中写入同等容量的数据。直到 RedHat 7.5 版本中,RedHat 官方在操作系统中增加了一项新的软件(测试版),用来提高存储介质的使用效率,这款软件就是 VDO(Virtual Data Optimizer)

VDO 是一个基于虚拟块设备压缩的技术,通过数据的去重和压缩而实现的块设备的高效使用。通俗来讲,以前一块 1TB 的硬盘,通过使用 VDO 技术后,可以当作 1.5TB、2TB 甚至 3TB 来使用。

原理

VDO 能够使得存储介质的高效利用来自于两项技术,分别是 去重压缩。通过 VDO 技术在物理存储介质上虚拟化出来一块逻辑设备,当上层应用产生数据时,数据在写入物理设备(磁盘)前,会先进入 VDO 创建的逻辑设备中,通过数据去重和压缩之后再将数据写入到物理设备中。

那么,数据是如何去重并压缩的呢?

vdo-1.png

相关组件

VDO 软件中有3个模块用来支持数据的去重、压缩、和 vdo 设备的管理。分别是 kvdoudsxxx

安装

芯片要求:目前仅提供 ADM64Intel 64位 系列架构的支持

内存要求:vdo 模块需要370MB的内存空间,并且每1TB的存储介质需要额外的268MB的内存空间。uds 需要最小250MB的内存空间。(PS: 要创建的vdo设备的容量越大,对内存空间的要求越高。)

对于 rhel 系列的操作系统,可使用 yum 进行安装

安装

# yum install vdo kmod-kvdo

创建vdo卷

# vdo create \
       --name=vdo_name \
       --device=block_device \
       --vdoLogicalSize=logical_size \
       [--vdoSlabSize=slab_size]

如果要创建的设备容量大于 16TB,创建时需要添加 --vdoSlabSize=32G 参数

查看vdo设备

# vdo list

查看vdo设备当前活动数据

# vdo status
# vdo status --name=vdo_name

开启vdo设备

# vdo start --name=vdo_name
# vdo start --all

停止vdo设备

# vdo stop --name=vdo_name
# vdo stop --all

修改vdo设备写入策略

# vdo changeWritePolicy --writePolicy=sync|async|auto --name=vdo_name

删除vdo设备

# vdo remove --name=my_vdo
# vdo remove --force --name=my_vdo

配置vdo设备开机自启

# vdo activate --name=my_vdo
# vdo activate --all

关闭vdo设备开机自启

# vdo deactivate --name=my_vdo
# vdo deactivate --all

禁用去重功能

# vdo disableDeduplication --name=my_vdo

启用去重功能

# vdo enableDeduplication --name=my_vdo

禁用压缩功能

# vdo disableCompression --name=my_vdo

启用压缩功能

# vdo enableCompression --name=my_vdo

查看vdo设备空间已使用情况

# vdostats --human-readable

扩容vdo设备

# vdo growLogical --name=my_vdo --vdoLogicalSize=new_logical_size

扩容vdo底层物理设备容量

创建vdo设备时,可选择保留物理设备的部分容量,当vdo设备空间不够用时,可进行物理设备的扩容以缓解vdo设备的容量告急。不过,当出现vdo设备容量告急时,更应该考虑更换更大容量的物理设备。

# vdo growPhysical --name=my_vdo

参考自: 30.3. Getting Started with VDO Red Hat Enterprise Linux 7 | Red Hat Customer Portal

上一篇 下一篇

猜你喜欢

热点阅读