前言

环境:centos 7.9

传统磁盘存在的问题

在传统方式中,当我们的Linux磁盘分区大小不够用的时候,只能通过添加新硬盘、创建新的分区来扩充空间,但是新添加进来的硬盘分区后是作为独立的文件系统存在的,这样原来旧磁盘分区的文件系统并未得到实际扩充,而上层应用程序访问的又是旧磁盘分区的文件系统,同时应用程序大多时候也只能访问一个文件系统,所以只能通过迁移旧磁盘分区的数据到新磁盘分区上,即让老磁盘下线,并把应用程序数据迁移到新磁盘分区中,换上新磁盘上线。这样的做法其实是存在很大的问题的,比如上层应用程序要停机,数据迁移量很大的时候,比如几个T的时候耗时很久,基于这样的问题就引入的LVM(Logical Volume Manager)逻辑卷管理技术。

LVM逻辑卷管理(Logical Volume Manager)

LVM(Logical Volume Manager)逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制,它是建立在物理存储之上的一个抽象层,有点在于灵活管理。特点是:动态在线扩容、离线裁剪、数据条带化、数据镜像。简单来说,LVM就是通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据,新加入的硬盘也不会改变现有上层的逻辑卷,作为一种动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。
比如,你有3块磁盘,分别是50GB 、60GB、70GB,传统上,我们单块磁盘分区肯定不能超过该磁盘的容量大小,但使用lvm逻辑卷管理,就会把这3块磁盘组成卷组,那么该卷组的大小就是180GB了,从系统管理员的角度看到的卷组池容量也是180GB,然后创建分区就能创建个超过100GB的逻辑卷了,(ps:在卷组上创建的分区我们称之为逻辑卷)。

逻辑卷与标准分区的区别

这里我们说的逻辑卷是指,在卷组的基础上划分的分区,而传统的标准分区是直接在物理磁盘上划分的分区。

PV、VG、LV、PE、LE 概念详解

物理卷(Physical Volume,PV):物理卷是底层真正提供容量,存放数据的设备,它可以是整个硬盘或者硬盘上的某个分区等等。

卷组(Volume Group,VG):卷组建立在物理卷上,它由一个或者多个物理卷组成,即把多个物理卷整合起来提供容量分配,一个LVM系统允许有一个或多个卷组。

逻辑卷(Logical Volume,LV):逻辑卷建立在卷组之上,它是从卷组中“切”出来的一块空间,它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小是可伸缩的。

