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

Linux逻辑卷管理器(PV、VG、LV、PE)

目录

PV阶段

VG阶段

LV阶段

文件系统阶段

逆向操作(删除LVM)


逻辑卷管理器(Logical Volume Manager),简称LVM

LVM的做法是将几个物理的分区(或磁盘)通过软件组合成为一块看起来时独立的大磁盘(VG)然后再将这块大磁盘划分成可使用的分区(LV),最终就能挂载使用了

  • 物理卷(Physical Volume,PV)我们实际的分区(或Disk)需要调整系统标识符(system ID)成为8e(LVM的标识符),system ID不修改也没关系,然后经过pvcreate命令将它转成LVM最底层的物理卷(PV)
  • 卷组(Volume Group,VG)VG就是用PV组合起来的大磁盘
  • 物理扩展块(Physical Extent,PE)它是整个LVM中最小的存储单位,也就是说,我们的文件数据都是借由写入PE来完成的。类似于文件系统中的block大小,所以调整PE会影响整个LVM的最大容量
  • 逻辑卷(Logical Volume,LV)最终的VG会被划分成LV,这个LV就是最后可以被格式化使用的类似分区的东西了

我们的数据写入LV中,它根据写入机制,有两种方式

  • 线性模式(linear):当我们把1、2两个分区加入VG后,把整个VG划分成一个LV,那么线性模式就是当1的容量用完之后2的容量才会被使用到
  • 交错模式(triped):当我们把1、2两个分区加入VG后,把整个VG划分成一个LV,那么交错模式就是把一条数据拆分成两部分,分别写入1和2的容量中

理论上,交错模式的读写性能会比较好

基本上,LVM最主要的用处就是实现一个可以实现弹性调整容量的文件系统上,而不是在建立一个性能为主的磁盘上

我们用两块磁盘(sda、nvme0n2)来供我们创建LVM

sda中有主分区sda1(xfs文件系统)、扩展分区sda2以及逻辑分区sda5(ext4文件系统)

 

PV阶段

建立PV,直接使用pvcreate即可

磁盘分区或磁盘都可建立成为PV

与PV有关的命令:

  • pvcreate:将物理分区建立成为PV
  • pvscan:查找目前里面任何具有PV的磁盘
  • pvdisplay:显示出目前系统上面的PV状态
  • pvremove:将PV属性删除,让该分区不具有PV属性

查看一下有无PV在系统上,我们的两块磁盘并不是PV

创建PV

当分区内有文件系统时,会弹出警告提示你是否清除此文件系统

使用pvdisplay来显示我们创建的pv的信息

 

VG阶段

建立VG以及VG相关的命令:

  • vgcreate:建立VG
  • vgscan:查找系统上面是否有VG存在
  • vgdisplay:显示目前系统上的VG状态
  • vgextend:在VG内添加额外的PV
  • vgreduce:在VG内删除PV
  • vgchange:设置VG是否启动(active)
  • vgremove:删除一个VG

PV的名称其实就是分区的设备文件名,但是VG的名称我们可以随便取

vgcreate 【-s N【mgt】】 VG名称 PV名称

选项与参数:

-s:后面接PE的大小(size),单位可以是m、g、t(大小写均可)

创建VG

vgdisplay:

vgs:

vgscan:

LV阶段

创造出VG这个大磁盘后,再来就是建立分区了,这个分区就是所谓的LV

使用的相关命令:

  • lvcreate:建立LV
  • lvscan:查询系统上的LV
  • lvdisplay:显示系统上面的LV状态
  • lvextend:在LV里面增加容量
  • lvreduce:在LV里面减少容量
  • lvremove:删除一个LV
  • lvresize:对LV进行容量大小的调整

lvcreate【-L N【mgt】】【-n LV名称】VG名称

lvcreate【-l N】【-n LV名称】VG名称

选项与参数:

