VDO(Virtual Data Optimize虚拟数据优化):通过压缩或删除存储设备上的数据来优化存储空间

VDO层放置在现有块存储设备例如RAID设备或本地磁盘的顶部。这些块设备也可以是加密设备。存储层(如LVMlogic卷和文件系统放置在VDO层的顶部。

VDO按以下顺序将三个阶段应用于数据,减少存储设备上的占用空间

零区块的排除:

在初始化阶段,整块为0的会被元数据记录下来,这个可以用水杯里面的水和沙子混合的例子来解释,使用滤纸(零块排除),把沙子(非零空间)给过滤出来,然后就是下一个阶段的处理

重复数据删除:

在第二阶段,输入的数据会判断是不是冗余数据(在写入之前就判断),这个部分的数据通过UDS内核模块来判断(U niversal D eduplication S ervice),被判断为重复数据的部分不会被写入,然后对元数据进行更新,直接指向原始已经存储的数据块即可

压缩:

一旦消零和重删完成,LZ4压缩会对每个单独的数据块进行处理,然后压缩好的数据块会以固定大小4KB的数据块存储在介质上,由于一个物理块可以包含很多的压缩块,这个也可以加速读取的性能

实验

1、安装VDO模块,需要的软件包是kmod-kvdo vdo

#yum  install   vdo kmod-kvdo  -y

2、创建VDO卷

# vdo create --name=vdo1 --device=/dev/sdd  --vdoLogicalSize=5G

3、分析一个VDO卷(deduplication重复删除数据  compression压缩)

# vdo  status   --name=vdo1

4、给vdo1一个xfs文件系统,之后挂载到/mnt/vdo1上

#mkfs.xfs  -K  /dev/mapper/vdo1

-K选项可防止立即丢弃文件系统中未使用的块,从而使命令返回更快

刷新存储设备

# udevadm   settle

#mkdir    /mnt/vod1

挂载使用

#mount /dev/mapper/vdo1   /mnt/vdo1/

5、使用vdostats命令查看卷的初始统计信息和状态

# vdostats   --human-readable

Device                    Size      Used Available Use% Space saving%

/dev/mapper/vdo1          8.0G      4.0G      4.0G  50%           98%

6、创建文件

#cp /run/media/root/RHEL-8-0-0-BaseOS-x86_64/images/install.img  /root/install.img

7、移动文件到挂载点中,然后看一下结果

#mv  /root/install.img  /mnt/install.1.img

# vdostats   --human-readable

Device                    Size      Used Available Use% Space saving%

/dev/mapper/vdo1          8.0G      4.4G      3.6G  54%           73%

8、重新复制一遍

# cp /root/install.img   /mnt/vdo1/install.2.img

# vdostats   --human-readable

Device                    Size      Used Available Use% Space saving%

/dev/mapper/vdo1          8.0G      4.4G      3.6G  55%           70%

总结:会发现传一个相同的文件,但是空间并不会发生变化。

linux怎么修改vdo的名字,linux中VDO的使用相关推荐

  1. Linux怎样给线程取名字,Linux下指定线程的名字

    为了能方便的区分一个进程中的每个线程,可以通过prctl()给每个线程取个名字.这样在会创建多个线程的程序执行过程中,就能知道一个pid或tid对应的是哪个线程,对调试程序有一定帮助. prctl是个 ...

  2. linux命令修改内容怎么回退,linux命令(修改).doc

    linux命令(修改) 第一组 用户管理类命令 1 添加用户useradd [选项] 用户名范例:useradd davidls /home vim /etc/passwd 2 修改密码passwd ...

  3. linux系统修改用户名密码忘记,Linux下修改/找回root密码

    一.Linux下修改一般用户的密码 1.如果没有忘记自己的密码,进行修改: #输入passwd 之后会提示输入新密码 输入之后修改成功! 2.以 root身份修改一般用户的密码:# passwd us ...

  4. linux能修改用户的权限,linux怎样修改用户权限

    ls -l  查看目录下的文件详细信息 ll 同上 whoami 功能说明:先似乎用户名称. 语 法:whoami [--help][--version] 补充说明:显示自身的用户名称,本指令相当于执 ...

  5. 麒麟Linux强制修改只读文件,麒麟Linux系统文件权限管理和归属(12页)-原创力文档...

    中标麒麟Linux服务器操作系统培训系列 麒麟Linux系统文件权限管理和归属 技术创新,变革未来 本章目标 •了解中标麒麟Linux服务器操作系统文件类型.权 限的概念 •掌握文件权限和属主的设置方 ...

  6. linux修改挂载目录名字,linux下修改mount挂载目录名

    有时根据情况需要更改mount挂载目录名来保持多个机器的统一,方便我们的分布式操作,下面是具体的操作细节. 修改前: 文件系统       容量  已用  可用 已用%% 挂载点 /dev/mappe ...

  7. linux下文件怎么改名字,Linux文件名字批量修改步骤 Linux修改文件名的方法

    在Linux环境下修改文件名可以有不同的命令方式,比如rename.mv都可以进行修改,如果用户正在了解这方面的知识,可以阅读下文了解Linux修改文件名以及批量修改文件名的方法. 对于单个的文件,可 ...

  8. linux命令备份文件并且改名字,linux操作命令(二) 移动文件,复制文件,修改文件名,备份文件;...

    linux命令之  mv   :  修改文件名,移动文件,备份文件: mv   [参数]   源文件或者目录   目标文件或目录 -b :  若覆盖文件,则覆盖前先备份:   #   mv  文件1 ...

  9. linux批量修改文件名多目录,Linux下批量修改文件名

    2, Perl 版本的批量重命名,带有Perl的好处是,你可以使用正则表达式来完成很奇特的功能. perl 版本的参数格式: rename  perlexpr files 注意,perl版本的rena ...

最新文章

  1. KafKa-----acks参数对消息持久化的影响
  2. 结构型模式/设计模式
  3. 这简历一看就是包装过的
  4. DL之R-CNN:R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  5. 关于angular2更新时机的一些发现
  6. NOX的使用之学习篇【三】
  7. hdu 2844 Coins (多重背包+二进制优化)
  8. Chrome 76.0.3809.100(正式版本) (64 位) 版本 77.0.3865.90不显示网址中的www怎么解决...
  9. mysql5.6跳过密码登录_mysql-配置与使用(跳过原始密码登陆)
  10. 浏览器右下角总是弹出广告
  11. redis配置文件参数说明及命令操作
  12. Effective C++改善程序与设计的55个具体的做法
  13. 网站建设SEO推广说明
  14. jpg图片转换成pdf文件,方法步骤
  15. img标签 src路径正确 但图片不显示
  16. linux g 使用教程,linux下的gedit命令使用方法与技巧
  17. 复合材料力学_桥桂琼编_西工大版
  18. 数据分析-如何搭建业务指标体系
  19. 成考本科计算机找工作有用吗,就是想问问成人高考的学历 到底有多大用,找工作好找么?...
  20. tm1650中文资料_[STM8入门资料]第53讲 TM1650 LED数码管驱动芯片工作原理

热门文章

  1. diy直立双足机器人_速看!近期国内外机器人资讯大汇总
  2. R语言使用reshape2包的melt函数将dataframe从宽表到长表(Wide- to long-format)、如果没有指定行标识符号,则所有的字段都会放入variable变量中
  3. 使用Categorical_endcoder包对标称变量进行个性化编码
  4. 32位dll注入到64位程序_你用的32位还是64位?有什么区别呢?
  5. LoRDEC:hybrid correction of long reads 长读的混合校正
  6. 数字图像处理中常用图像分割算法有哪些?
  7. mysql远程连接问题
  8. php mongo二级查询时间,php查询MongoDB遇到长整型的问题
  9. C语言字母和数字数量,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...
  10. numpy 数组 维度 大小 形状