在linux上如何运用虚拟数据优化器VDO

news/2025/2/5 21:57:13/
本章主要介绍虚拟化数据优化器。
  • 什么是虚拟数据优化器VDO
  • 创建VDO设备以节约硬盘空间

16.1 了解什么是VDO

VDO全称是Virtual Data Optimize(虚拟数据优化),主要是为了节省硬盘空间。
现在假设有两个文件file1和 file2,大小都是10G。file1和 file2中包含了8G的相同数据,
如图16-1中的灰色部分。这个相同数据在硬盘中存储了两份,所以这两个文件占用的硬盘空
间是20G。
如果采用了VDO,效果如图16-2所示。
file1和 file2大小都是10G,两个文件中都有8G的相同数据。那么,这个相同数据在硬盘
中只存储一份,让filel和 file2共同使用。所以,最终在硬盘上占用的空间是12G,这样一个
20G大小的硬盘,完全可以存储大于20G的文件,主要看这些文件中到底有多少相同数据。
所以,VDO实现的效果是,多个文件中有相同数据,这个相同数据只存储一份,从而实现
节省硬盘空间的目的。
16.2 配置VDO
首先要安装VDO相关软件包(关于软件包的管理在第23章和第24章中有详细讲解),步骤
如下。
步骤①:挂载光盘,命令如下。
[root@pp ~]# mount /dev/cdrom /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@pp ~]# 
这里准备把光盘作为yum 源。
步骤②:编写repo文件,命令如下。
[root@pp ~]# cat /etc/yum.repos.d/aa.repo 
[aa]
name=aa
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0[bb]
name=bb
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
[root@pp ~]# 
步骤③:安装VDO,命令如下。
[root@pp ~]# yum -y install vdo kmod-kvdo
查看 VDO设备,命令如下。
[root@pp ~]# vdo list [root@pp ~]# 
没有任何输出,说明现在还没有任何VDO设备。
因为相同数据只存储一份,大大地节省了存储空间,所以本来20G的磁盘空间现在存储
30G、40G、50G的数据是完全有可能的。
下面创建一个名称为vdo1、底层设备为/dev/sdc的VDO设备,逻辑大小为50G,命令如
下。
[root@pp ~]# vdo create --name vdo1 --device /dev/nvme0n2 --vdoLogicalSize 50G
Creating VDO vdo1The 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
[root@pp ~]# 
上面提示的一堆信息不用管,最终能看到的是vdo1已经创建好了,可以通
过/dev/mapper/vdo1来使用。 再次查看有多少VDO设备,命令如下。
[root@pp ~]# vdo list
vdo1
[root@pp ~]# 
格式化这个VDO设备,命令如下。
[root@pp ~]# 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
[root@pp ~]# 
这里-K(大写)的意思类似于Windows中的快速格式化。
把这个 VDO设备挂载到/vdo1目录上,命令如下。
[root@pp ~]# mkdir /vdo1
[root@pp ~]# mount /dev/mapper/vdo1 /vdo1/
[root@pp ~]# 
如果希望能永久挂载,需要写入/etc/fstab中,命令如下。
[root@pp ~]# grep vdo /etc/fstab 
/dev/mapper/vdo1 /vdo1   xfs  defaults,_netdev 0 0
[root@pp ~]# 
需要注意的是,这里一定要有_netdev选项,否则重启系统时,系统是启动不起来的。
查看vdo1的空间使用情况,命令如下。
[root@pp ~]# vdostats --hu
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1         50.0G      4.0G     46.0G   8%           99%
[root@pp ~]# 
这里自身就消耗了4G空间(Used那列),因为这里不存在文件,所以空间节省率为99%
(Space saving%那列)。

http://www.ppmy.cn/news/1261728.html

相关文章

视频处理关键知识

1 引言 视频技术发展到现在已经有100多年的历史,虽然比照相技术历史时间短,但在过去很长一段时间之内都是最重要的媒体。由于互联网在新世纪的崛起,使得传统的媒体技术有了更好的发展平台,应运而生了新的多媒体技术。而多媒体技术…

Linux指令学习

目录 1.ls指令 2.pwd命令 3.cd 指令 4. touch指令 5.mkdir指令 6.rmdir指令 && rm 指令 7.man指令 8.cp指令 9.mv指令 10.cat指令 11.more指令 12.less指令 13.head指令 14.find指令: -name 15.grep指令 16.zip/unzip指令: 17.tar…

【android开发-21】android中调用系统摄像头camera拍照和相册的用法详解

1,调用摄像头 在Android中,调用系统摄像头拍照需要使用Intent来启动Camera应用,并在应用中设置相应的权限。下面是一个简单的例子: // 创建一个Intent对象,指定要执行的动作是拍照 Intent intent new Intent(Medi…

ES6中的Set

Set类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。Set 构造函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。 Set …

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(一)——创建Glue

1 通过Athena查询s3中的数据 此实验使用s3作为数据源 ETL: E extract 输入 T transform 转换 L load 输出 大纲 1 通过Athena查询s3中的数据1.1 架构图1.2 创建Glue数据库1.3 创建爬网程序1.4 创建表1.4.1 爬网程序创建表1.4.2 手动创建表 1…

上网行为审计软件丨紧盯小毛病,堵住大漏洞,守好钱袋子

上网行为审计软件是一种专门用于监控和分析员工或学生在计算机网络上的行为的软件。它可以帮助企业和家庭了解员工或学生的网络使用情况,发现和防止潜在的安全风险,提高工作效率和保护企业信息安全。 域之盾软件---上网行为审计系统的作用: …

centos服务器扩容

centos服务器扩容 我的情况是,原服务器是一个80g磁盘,管理员又追加了120G到这块磁盘上,需要把这120G重新追加使用。 请确认你遇到的情况是否和我初始截图一致,再往下看,免得浪费时间与精力 服务器中有120G尚未使用&…

Linux中的网络时间服务器

本章主要介绍网络时间的服务器 使用chrony配置时间服务器配置chrony客户端服务器同步时间 1.1 时间同步的重要性 一些服务对时间要求非常严格,例如如图所示的由三台服务器搭建的ceph集群 这三台服务器的时间必须保持一致,如果不一致,就会显…