Linux基础-虚拟数据优化器VDO
🏡博客主页: Passerby_Wang的博客_博客-系统运维,云计算,Git学习笔记领域博主
🌐所属专栏:『Linux基础』
🌌上期文章: Linux基础-LVM逻辑卷管理
📰如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀! 关注、点赞、收藏、评论。
目录
一、VDO简介
二、制作VDO卷
1、安装程序
1)命令
2)实例
2、启动vdo
3、创建vdo卷
1)命令
2)命令
4、查看vdo卷
1)命令
2)实例
4、格式化vdo卷
1)命令
2)实例
5、挂载
1)命令
2)实例
6、验证
1)命令
2)实例
7、删除vdo卷
1)命令
2)实例
三、VDO卷相关功能
1、去重功能
1)命令
2)实例
2、压缩功能
1)命令
2)实例
一、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