VDO(Virtual Data Optimize虚拟数据优化):通过压缩或删除存储设备上的数据来优化存储空间
1、压缩和去重是为了能够更好的提供存储空间的利用率
2、需要加载两个内核模块 kvdo: 用于压缩 uds: 用于去重的
3、vdo设备位于现有的存储的顶部: 比如块设备:/dev/nvme0n5,也可以构建在LV上。 但是能够在stratis管理分层存储上使用VDO吗?不能。 在什么样的场景下,重复数据率高 比如: 虚拟化场景或者云场景: 10VM 全是RHEL8系统.....
4、实现的过程就3个步骤 1: 消除0块 2: 去重 3: 压缩
案例:
- 1、安装VDO模块,需要的软件包是kmod-kvdo vdo
- [root@kongd ~]# dnf install -y vdo kmod-kvdo
-
- 2、创建VDO卷
- [root@kongd ~]# vdo create --name=vdo1 --device=/dev/nvme0n2 --vdoLogicalSize=5G
- Creating VDO vdo1
- Starting VDO vdo1
- Starting compression on VDO vdo1
- VDO instance 0 volume is ready at /dev/mapper/vdo1
-
- 3、分析一个VDO卷(deduplication重复删除数据 compression压缩)
- [root@kongd ~]# vdo list
- vdo1
- [root@kongd ~]# vdo status --name vdo1
- VDO status:
- Date: '2020-01-08 01:08:30+08:00'
- Node: kongd.com
- Kernel module:
- Loaded: true
- Name: kvdo
- Version information:
- kvdo version: 6.2.0.293
- Configuration:
- File: /etc/vdoconf.yml
- Last modified: '2020-01-08 01:06:34'
- ...
-
- 4、给vdo1一个xfs文件系统,之后挂载到/mnt/vdo1上
- -K选项可防止立即丢弃文件系统中未使用的块,从而使命令返回更快
- [root@kongd ~]# mkfs.xfs -K /dev/mapper/vdo1
- meta-data=/dev/mapper/vdo1 isize=512 agcount=4, agsize=327680 blks
- = sectsz=4096 attr=2, projid32bit=1
- = crc=1 finobt=1, sparse=1, rmapbt=0
- = reflink=1
- data = bsize=4096 blocks=1310720, imaxpct=25
- = sunit=0 swidth=0 blks
- naming =version 2 bsize=4096 ascii-ci=0, ftype=1
- log =internal log bsize=4096 blocks=2560, version=2
- = sectsz=4096 sunit=1 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
-
- 刷新存储设备
- [root@kongd ~]# udevadm settle
- [root@kongd ~]# mkdir /mnt/vdo1
- [root@kongd ~]# mount /dev/mapper/vdo1 /mnt/vdo1
-
- 5、使用vdostats命令查看卷的初始统计信息和状态
- [root@kongd ~]# vdostats --human-readable
- Device Size Used Available Use% Space saving%
- /dev/mapper/vdo1 5.0G 3.0G 2.0G 60% 98%
-
- 6、查看去重功能是否开启
- [root@kongd ~]# vdo status --name=vdo1 | grep Deduplication
- Deduplication: enabled
-
- 7、复制文件到挂载点查看
- [root@kongd ~]# cp /media/cdrom/images/install.img /mnt/vdo1/
- [root@kongd ~]# vdostats --human-readable
- Device Size Used Available Use% Space saving%
- /dev/mapper/vdo1 5.0G 3.4G 1.6G 68% 2%
-
- 8、再次复制两个相同文件查看
- [root@kongd ~]# cp /media/cdrom/images/install.img /mnt/vdo1/install.img1
- [root@kongd ~]# cp /media/cdrom/images/install.img /mnt/vdo1/install.img2
- [root@kongd ~]# vdostats --human-readable
- Device Size Used Available Use% Space saving%
- /dev/mapper/vdo1 5.0G 3.4G 1.6G 68% 64%
- [root@kongd ~]# du -sh /mnt/vdo1/
- 1.4G /mnt/vdo1/
总结:会发现传一个相同的文件,但是空间并不会发生变化。