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…...
PlugY:重塑暗黑破坏神2单机体验的技术突破
PlugY:重塑暗黑破坏神2单机体验的技术突破 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 一、问题篇:暗黑破坏神2单机模式的技术痛点 作为一…...
给OpenClaw小龙虾喂点 “数据库饲料”,它竟能替你加班到天亮?
目录 💡DBA 的痛,龙虾不懂 🦞 给“龙虾”喂点“硬菜” 📍 成为首批体验官,有福利 最近大家都在养龙虾。 龙虾越养越聪明,写代码、查资料、做分析……什么都能干。 但有一件事,现在的龙虾还…...
SMT波浪焊接工艺精准控制品质核心
SMT波浪焊接过程中,设备是基础,而工艺参数的精准控制则是决定焊接质量的核心。很多电子制造企业都会遇到这样的问题:同样的设备、同样的原材料,不同批次的产品焊接质量却参差不齐,有的焊点牢固、外观规整,有…...
别再让MATLAB并行池浪费你的内存!保姆级教程教你手动精准管理Parallel Pool
MATLAB并行池内存优化实战:从自动管理到精准控制 在科学计算和工程仿真领域,MATLAB的Parallel Computing Toolbox无疑是提升运算效率的利器。但许多资深用户都曾经历过这样的困扰:完成大规模并行计算后,发现系统内存依然被并行池占…...
前端CSS样式详细笔记
文章目录一、CSS基础概念1. 什么是CSS2. CSS三大核心特性3. CSS基本语法结构二、CSS引入方式三、CSS选择器详解1. 基础选择器2. 组合选择器3. 属性选择器4. 伪类与伪元素四、选择器优先级规则1. 优先级计算方法2. 优先级实战示例3. 优先级注意事项五、CSS盒模型1. 盒模型组成2.…...
ai辅助开发:借助快马ai模型为直播应用添加弹幕情感分析与摘要生成功能
最近在开发一个直播应用时,发现弹幕互动是直播体验的重要组成部分,但海量弹幕中往往隐藏着观众的真实反馈和直播亮点。于是尝试用AI技术来增强直播应用的智能化功能,这里分享一下如何快速实现一个弹幕情感分析与摘要生成的工具页面。 项目构思…...
从电影字幕到新闻分析:手把手教你构建专属领域语料库
从电影字幕到新闻分析:手把手教你构建专属领域语料库 当我们需要分析某个特定领域的文本时,通用语料库往往难以满足需求。比如你想研究电影对白中的情感表达模式,或者分析地方新闻中的事件关联性,这时候就需要构建自己的专属语料库…...
STM32H7/TC397 PTP移植踩坑全记录:从Announce报文HardFault到Linux主机‘clock jumped’警告
STM32H7/TC397 PTP移植实战:从HardFault到时钟同步的深度排错指南 当我在TC397和STM32H7平台上移植PTP协议栈时,原以为只是简单的代码迁移,却意外开启了一场持续两周的"排错马拉松"。从诡异的HardFault到Linux主机不断报出的clock …...
Retinexformer Unleashed: A Deep Dive into Transformer-Based Low-Light Image Enhancement
1. Retinexformer:当Transformer遇见低光图像增强 深夜拍的照片总是又暗又糊?Retinexformer可能是目前最聪明的AI解决方案。这个将Transformer架构与Retinex理论结合的创新模型,在ICCV 2023上以6dB的性能优势碾压传统方法。我实测过它的增强效…...
使用LaTeX撰写基于Lingbot-Depth-Pretrain-VitL-14的学术论文:图表与算法排版
使用LaTeX撰写基于Lingbot-Depth-Pretrain-VitL-14的学术论文:图表与算法排版 写学术论文,尤其是涉及深度学习和计算机视觉模型的,比如你正在研究的Lingbot-Depth-Pretrain-VitL-14,最头疼的往往不是实验本身,而是如何…...