-L:后面接容量,容量的单位可以使M、G、T等,要注意的是,最小单位为PE,因此这个数量必须是PE的倍数,若不是则会计算最相近的容量

-l:后面可以接PE的个数

-n:后面接的就是LV的名称

从VG阶段的查看可以得到PE的大小为4M

建立LV

 

lvidisplay:

lvscan:

文件系统阶段

格式化、挂载与查看我们的LV

格式化:

 

以上三种方法书写LV的路径都是可以的,因为它们都是指向同一个目录 

挂载:

 

自动挂载则是写入/etc/fstab

查看LV:

逆向操作(删除LVM)

删除顺序与创建顺序相反

 

查看:

 

 

相关文章:

Linux逻辑卷管理器(PV、VG、LV、PE)

目录 PV阶段 VG阶段 LV阶段 文件系统阶段 逆向操作(删除LVM) 逻辑卷管理器(Logical Volume Manager),简称LVM LVM的做法是将几个物理的分区(或磁盘)通过软件组合成为一块看起来时独立的大…...

Centos7 内核升级

一、背景 在 CentOS 使用过程中,高版本的应用环境可能需要更高版本的内核才能支持,所以难免需要升级内核,所以下面将介绍yum和rpm两种升级内核方式。 关于内核种类: kernel-ml——kernel-ml 中的ml是英文【 mainline stable 】的缩写&…...

SpringBoot 启动配置文件加载和参数配置修改问题

SpringBoot 配置文件修正和参数覆盖SpringBoot 配置文件加载和参数覆盖1、SpringBoot 配置文件加载1.1、修改application.properties的参数几种方式1.2、方法一:直接CMD1.3、方法二:系统变量配置1.4、方法三:程序运行配置1.5、方法四&#xf…...

布隆过滤器和布谷鸟过滤器详解

今天和大家分享下布隆过滤器和布谷鸟过滤器 一.布隆过滤器 1.简单介绍 布隆过滤器是用于检索一个元素是否在一个集合中的算法,是一种用空间换时间的查询算法。 2.实现原理 布隆过滤器的存储结构是一个bitmap结构,初始值都是0,如下图所示&am…...

WebGIS前端框架(openlayers,mapbox,leaflet)图形图像底层渲染原理分析

学了这么多的框架,做了这么多的项目,你是否清楚你使用的GIS框架(mapbox,open layers,cesium,leaflet)底层到底是什么原理?是否清楚哪些所谓的地图影像,矢量图形,图标,图像动画等是如何渲染到网页上的?这篇文章就大家解读一下WebGIS的底层原理。 首先说说历史,有时…...

AcWing语法基础课笔记 第五章 C++中的字符串

第五章 C中的字符串 字符串是计算机与人类沟通的重要手段。 ——闫学灿 字符与整数的联系——ASCII码 每个常用字符都对应一个-128~127的数字,二者之间可以相互转化: 常用ASCII值:’A’-‘Z’ 是65~90,’a’-‘z’…...

抓包工具Charles(一)-下载安装与设置

