虚拟数据优化器VDO

1.了解什么是VDO

        VDO全称是Virtual Data Optimize(虚拟数据优化),主要是为了节省硬盘空间。现在假设有两个文件file1和 file2,大小都是10G。file1和 file2中包含了8G的相同数据,如下图中的灰色部分。这个相同数据在硬盘中存储了两份,所以这两个文件占用的硬盘空间是20G。

        如果采用了VDO,效果如左图

        file1和 file2大小都是10G,两个文件中都有8G的相同数据。那么,这个相同数据在硬盘中只存储一份,让filel和 file2共同使用。所以,最终在硬盘上占用的空间是12G,这样一个20G大小的硬盘,完全可以存储大于20G的文件,主要看这些文件中到底有多少相同数据。

        所以,VDO实现的效果是,多个文件中有相同数据,这个相同数据只存储一份,从而实现节省硬盘空间的目的

2.配置VDO

        首先要安装VDO相关软件包

        挂载光盘

[root@jiayi ~]# mount /dev/cdrom /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.

        这里准备把光盘作为yum 源

        编写repo文件

[root@jiayi ~]# cat /etc/yum.repos.d/jiayi.repo 
[jiayi]
name=jiayi
baseurl=file:///AppStream
enabled=1
gpgcheck=0

[jia]
name=jia
baseurl=file:///BaseOS
enabled=1
gpgcheck=0

        安装VDO(部分系统自带VDO)

[root@jiayi ~]# yum -y install vdo kmod-kvdo
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

jiayi                                                                                                234 MB/s | 7.2 MB     00:00    
jia                                                                                                  152 MB/s | 2.4 MB     00:00    
上次元数据过期检查:0:00:01 前,执行于 2023年12月05日 星期二 10时52分29秒。
软件包 vdo-6.2.5.74-14.el8.x86_64 已安装。
软件包 kmod-kvdo-6.2.5.72-81.el8.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!

        查看 VDO设备

[root@jiayi ~]# vdo list

        没有任何输出,说明现在还没有任何VDO设备

        因为相同数据只存储一份,大大地节省了存储空间,所以本来20G的磁盘空间现在存储30G、40G、50G的数据是完全有可能的

        下面创建一个名称为vdo1、底层设备为/dev/sdb的VDO设备,逻辑大小为50G,命令如下

[root@jiayi ~]# vdo create --name vdo1 --device /dev/sdb --vdoLogicalSize 50G
Creating VDO vdo1
      The VDO volume can address 46 GB in 23 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO vdo1
Starting compression on VDO vdo1
VDO instance 0 volume is ready at /dev/mapper/vdo1

        上面提示的一堆信息不用管,最终能看到的是vdo1已经创建好了,可以通过/dev/mapper/vdo1来使用

        再次查看有多少VDO设备

[root@jiayi ~]# vdo list
vdo1

        格式化这个VDO设备

[root@jiayi ~]# mkfs.xfs -K /dev/mapper/vdo1 
meta-data=/dev/mapper/vdo1       isize=512    agcount=4, agsize=3276800 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=6400, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

        这里-K(大写)的意思类似于Windows中的快速格式化

        把这个 VDO设备挂载到/vdo1目录上

[root@jiayi ~]# mkdir vdo1
[root@jiayi ~]# mount /dev/mapper/vdo1 vdo1/

        如果希望能永久挂载,需要写入/etc/fstab中

[root@jiayi ~]# grep vdo /etc/fstab 
/dev/mapper/vdo1 /vdo1 xfs defaults,_netdev 0 0

        需要注意的是,这里一定要有_netdev选项,否则重启系统时,系统是启动不起来的。查看vdo1的空间使用情况

[root@jiayi ~]# vdostats --hu
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1         50.0G      4.0G     46.0G   8%           99%

        这里自身就消耗了4G空间(Used那列),因为这里不存在文件,所以空间节省率为99%(Space saving%那列)

3.测试VDO

        在该机上传两个较大的文件,用来接下来的练习,这里上传的是rhel-server-7.1-x86_64-dvd.iso、rhel-server-7.6-x86_64-dvd.iso的镜像一个大小为4.2G一个为3.7G

[root@jiayi ~]# ll -h /root/ | grep rhel
-rw-r--r--. 1 root root 3.7G 12月  5 11:10 rhel-server-7.1-x86_64-dvd.iso
-rw-r--r--. 1 root root 4.2G 12月  5 11:09 rhel-server-7.6-x86_64-dvd.iso

        下面开始第一次把 rhel7.6.iso拷贝到/vdol中并命名为file1

[root@jiayi ~]# cp rhel-server-7.6-x86_64-dvd.iso vdo1/file1
[root@jiayi ~]# 
[root@jiayi ~]# vdostats --hu
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1         50.0G      8.0G     42.0G  15%            5%

        这里我用的是RHEL8,rhel-7.6的镜像可能有一些数据相同所以只消耗了4G空间

        下面开始第二次把rhel7.6.iso拷贝到/vdo1中并命名为file2

[root@jiayi ~]# cp rhel-server-7.6-x86_64-dvd.iso vdo1/file2
[root@jiayi ~]# 
[root@jiayi ~]# vdostats --hu
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1         50.0G      8.0G     42.0G  16%           52%
[root@jiayi ~]# ls vdo1/
file1  file2

        因为是从同一个文件拷贝的,所以 file2的内容和filel的内容是完全相同的,这里磁盘使用量仍然是8G

        下面把rhel7.1.iso铂贝到/vdo1中并命名为file3

[root@jiayi ~]# cp rhel-server-7.1-x86_64-dvd.iso vdo1/file3
[root@jiayi ~]# 
[root@jiayi ~]# vdostats --hu
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1         50.0G     11.1G     38.9G  22%           40%

        因为有部分数据相同所以只消耗了3.1G空间

        要删除VDO设备,命令如下

[root@jiayi ~]# vdo remove -n vdo1 
Removing VDO vdo1
Stopping VDO vdo1
[root@jiayi ~]# vdo list

        ·不过要先将VDO设备umount之后才可以进行删除

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
VDO传感器信号采集是指通过VDO传感器获取信号的过程。VDO传感器是一种用于测量和监测各种物理量的设备,例如温度、压力、速度等。在信号采集过程中,我们使用适当的方法和设备将VDO传感器的信号转化为可用的数字或模拟信号。 首先,我们需要选择适当的VDO传感器来测量我们想要监测的物理量。不同的传感器适用于不同的应用场景,所以选择合适的传感器非常重要。 然后,我们需要将传感器安装在待测物体或系统上。这可以通过将传感器物理固定在被测物体上,或者通过无线方式进行连接。 接下来,我们需要连接传感器到采集设备。这可以通过使用专门的传感器接口模块或者信号放大器来实现。这些设备可以将传感器产生的微弱信号放大到适合采集和处理的水平。 最后,我们需要使用合适的数据采集设备,如数据采集卡或数据记录器,来接收来自传感器的信号并将其转化为数字或模拟信号。这些设备可以通过各种接口,如USB、RS232或CAN等进行连接。 通过这样的信号采集过程,我们可以获得来自VDO传感器的准确数据,并用于各种应用,如监测和控制系统,实验数据采集,环境监测等。 总结而言,VDO传感器信号采集是一个涉及选择适当传感器、安装传感器、连接传感器和采集设备等步骤的过程。这样的信号采集过程可以使我们获得准确的传感器数据,进而用于各种应用中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值