云网牛站
所在位置:首页 > Linux教程 > 在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

2020-02-13 21:23:33作者:戴均力稿源:云网牛站

本文介绍在RHEL/CentOS/Fedora Linux发行版上安装Virtual Data Optimizer(VDO) Linux设备映射器。VDO通过减少块设备上的磁盘空间使用并最小化数据复制,节省磁盘空间甚至增加数据吞吐量来优化块设备上的数据占用量。VDO包含两个内核模块,即kvdo模块和uds模块,kvdo模块能透明地控制数据压缩,uds模块能处理重复数据删除。

 

安装Virtual Data Optimizer(VDO)

对于RHEL和CentOS Linux发行版,可以通过运行以下命令轻松安装Virtual Data Optimizer(VDO) Linux设备映射器:

sudo yum -y install vdo kmod-kvdo

等待安装完成,返回的信息如下:

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

 

创建VDO卷

VDO卷是使用VDO创建的逻辑设备,它们就像磁盘分区一样,只需使用文件系统对其进行格式化,然后可以像常规文件系统一样挂载VDO卷,如果使用LVM,则可以将VDO卷用作LVM物理卷。

我有一个10GB的磁盘将用于此练习:

$ lsblk /dev/sdb

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

参考:用lsblk在Linux上找到硬盘信息:硬盘标签,找到分区名称,查找UUID信息

这是创建VDO卷的方法:

$ sudo vdo create --name myvdo --device /dev/sdb --vdoLogicalSize 5G

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

注:

myvdo是VDO向用户提供的逻辑设备的名称。

/dev/sdb是VDO卷要使用的块设备

5G是VDO卷的逻辑大小,这是可选的,并且可以大于实际块设备的物理大小。

显示已启动和未启动的卷的列表:

$ sudo vdo list --all

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

运行vdo status命令以分析该卷:

$ sudo vdo status -n myvdo

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

应该启用压缩和重复数据删除:

$ sudo vdo status -n myvdo | egrep 'Compression|Deduplication'

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

可以使用命令vdo growLogical扩展现有卷,我会将容量增加到10GB:

sudo vdo growLogical -n  myvdo --vdoLogicalSize 10G

确认:

$ sudo vdo status -n myvdo | grep size

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

 

使用文件系统格式化VDO卷

可以使用所选的文件系统类型格式化VDO卷,或从中创建PV、VG和LV:

$ sudo mkfs.xfs /dev/mapper/myvdo

对于LVM创建,如下命令。

#创建PV

$ sudo  pvcreate /dev/mapper/myvdo

#创建VG

$ sudo vgcreate vg01 /dev/mapper/myvdo

#创建LV

$ sudo lvcreate -n lv01 -l+100%FREE vg01

#创建一个文件系统

$ sudo mkfs -t xfs /dev/mapper/vg01-lv01

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

现在,可以注册并安装新设备:

sudo udevadm settle

sudo mkdir /myvdo

对于标准VDO音量:

$ sudo mount /dev/mapper/myvdo1 /myvdo

对于LVM:

$ sudo mount /dev/mapper/vg01-lv01  /myvdo

要进行持久安装,请配置/etc/fstab文件:

UUID=XXXXX /myvdo xfs defaults,x-systemd.requires=vdo.service 0 0

还可以以易于理解的形式显示统计信息:

$ sudo vdostats --human-readable

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

 

附:测试重复数据删除

我将下载一个ISO文件以测试重复数据删除:

wget http://mirror.centos.org/centos/7/os/x86_64/images/boot.iso

将文件复制到/myvdo目录:

sudo cp boot.iso /myvdo/boot1.iso

检查存储统计信息。

复制前:

$ sudo vdostats --human-readable

复制后:

$ sudo vdostats --human-readable

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

以上“Used”字段的值从4.0G增加到4.2G,因为我们将文件复制到了占用一些空间的卷中。

我们来复制同一文件:

sudo cp boot.iso /myvdo/boot2.iso

再次查看音量统计信息:

$ sudo vdostats --human-readable

在RHEL、CentOS下安装VDO并创建VDO卷及使用文件系统格式化VDO卷

可以看到使用的卷空间没有更改,相反,已节省的卷空间百分比增加到52%,这证明发生了重复数据删除可以减少同一文件冗余副本的空间消耗。

 

相关主题

Linux Shell脚本监视磁盘空间使用情况并发送电子邮件

精选文章
热门文章