15.vdo管理

vdo管理

一、VDO基本概念

  1. VDO(Virtual Data Optimize虚拟数据优化)
    通过压缩或删除存储设备上的数据来优化存储空间。VDO层放置在现有块存储设备例如RAID设备或本地磁盘的顶部。这些块设备也可以是加密设备。存储层(如LVM logic卷和文件系统)放置在VDO层的顶部。
  2. VDO按以下顺序将三个阶段应用于数据,减少存储设备上的占用空间
  • 零区块的排除:在初始化阶段,整块为0的会被元数据记录下来,这个可以用水杯里面的水和沙子混合的例子来解释,使用滤纸(零块排除),把沙子(非零空间)给过滤出来,然后就是下一个阶段的处理
  • 重复数据删除:在第二阶段,输入的数据会判断是不是冗余数据(在写入之前就判断),这个部分的数据通过UDS内核模块来判断(U niversal D eduplication S ervice),被判断为重复数据的部分不会被写入,然后对元数据进行更新,直接指向原始已经存储的数据块即可
  • 压缩:一旦消零和重删完成,LZ4压缩会对每个单独的数据块进行处理,然后压缩好的数据块会以固定大小4KB的数据块存储在介质上,由于一个物理块可以包含很多的压缩块,这个也可以加速读取的性能

二、常用操作

1.检查软件包是否安装

[root@localhost ~]# rpm -qa vdo
vdo-6.2.0.293-10.el8.x86_64
[root@localhost ~]# rpm -qa kmod-kvdo
kmod-kvdo-6.2.0.293-50.el8.x86_64

2.安装软件包

[root@localhost ~]# yum -y install vdo kmod-kvdo

3.添加一块新磁盘。

