15.vdo管理
vdo管理
文章目录
- vdo管理
- 一、VDO基本概念
- 二、常用操作
- 三、验证VDO卷
一、VDO基本概念
- VDO(Virtual Data Optimize虚拟数据优化)
通过压缩或删除存储设备上的数据来优化存储空间。VDO层放置在现有块存储设备例如RAID设备或本地磁盘的顶部。这些块设备也可以是加密设备。存储层(如LVM logic卷和文件系统)放置在VDO层的顶部。 - 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 /mnt8: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
相关文章:
15.vdo管理
vdo管理 文章目录 vdo管理一、VDO基本概念二、常用操作三、验证VDO卷 一、VDO基本概念 VDO(Virtual Data Optimize虚拟数据优化) 通过压缩或删除存储设备上的数据来优化存储空间。VDO层放置在现有块存储设备例如RAID设备或本地磁盘的顶部。这些块设备也…...
安全漏洞周报(2024.01.01-2023.01.08)
漏洞速览 ■ 用友CRM系统存在逻辑漏洞 漏洞详情 1. 用友CRM系统存在逻辑漏洞 漏洞介绍: 某友CRM系统是一款综合性的客户关系管理软件,旨在帮助企业建立和维护与客户之间的良好关系。它提供了全面的功能,包括销售管理、市场营销、客户服…...
msckf-vio 跑Euroc数据集,并用evo进行评估
所需材料: Euroc数据集主页:https://projects.asl.ethz.ch/datasets/doku.php?idkmavvisualinertialdatasetsevo评估工具代码:https://github.com/MichaelGrupp/evo向msckf-vio中添加保存位姿的代码,可参考https://blog.csdn.ne…...
大模型LLM在 Text2SQL 上的应用实践
一、前言 目前,大模型的一个热门应用方向Text2SQL,它可以帮助用户快速生成想要查询的SQL语句,再结合可视化技术可以降低使用数据的门槛,更便捷的支持决策。本文将从以下四个方面介绍LLM在Text2SQL应用上的基础实践。 Text2SQL概…...
数据库:园林题库软件(《城市绿地设计规范》答题卷一 )
《城市绿地设计规范》答题卷一 填空题 1、城市绿地设计应贯彻人与自然和谐共存、可持续发展、经济合理等基本原则,创造良好生态和景观效果,促进人的身心健康。 2、城市绿地 urban green space 以植物为主要存在形态,用于改善城市生态&am…...
MySQL之视图外连接、内连接和子查询的使用
目录 一. 视图 1.1 含义 1.2 视图的基本语法 1.3 视图的实操 二. 外连接、内连接和子查询的使用 2.1 SQL脚本 2.2 使用外连接、内连接和子查询进行解答 三. 思维导图 一. 视图 1.1 含义 视图(view)是一种虚拟存在的表,是一个逻辑表&#x…...
MoE模型性能还能更上一层楼?一次QLoRA微调实践
Fine-Tuning Mixtral 8x7B with QLoRA:Enhancing Model Performance 🚀 编者按:最近,混合专家(Mixture of Experts,MoE)这种模型设计策略展现出了卓越的语言理解能力,如何在此基础上进一步提升 MoE 模型的性能成为业界…...
Java线程学习笔记
1、判断线程存活 1. 当线程run()或者call()方法执行结束,线程进入终止状态 2. 当线程内发生异常,并且异常没有被捕获,线程进入终止状态 3. 线程调用stop()方法后,线程进入终止状态(不推荐使用) 当主线程结束时,其他线程…...
平面光波导_三层均匀平面光波导_射线分析法
平面光波导_三层均匀平面光波导_射线分析法 三层均匀平面光波导: 折射率沿 x x x 方向有变化,沿 y y y、 z z z 方向没有变化三层:芯区( n 1 n_1 n1) > > > 衬底( n 2 n_2 n2) ≥ \geq ≥ 包层( n 3 n_3 n3)包层通常为空…...
IPV6学习记录
IPV6的意义 从广义上来看IPV6协议包含的内容很多: IPV6地址的生成与分配 IPV6的报头的功能内容 IPV4网络兼容IPV6的方案 ICMPv6的功能(融合了arp和IGMP功能) IPV6的路由方式 ipv6的诞生除了由于ipv4的地址枯竭外,很大程度上也是因为ipv4多年的发展产生了很多…...
使用proteus进行主从JK触发器仿真失败原因的分析
在进行JK触发器的原理分析的时候,我首先在proteus根据主从JK触发器的原理进行了实验根据原理图,如下图: 我进行仿真,在仿真的过程中,我向电路图中添加了外部的置0/1端口,由此在proteus中得到下面的电路图 …...
Golang基础入门及Gin入门教程(2024完整版)
Golang是Google公司2009年11月正式对外公开的一门编程语言,它不仅拥有静态编译语言的安全和高性能,而 且又达到了动态语言开发速度和易维护性。有人形容Go语言:Go C Python , 说明Go语言既有C语言程序的运行速度,又能达到Python…...
202312 青少年软件编程(C/C++)等级考试试卷(四级)电子学会真题
2023年12月 青少年软件编程(C/C)等级考试试卷(四级)电子学会真题 1.移动路线 题目描述 桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增…...
leetcode-合并两个有序数组
88. 合并两个有序数组 题解: 这是一个经典的双指针问题,我们可以使用两个指针分别指向nums1和nums2的最后一个元素,然后比较两个指针所指向的元素大小,将较大的元素放入nums1的末尾,并将对应的指针向前移动一位。重复…...
网站怎么做google搜索引擎优化?
网站想做google搜索引擎优化,作为大前提,您必须确保网站本身符合google规范,我们不少客户实际上就连这点都无法做到 有不少客户公司自己本身有技术,就自己弄一个网站出来,做网站本身不是难事,但前提是您需要…...
TDengine 签约西电电力
近年来,随着云计算和物联网技术的迅猛发展,传统电力行业正朝着数字化、信息化和智能化的大趋势迈进。在传统业务基础上,电力行业构建了信息网络、通信网络和能源网络,致力于实现发电、输电、变电、配电和用电的实时智能联动。在这…...
赛门铁克OV代码签名证书一年多少钱?
在当前,软件和应用程序的安全性变得尤为重要。为了保护软件的完整性和安全性,越来越多的开发者和厂商开始采用代码签名的方式来确保软件的真实性和完整性。赛门铁克OV代码签名证书成为了其中一个备受信任的选择。那么,赛门铁克OV代码签名证书…...
Dockerfile详解
文章目录 一、Dockerfile介绍二、常用指令三、Dockerfile示例四、最佳实践 一、Dockerfile介绍 Dockerfile是一个包含创建镜像所有命令的文本文件,通过docker build命令可以根据Dockerfile的内容构建镜像。 一般的,Dockerfile分为四部分:基础…...
零基础小白如何自学sql?
学习SQL对于数据分析和处理来说非常重要。SQL是一种强大的工具,可以帮助你与数据库沟通,提取,整理和理解数据。 以下是一些学习SQL的建议: 01 前期:SQL数据库学习 了解SQL的基本概念:首先,你…...
【刷题笔记2】
刷题笔记2 最小公倍数、最大公约数 两个数的最大公约数两数乘积/最小公倍数 #<include> cmath; int a,b; int mgcd(a,b);//求最大公约数复制字符串substr()函数 s.substr(pos, len) :pos的默认值是0,len的默认值是s.size() - pos string a1;in…...
惠普OMEN游戏本终极性能优化:OmenSuperHub开源工具完全指南
惠普OMEN游戏本终极性能优化:OmenSuperHub开源工具完全指南 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为惠普OMEN游戏本官方软件的臃…...
深度解析AzurLaneAutoScript:碧蓝航线自动化脚本的技术架构与应用实践
深度解析AzurLaneAutoScript:碧蓝航线自动化脚本的技术架构与应用实践 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript…...
Taotoken Token Plan套餐如何为高频用户节省大模型使用成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken Token Plan套餐如何为高频用户节省大模型使用成本 对于需要持续、大量调用大模型API的团队或个人开发者而言,…...
浏览器资源嗅探神器猫抓Cat-Catch:3分钟学会抓取网页视频音频资源
浏览器资源嗅探神器猫抓Cat-Catch:3分钟学会抓取网页视频音频资源 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾经遇到过想下…...
Hanime1Plugin终极指南:打造纯净Android动漫观影体验的免费神器
Hanime1Plugin终极指南:打造纯净Android动漫观影体验的免费神器 【免费下载链接】Hanime1Plugin Android插件(https://hanime1.me) (NSFW) 项目地址: https://gitcode.com/gh_mirrors/ha/Hanime1Plugin 你是否厌倦了在Android设备上看动漫时被各种广告打断&a…...
深度学习在甲状腺细胞病理诊断中的创新应用
1. 深度学习在甲状腺细胞病理学中的应用背景甲状腺癌是全球范围内最常见的内分泌系统恶性肿瘤之一,其发病率在过去几十年中持续上升。细针穿刺活检(FNAB)作为甲状腺结节诊断的金标准,其准确率直接影响后续治疗方案的选择。然而&am…...
Arm CADI 2.0调试接口架构与多调试器协同实践
1. CADI接口调试架构深度解析在嵌入式系统开发领域,调试接口的设计质量直接影响着开发效率。CADI(Component Architecture Debug Interface)作为Arm推出的标准化调试接口,其2.0版本通过创新的架构设计解决了传统调试方案中的诸多痛…...
HPM6750 CAN FD实战:从波特率配置到高效收发,避坑指南
1. 项目概述:从经典CAN到CAN FD的实战入门作为一名长期在嵌入式领域摸爬滚打的开发者,我深知现场总线技术,尤其是CAN总线,在工业控制、汽车电子等领域的核心地位。随着数据吞吐量需求的激增,经典CAN的1Mbps带宽逐渐捉襟…...
3分钟掌握Joy-Con Toolkit:让你的Switch手柄焕然一新的终极指南
3分钟掌握Joy-Con Toolkit:让你的Switch手柄焕然一新的终极指南 【免费下载链接】jc_toolkit Joy-Con Toolkit 项目地址: https://gitcode.com/gh_mirrors/jc/jc_toolkit 还在为单调的Joy-Con手柄配色而烦恼吗?Joy-Con Toolkit为你带来了一键改变…...
Gemini3.1Pro评估ViT平移不变性:4周MVP路线图
利用 Gemini 3.1 Pro 评估视觉 Transformer 的平移不变性:从机制刻画、对照验证到门控降级与4周MVP路线图“平移不变性(Translation Invariance)”是视觉 Transformer(ViT 等)稳健性的核心指标之一:当图像在…...
