本文介绍在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 等待安装完成,返回的信息如下:
创建VDO卷 VDO卷是使用VDO创建的逻辑设备,它们就像磁盘分区一样,只需使用文件系统对其进行格式化,然后可以像常规文件系统一样挂载VDO卷,如果使用LVM,则可以将VDO卷用作LVM物理卷。 我有一个10GB的磁盘将用于此练习: $ lsblk /dev/sdb
参考:用lsblk在Linux上找到硬盘信息:硬盘标签,找到分区名称,查找UUID信息。 这是创建VDO卷的方法: $ sudo vdo create --name myvdo --device /dev/sdb --vdoLogicalSize 5G
注: myvdo是VDO向用户提供的逻辑设备的名称。 /dev/sdb是VDO卷要使用的块设备 5G是VDO卷的逻辑大小,这是可选的,并且可以大于实际块设备的物理大小。 显示已启动和未启动的卷的列表: $ sudo vdo list --all
运行vdo status命令以分析该卷: $ sudo vdo status -n myvdo
应该启用压缩和重复数据删除: $ sudo vdo status -n myvdo | egrep 'Compression|Deduplication'
可以使用命令vdo growLogical扩展现有卷,我会将容量增加到10GB: sudo vdo growLogical -n myvdo --vdoLogicalSize 10G 确认: $ sudo vdo status -n myvdo | grep size
使用文件系统格式化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
现在,可以注册并安装新设备: 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
附:测试重复数据删除 我将下载一个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
以上“Used”字段的值从4.0G增加到4.2G,因为我们将文件复制到了占用一些空间的卷中。 我们来复制同一文件: sudo cp boot.iso /myvdo/boot2.iso 再次查看音量统计信息: $ sudo vdostats --human-readable
可以看到使用的卷空间没有更改,相反,已节省的卷空间百分比增加到52%,这证明发生了重复数据删除可以减少同一文件冗余副本的空间消耗。
相关主题 |