当前位置: 首页 > news >正文

15.vdo管理

vdo管理

文章目录

  • vdo管理
    • 一、VDO基本概念
    • 二、常用操作
    • 三、验证VDO卷

一、VDO基本概念

  1. VDO(Virtual Data Optimize虚拟数据优化)
    通过压缩或删除存储设备上的数据来优化存储空间。VDO层放置在现有块存储设备例如RAID设备或本地磁盘的顶部。这些块设备也可以是加密设备。存储层(如LVM logic卷和文件系统)放置在VDO层的顶部。
  2. 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) &#xff1a;pos的默认值是0&#xff0c;len的默认值是s.size() - pos string a1;in…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...