物理区域PE(Physical extent):每一个物理卷被划分为称为PE(Physical extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小可指定,默认为4MB。PE的大小一旦确定将不能被改变,同一个卷组中的所有物理卷的PE的大小是一致的。4MB=4096kb=4096kb/4kb=1024个block。

逻辑区域LE(Logical extent):逻辑卷也被划为为称为LE(Logical Extents)的可寻址的基本单元,在用一个卷组中,LE的大小和PE是相同的,并且一一对应,也就是说,我们在卷组中叫它为PE,在逻辑卷中叫它为LE而已。

lvm流程:真实的物理设备 --> 格式化成 --> 物理卷PV(实际上底层物理卷被划分为一个一个的PE)–> 卷组VG --> 逻辑卷LV --> 逻辑卷格式化成文件系统 --> 挂载使用

创建好卷组之后,就会在/dev/目录下有一个/dev/vg名字/ 文件,当基于该卷组创建逻辑卷之后,该目录下就会有一个/dev/vg名字/lv名字/文件夹,这就是我们df -h时经常看到有一个/dev/cl/root 的原因,这是因为我们在安装centos是默认会把根分区做为lvm格式的文件系统,而实际上 /dev/cl/root 还只是一个软链接,链接到/dev/dm-0 这样的块文件。

注意:每一个逻辑卷里面的空间可能来之不同的物理硬盘,因为VG里可能来源于多个不同的硬盘组成的卷组,而逻辑卷只是从卷组中划为的一个逻辑区域,所以每一个逻辑卷里面的空间可能来之不同的物理硬盘,而这对于逻辑卷而言,是不用关心的。
当vg空间不足时,只需加硬盘然后扩充VG空间即可(即VG里增加了PE的数量),当LV空间不足,只需扩充LV即可,即从VG里添加PE到LV的空间。

问?LV能创建多大

LV能创建多大?VG有多大,LV就能有多大,也就是说LV的大小受限于VG的大小,VG有多大LV就能创建多大。

原理图


注:LV里的PE可以看成是LE,这里我是画错了。

LVM 逻辑卷管理(原理概念篇)相关推荐

  1. LVM逻辑卷管理基本概念及原理

    一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该 ...

  2. linux系统中的分区与挂载,以及使用LVM逻辑卷管理器管理物理卷,卷组,逻辑卷知识点总结

    物理设备的命名规则 在Linux系统中一切都是文件,硬件设备也不例外.既然是文件,就必须有文件名称.系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大 ...

  3. linux设置逻辑卷进不了图形界面,LVM逻辑卷管理器图形界面操作

    LVM逻辑卷管理器图形界面操作 LVM有关概念 LVM(Logical Volume Manager)即逻辑卷管理器,它最先是在Linux 2.4内核中被集成到内核中去的,它的出现改变了传统的磁盘空间 ...

  4. Android逻辑卷管理LVM,LINUX——LVM逻辑卷管理

    LVM: logical volumes manager LVM逻辑卷部署 物理卷->卷组->逻辑卷 第一步:关机添加磁盘:两个磁盘可以构成一个磁盘组. 第二步:查看磁盘 # ls /de ...

  5. RHEL磁盘阵列与LVM逻辑卷管理器

    磁盘阵列和逻辑管理器 本篇博客和各位聊聊关于linux系统中的相关磁盘阵列和逻辑管理器,都是涉及到硬件方面的操作.那我们为什么需要使用LVM以及配置RAID呢? 一般在公司中服务器需要保证数据的安全性 ...

  6. LVM逻辑卷管理测试——创建逻辑卷

    虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -lDisk /dev/ ...

  7. Linux中LVM(逻辑卷管理)的使用

    Linux 中我们使用fdisk命令划分好的分区就不能随意的改变,如果不够用的话不可能说把硬盘上的所有数据拷贝后再重新分区,这样可能会导致数据损坏.而在linux中LVM(逻辑卷管理)就可以实现动态的 ...

  8. Linux常用命令(八)LVM逻辑卷管理

    Linux常用命令(八)LVM逻辑卷管理 一.LVM概述     LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下 ...

  9. 文件系统,磁盘配额,数据存储,lvm 逻辑卷管理器

    文件系统 文件系统包括:ext2 ext3 (比ext2多一个日志)ext4                 iso9660(光盘文件系统)                 vfat  (相当于win ...

  10. Linux LVM逻辑卷管理及扩容(二)

    四.LVM扩展逻辑卷 我们当如何对lvm扩容呢,在vg组有空余的空间时,可以lvextend增加空间:在vg组无空间时,可以通过先增加pv,再lvextend实现扩容 点击(此处)折叠或打开 [roo ...

最新文章

  1. 使用VS Code新建编译Flutter项目
  2. Hibernate框架的配置
  3. python sqlite3加密_sqlite3加密 - kjpioo的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. .net framework 25007 error
  5. 前端JavaScripts基础知识点
  6. 专题导读:高性能计算虚拟数据空间
  7. 内置函数enumerate()使用
  8. C#3.0入门系列(八)-之GroupBy操作
  9. 注册reg.html是什么,reg命令如何修改注册表?reg命令作用介绍
  10. 香农编码、费诺编码、哈弗曼编码
  11. Establish(扩展ACL)
  12. php强类型作用,强类型php性能很彪悍
  13. 今日总结------技术是最不值钱的
  14. 在虚拟机VirtualBox上安装苹果Mac OS X系统
  15. 咏南ISAPI中间件
  16. 纸质合同扫描存档和电子合同签字盖章的区别
  17. uni-app 超好用的时间选择器组件(起止时间)
  18. Message的用法
  19. 腾讯视频开启硬件加速
  20. The file “XXX.app” couldn’t be opened because you don’t have permission to view it.

热门文章

  1. el vue 手机号_Vue+element-ui+axios实现登录注册接口(一)
  2. JS 数组reduce()方法详解及高级技巧
  3. Python pandas学习总结
  4. [CF888G] Xor-mst (Trie 树,最小生成树)
  5. Sentinel 哨兵 实现redis高可用
  6. javaMail简介(一)
  7. spark sql 对接 HDFS
  8. 解决 找不到方法:“Void System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)”。
  9. asp.net身份验证
  10. Lotus中Form与Document的区别