🏡博客主页: Passerby_Wang的博客_CSDN博客-系统运维,云计算,Git学习笔记领域博主
🌐所属专栏:『Linux基础』
🌌上期文章: Linux基础-LVM逻辑卷管理
📰如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀! 关注、点赞、收藏、评论。
目录
一、VDO简介
VDO全称Virtual Data Optimizer(虚拟数据优化器),是一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽。VDO是基于块设备层之上的,也就是在原设备基础上映射出虚拟设备,可以直接使用。
重复数据删除功能:输入的数据会判断是不是冗余数据,判断为重复数据的部分不会被写入,然后对源数据进行更新,直接指向原始已经存储的数据块。
压缩功能:对每个单独的数据块进行处理
二、制作VDO卷
配置好yum源,准备一个空闲分区sbd1(容量5G)
1、安装程序
1)命令
yum -y install kmod-kvdo vdo
2)实例
[root@wangwu ~]# yum -y install kmod-kvdo vdo
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
... ... ...
Complete!
2、启动vdo
systemctl start vdo #启动vdo
systemctl enable vdo #设置开机自启
3、创建vdo卷
1)命令
vdo create --name=wangwuvdo --device=/dev/sdb1 --vdoLogicalSize=15G
# --name=VD0卷名称
# --device=设备路径
# --vdoLogicalSize=逻辑大小
#逻辑大小一般采用物理容量的1.5 - 3倍,这里选物理容量的3倍
2)命令
[root@wangwu ~]# vdo create --name=wangwuvdo --device=/dev/sdb1 --vdoLogicalSize=15G
Creating VDO wangwuvdo
Starting VDO wangwuvdo
Starting compression on VDO wangwuvdo
VDO instance 0 volume is ready at /dev/mapper/wangwuvdo
4、查看vdo卷
1)命令
vdo list #查看vdo卷
vdo status-n VDO卷名称 #查看vdo卷状态
vdostats --human-readable #查看vdo空间容量(物理容量)
2)实例
[root@wangwu ~]# vdo list
wangwuvdo
[root@wangwu ~]# vdo status -n wangwuvdo
VDO status:
Date: '... ... ...'
Node: wangwu
Kernel module:
Loaded: true
Name: kvdo
... ... ...
[root@wangwu ~]# vdostats --human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/wangwuvdo 5.0G 3.0G 2.0G 60% N/A
4、格式化vdo卷
1)命令
VDO卷的快速格式化(跳过去重分析,这里提供两种格式化方案,按需选择):
mkfs.xfs -K /dev/mapper/wangwuvdo #格式化为xfs文件格式
mkfs.ext4 -E nodiscard /dev/mapper/wangwuvdo #格式化为ext4文件格式
2)实例
[root@wangwu ~]# mkfs.ext4 -E nodiscard /dev/mapper/wangwuvdo
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
... ... ...
Writing superblocks and filesystem accounting information: done
5、挂载
1)命令
临时挂载
mkdir /mnt/wangwuvdo #创建挂载目录
mount /dev/mapper/wangwuvdo /mnt/wangwuvdo #挂载
开机自动挂载
vim /etc/fstab
/dev/mapper/wangwuvdo /mnt/wangwuvdo ext4 defaults,_netdev 0 0
mount -a #重新加载/etc/fstab文件,测试文件是否正常运行
2)实例
临时挂载
[root@wangwu ~]# mkdir /mnt/wangwuvdo
[root@wangwu ~]# mount /dev/mapper/wangwuvdo /mnt/wangwuvdo/
mount: /dev/mapper/wangwuvdo is already mounted or /mnt/wangwuvdo busy
/dev/mapper/wangwuvdo is already mounted on /mnt/wangwuvdo
开机自动挂载
[root@wangwu ~]# vim /etc/fstab
/dev/mapper/wangwuvdo /mnt/wangwuvdo ext4 defaults,_netdev 0 0
[root@wangwu ~]# mount -a
6、验证
1)命令
echo 'wo shi wang wu!' > /wangwu.txt #创建测试文件
cat /wangwu.txt #查看测试文件
cp /wangwu.txt /mnt/wangwuvdo/ #拷贝测试文件到vdo
vdostats --human-readable #查看vdo空间容量(物理容量)
mv /wangwu.txt /mnt/wangwuvdo/wangwu1.txt #移动测试文件到vdo并重命名
vdostats --human-readable #查看vdo空间容量(物理容量)
ll /mnt/wangwuvdo/ #查看两个文件是否存在
2)实例
[root@wangwu ~]# echo 'wo shi wang wu!' > /wangwu.txt
[root@wangwu ~]# cat /wangwu.txt
wo shi wang wu!
[root@wangwu ~]# cp /wangwu.txt /mnt/wangwuvdo/
[root@wangwu ~]# vdostats --human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/wangwuvdo 5.0G 3.0G 2.0G 60% 99%
[root@wangwu ~]# mv /wangwu.txt /mnt/wangwuvdo/wangwu1.txt
[root@wangwu ~]# vdostats --human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/wangwuvdo 5.0G 3.0G 2.0G 60% 99%
[root@wangwu ~]# ll /mnt/wangwuvdo/
total 24
drwx------. 2 root root 16384 Aug 3 17:40 lost+found
-rw-r--r--. 1 root root 16 Aug 3 17:50 wangwu1.txt
-rw-r--r--. 1 root root 16 Aug 3 17:51 wangwu.txt
#结论:各位博友会发现传一个相同的文件,但是空间并不会发生变化。
7、删除vdo卷
1)命令
vdo remove –n vdo卷名称 #删除vod卷
vdo remove -f –n vdo卷名称 #强制删除
2)实例
[root@wangwu ~]# vdo list #查看vdo卷
wangwuvdo
[root@wangwu ~]# umount /dev/mapper/wangwuvdo #卸载挂载目录
[root@wangwu ~]# vdo stop -n wangwuvdo #停止vdo卷
Stopping VDO wangwuvdo
[root@wangwu ~]# vdo remove -n wangwuvdo #删除vdo卷
Removing VDO wangwuvdo
Stopping VDO wangwuvdo
[root@wangwu ~]# vdo list #再次查看vdo卷,没有显示说明删除成功
三、VDO卷相关功能
1、去重功能
1)命令
vdo disableDeduplication --name= vdo卷名称 #禁用去重功能
vdo enableDeduplication --name=vdo卷名称 #开启去重功能
2)实例
[root@wangwu ~]# vdo enableDeduplication -n=wangwuvdo
Enabling deduplication on VDO wangwuvdo
[root@wangwu ~]# vdo disableDeduplication -n wangwuvdo
Disabling deduplication on VDO wangwuvdo
2、压缩功能
1)命令
vdo disableCompression -n vdo卷名称 #禁用压缩功能
vdo enableCompression -n vdo卷名称 #开启压缩功能
2)实例
[root@wangwu ~]# vdo disableCompression -n wangwuvdo
Disabling compression on VDO wangwuvdo
Stopping compression on VDO wangwuvdo
[root@wangwu ~]# vdo enableCompression -n wangwuvdo
Enabling compression on VDO wangwuvdo
Starting compression on VDO wangwuvdo