[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节

4.创建vdo卷

[root@localhost ~]# vdo create --name=vdodisk1 --device=/dev/sdb  --vdoLogicalSize=5G

5.查看vdo卷状态(主要查看重删压缩功能状态是否打开deduplication重复删除数据 compression压缩)

[root@localhost ~]# fdisk -l /dev/mapper/vdodisk1 
Disk /dev/mapper/vdodisk1:5 GiB,5368709120 字节,1310720 个扇区
单元:扇区 / 1 * 4096 = 4096 字节
扇区大小(逻辑/物理)4096 字节 / 4096 字节
I/O 大小(最小/最佳)4096 字节 / 4096 字节
[root@localhost ~]# vdo  status   --name=vdodisk1
[root@localhost ~]# vdo  status   --name=vdodisk1 |grep -E "Deduplication|Compression"
    Compression: enabled
Deduplication: enabled

扩展:如果状态异常可以使用启动关闭vdo:

[root@localhost images]# vdo stop -n vdodisk1
Stopping VDO vdodisk1
[root@localhost images]# vdo start  -n vdodisk1
Starting VDO vdodisk1
Starting compression on VDO vdodisk1
VDO instance 1 volume is ready at /dev/mapper/vdodisk1

6.格式化挂载

[root@localhost ~]# mkfs.xfs -K /dev/mapper/vdodisk1
-K选项可防止立即丢弃文件系统中未使用的块,从而使命令返回更快(硬盘较大的时候使用)。
[root@localhost by-id]# udevadm settle        ---刷新设备,向udev注册新设备。
[root@localhost /]# mkdir /vdotest 
[root@localhost /]# mount /dev/mapper/vdodisk1 /vdotest/
[root@localhost /]# df -h 
文件系统              容量  已用  可用 已用% 挂载点
devtmpfs              1.9G     0  1.9G    0% /dev
tmpfs                 2.0G     0  2.0G    0% /dev/shm
tmpfs                 2.0G   10M  2.0G    1% /run
tmpfs                 2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/sda3              12G  3.9G  8.2G   32% /
/dev/sda1             195M  122M   73M   63% /boot
tmpfs                 392M   16K  392M    1% /run/user/42
tmpfs                 392M  3.5M  389M    1% /run/user/0
/dev/sr0              6.7G  6.7G     0  100% /mnt
/dev/mapper/vdodisk1  5.0G   69M  5.0G    2% /vdotest

三、验证VDO卷

[root@localhost /]# vdostats   --human-readable 
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdodisk1     20.0G      4.0G     16.0G  20%           98%
[root@localhost /]# cp /mnt/images/install.img  /vdotest/
[root@localhost /]# vdostats   --human-readable 
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdodisk1     20.0G      4.3G     15.7G  21%            3%
[root@localhost /]# cp /mnt/images/install.img  /vdotest/install.img-2
[root@localhost /]# vdostats   --human-readable 
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdodisk1     20.0G      4.4G     15.6G  22%           38%
[root@localhost /]# cp /mnt/images/install.img  /vdotest/install.img-3
[root@localhost /]# vdostats   --human-readable 
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdodisk1     20.0G      4.5G     15.5G  22%           61%
[root@localhost /]# cp /mnt/images/install.img  /vdotest/install.img-4
[root@localhost /]# vdostats   --human-readable 
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdodisk1     20.0G      4.5G     15.5G  22%           70%
[root@localhost /]# cp /mnt/images/install.img  /vdotest/install.img-5
[root@localhost /]# vdostats   --human-readable 
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdodisk1     20.0G      4.5G     15.5G  22%           77%

# 扩展:扩容vdo卷
[root@localhost images]# lsof /vdotest/
[root@localhost images]# kill -9 xxxxx
bash: kill: xxxxx: 参数必须是进程或任务 ID
[root@localhost images]# umount /vdotest 
[root@localhost images]# vdo growLogical --name=vdodisk1 --vdoLogicalSize=10G
[root@localhost images]# lsblk 
NAME       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda          8:0    0   40G  0 disk 
├─sda1       8:1    0  200M  0 part /boot
├─sda2       8:2    0    4G  0 part [SWAP]
└─sda3       8:3    0   12G  0 part /
sdb          8:16   0   20G  0 disk 
└─vdodisk1 253:0    0   10G  0 vdo  
sdc          8:32   0   20G  0 disk 
sdd          8:48   0   20G  0 disk 
sde          8:64   0   20G  0 disk 
sr0         11:0    1  6.6G  0 rom  /mnt
[root@localhost images]# xfs_growfs /dev/mapper/vdodisk1
[root@localhost images]# df -h 
文件系统              容量  已用  可用 已用% 挂载点
devtmpfs              1.9G     0  1.9G    0% /dev
tmpfs                 2.0G     0  2.0G    0% /dev/shm
tmpfs                 2.0G   10M  2.0G    1% /run
tmpfs                 2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/sda3              12G  3.9G  8.2G   33% /
/dev/sda1             195M  122M   73M   63% /boot
tmpfs                 392M   16K  392M    1% /run/user/42
tmpfs                 392M  3.5M  389M    1% /run/user/0
/dev/sr0              6.7G  6.7G     0  100% /mnt
/dev/mapper/vdodisk1   10G  3.2G  6.9G   32% /vdotest

# 扩展:删除vdo卷
[root@localhost images]# umount /vdotest
[root@localhost images]# vdo remove --name vdodisk1
Removing VDO vdodisk1
Stopping VDO vdodisk1
[root@localhost images]# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   40G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    4G  0 part [SWAP]
└─sda3   8:3    0   12G  0 part /
sdb      8:16   0   20G  0 disk 
sdc      8:32   0   20G  0 disk 
sdd      8:48   0   20G  0 disk 
sde      8:64   0   20G  0 disk 
sr0     11:0    1  6.6G  0 rom  /mnt
   8:16   0   20G  0 disk 
sdc      8:32   0   20G  0 disk 
sdd      8:48   0   20G  0 disk 
sde      8:64   0   20G  0 disk 
sr0     11:0    1  6.6G  0 rom  /mnt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疑犯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值