无论是在测试、开发工作中,抓包都是很重要、很常用的技能。Charles作为一款抓包工具,能够满足大部分的工作需求。 文章目录一、下载地址二、安装三、安装根证书(电脑)四、设置五、抓包附录:[零基础入门接口功能测试教程…...

SpringBoot09:Swagger

什么是Swagger? ①是一个API框架 ②可以在线自动生成 RestFul 风格的API文档,实现API文档和API定义同步更新 ③可以直接运行、在线测试 API 接口 ④支持多种语言(Java、PHP等) 官网:API Documentation & Desi…...

Git 常用命令

笔记-git命令1、名词2、基本操作3、分支操作1、名词 master: 默认开发分支origin: 默认远程版本库Index / Stage: 暂存区Workspace: 工作区Repository: 仓库区 (或本地仓库)Remote: 远程仓库 2、基本操作 配置级别 -local (默认,高级优先…...

查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

查看jdk安装路径, 在windows上实现多个java jdk的共存解决办法, 安装java19后终端乱码的解决 目录 一、查看jdk(java开发工具包)安装路径的方法 二、在windows上实现多个java jdk的共存 (1)、安装好多…...

链表数据结构

用途: 链表是一种用于计算机中存储与组织数据的结构,链表将数据以节点的形式串联起来,其存储的容量大小可以动态伸缩。 结构: typedef struct {int data; /*当前节点的数据*/node *next;/*下一个节点的指针*/node *last;/*上一个…...

汽车DTC故障内码与标准故障码的解析与转换

目录 一、故障内码与标准故障码的解析 (1)故障内码的信息格式与解析 (2)故障内码中DTC状态的解析 (3)故障内码与标准故障码之间的对应关系 二、故障内码与标准故障码的转换代码 一、故障内码与标准故障…...

零基础学习测试还是开发?

软件测试作为IT行业的刚需职位,其实是非常适合0基础的小白同学加入学习的但是具体选择测试还是开发还是要看你个人的兴趣爱好以及学习能力,对哪个感兴趣,哪个能学的会就选择哪个就可以了 平时说起程序员印象中大都是做Java、做前端、做后端&…...

如何加入new bing候补名单

如何加入new bing候补名单 我们都知道现在最新版edges中已经提示我们可以加入new bing候补名单,但国内环境下无法正常加入new bing候补名单,这篇文章讲告诉你如何绕过限制加入new bing候补名单 下载配置 HeaderEditor 插件 下载地址microsoftedge.mic…...

中国天气——西风带环流和寒潮

中国天气——西风带环流和寒潮 一. 西风环流概述 1. 概念 西风带:中高纬度地区平均水平环流在对流层盛行西风,称之为西风带西风带波动:西风带围绕极涡沿纬圈运动,平均而言表现为冬季三槽三脊,夏季四槽四脊&#xff…...

2022黑马Redis跟学笔记.实战篇(四)

2022黑马Redis跟学笔记.实战篇 四4.3.秒杀优惠券功能4.3.1.秒杀优惠券的基本实现一、优惠卷秒杀1.1 全局唯一ID1.2 Redis实现全局唯一Id1.3 添加优惠卷1.4 实现秒杀下单4.3.2.超卖问题4.3.3.基于乐观锁解决超卖问题1. 悲观锁2. 乐观锁3. 乐观锁解决超卖问题4.4 秒杀的一人一单限…...

Allegro中如何删除多余D码操作指导

Allegro中如何删除多余D码操作指导 用Allegro做PCB设计的时候,在最后输出生产文件的时候,必须清除多余的D码,不让多余的D码出现在D码文件中,类似下图 如何清除多余D码,具体操作如下 点击Tools点击Padstack...

学生投票系统-课后程序(JAVA基础案例教程-黑马程序员编著-第三章-课后作业)

【案例3-4】学生投票系统 记得 关注,收藏,评论哦,作者将持续更新。。。。 【案例介绍】 案例描述 某班级投票竞选班干部,班级学生人数为100人,每个学生只能投一票。 本任务要求,编程实现一个投票程序&…...

初始化一个列表python

1.初始化递增的list: list1 list(range(10)) #print list1 #[0,1,2,...,9] 2.初始化每项为0的一维数组: list2 [0] * 5 #print list2 #[0,0,0,0,0] 3.初始化固定值的一维数组: initVal 1 listLen 5 list3 [ initVal for i in range(5)] …...

【electron】webview嵌入页面发送消息给父级页面

场景需求: 嵌入页面操作时,通知父级页面 涉及知识点: contextBridge 嵌入页面可使用暴露的对象ipc-message 监听嵌入页面发送的消息webview preload 嵌入页面运行加载的脚本 问题(两种方式) 使用监听ipc-message需…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层&#xf…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...