VDO

目标

  使用VDO压缩存储设备上的数据并进行重复删除,以此来优化存储空间的使用。

名词解释

  • 虚拟数据优化器
      红帽企业Linux8包含虚拟数据优化器(VDO)驱动程序,可以优化块设备上数据的空间占用。VDO是一个Linux设备映射器驱动程序,它可以减少块设备上的磁盘空间使用,同时最大限度减少数据重复,从而节省磁盘空间,甚至提高数据吞吐量。VDO包括两个内核模块:kvdo模块用于以透明的方式控制数据压缩,uds则可用于重复数据删除。

  VDO层位于现有块存储设备(如RAID设备或本地磁盘)的顶部。这些块设备也可以是加密设备。存储层(如LVM逻辑卷和文件系统)位于VDO设备之上。


lvm

实际操作

  • 环境准备
##检查是否有vdo服务
[root@sinfotek database]# rpm -ql vdo | grep serv
/usr/lib/systemd/system/vdo.service
[root@sinfotek database]# systemctl status vdo
● vdo.service - VDO volume services
   Loaded: loaded (/usr/lib/systemd/system/vdo.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2022-11-10 13:52:07 CST; 3h 2min ago
  Process: 954 ExecStart=/usr/bin/vdo start --all --confFile /etc/vdoconf.yml (code=exited, status=0/SUCCESS)
 Main PID: 954 (code=exited, status=0/SUCCESS)

1110 13:52:00 sinfotek systemd[1]: Starting VDO volume services...
1110 13:52:07 sinfotek systemd[1]: Started VDO volume services.
  • 挂在一个磁盘进行验证
[root@sinfotek ~]# mkfs.xfs /dev/mapper/vdo1 
meta-data=/dev/mapper/vdo1       isize=512    agcount=4, agsize=392422 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=1569686, 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@sinfotek ~]# mkdir /vdo
[root@sinfotek ~]# mount /dev/mapper/vdo1 /vdo
[root@sinfotek ~]# df -h
文件系统                                                                                         容量  已用  可用 已用% 挂载点
devtmpfs                                                                                         1.9G     0  1.9G    0% /dev
tmpfs                                                                                            1.9G     0  1.9G    0% /dev/shm
tmpfs                                                                                            1.9G  9.4M  1.9G    1% /run
tmpfs                                                                                            1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/cl-root                                                                               17G  4.8G   13G   28% /
tmpfs                                                                                            1.0M     0  1.0M    0% /run/stratisd/keyfiles
/dev/mapper/stratis-1-0f89b42052d34dd6a2fb95c6010964d5-thin-fs-230c4ea420cd4f9abc2996965fd09106  1.0T  7.2G 1017G    1% /database
/dev/sda1                                                                                        976M  193M  716M   22% /boot
tmpfs                                                                                            376M  4.0K  376M    1% /run/user/0
/dev/mapper/vdo1                                                                                 6.0G   76M  6.0G    2% /vdo

[root@sinfotek vdo]# ll -lh
总用量 100M
-rw-r--r-- 1 root root 100M 1111 10:26 testfile
[root@sinfotek vdo]# dd if=/dev/zero of=testfile bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000 bytes (1.0 GB, 1000 MiB) copied, 3.27211 s, 320 MB/s
[root@sinfotek vdo]# ll -lh
总用量 1000M
-rw-r--r-- 1 root root 1000M 1111 10:26 testfile
[root@sinfotek vdo]# vdostats  --human-readable
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1         10.0G      4.0G      6.0G  40%           99%
[root@sinfotek vdo]# dd if=/dev/zero of=testfile1 bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000 bytes (1.0 GB, 1000 MiB) copied, 10.7619 s, 97.4 MB/s
[root@sinfotek vdo]# vdostats  --human-readable
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1         10.0G      4.0G      6.0G  40%           99%
[root@sinfotek vdo]# ls
testfile  testfile1
文档更新时间: 2022-11-11 10:31   作者:xiubao yan