一、 LVM 概念

LVM(Logical Volume Manager)可以让分区变得弹性,可以随时随地的扩大和缩小分区大小,前提是该分区是LVM格式的。

lvm 需要使用的软件包为 lvm2,一般在 各个 Linux 发行版中都已经预安装了。

原文链接 《旻天:<Linux> LVM 原理及应用》:https://zhuanlan.zhihu.com/p/164723576

PV(Physical Volume,物理卷)

硬盘分区后(还未格式化为文件系统)使用 pvcreate 命令可以将分区创建为pv。

VG(Volume Group,卷组)

将多个 PV 组合起来,使用 vgcreate 命令创建成卷组,相当于重新整合了多个分区后得到的一块虚拟的大磁盘。
虽然VG是整合多个PV的,但是创建VG时会将VG所有的空间根据指定的PE大小划分为多个PE,在LVM模式下的存储都以PE为单元,类似于文件系统的Block。

PE(Physical Extend,物理扩展)

PE是VG中的存储单元。实际存储的数据都是存储在这里面的,但实际还是存在了磁盘的 Block 中。

LV(Logical Volume,逻辑卷)

VG 相当于整合过的硬盘,那么LV就相当于分区,只不过该分区是通过VG来划分的。VG中有很多PE单元,可以指定将多少个PE划分给一个LV,也可以直接指定大小(如多少兆)来划分。划分为LV之后就相当于划分了分区,只需再对LV进行格式化即可变成普通的文件系统。

LE(Logical Extent,逻辑扩展)

PE是物理存储单元,而LE则是逻辑存储单元,也即为lv中的逻辑存储单元,和pe的大小是一样的。从vg中划分lv,实际上是从vg中划分vg中的pe,只不过划分lv后它不再称为pe,而是成为le。

LVM之所以能够伸缩容量,其实现的方法就是将LV里空闲的PE移出,或向LV中添加空闲的PE。

总结

通俗地讲,非LVM管理的分区步骤是将硬盘分区,然后将分区格式化为文件系统,并挂载到某处。
而使用LVM,则是在硬盘分区为特定的LVM标识符的分区后将其转变为LVM可管理的PV,其实PV仍然类似于分区,然后将几个PV整合为类似于磁盘的VG,最后划分VG为LV,此时LV就成了LVM可管理的分区,只需再对其格式化即可成为文件系统。

>问<:PV、VG、PE、LV、LE的概念?<问>

>答<

  1. PV(Physical Volume,物理卷)
  2. VG(Volume Group,卷组)
  3. PE(Physical Extend,物理扩展)
  4. LV(Logical Volume,逻辑卷)
  5. LE(Logical Extent,逻辑扩展)

<答>

各概念图解:

二、(常用)多磁盘时的扩展一个挂载点

2.1. 磁盘相关

  1. 列出物理磁盘和分区
$ fdisk -l
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
.....
Disk /dev/sdb1: 447.1 GiB, 480113590272 bytes, 937721856 sectors
....

2.2. PV相关

  1. 创建 PV(可同时创建多个 PV)
$ pvcreate /dev/sda1 [/dev/sdb1]
Physical volume "/dev/sda1" successfully created
[Physical volume "/dev/sdb1" successfully created]

  1. 列出全部 PV
$ pvs
PV         VG   Fmt  Attr PSize  PFree
/dev/sda1  -    lvm2 a--  59.99g  7.99g
/dev/sdb1  -    lvm2 a--  59.99g  7.99g

2.3. VG相关

  1. 创建 VG
$ vgcreate vgname /dev/sda1 [/dev/sdb1]
Volume group "vgname" successfully created

  1. 列出全部 VG
$ vgs
VG      #PV #LV #SN  Attr   VSize  VFree
vgname   1   0   0   wz--n- 20.00g 20.00g

  1. 如果需要扩展 VG 加入新增的 PV
$ vgextend vgname /dev/sdb1

再次查看 VG 可以看到变化

$ vgs
VG      #PV #LV #SN  Attr   VSize  VFree
vgname   2   0   0   wz--n- 20.00g 20.00g

  1. 如果需要拿出磁盘或缩减 VG
$ pvmove /dev/sdb1
$ vgreduce vgname /dev/sdb1

2.4. LV相关

  1. 创建 LV
$ lvcreate -L 10G -n lvname vgname
Logical volume "lvname" created

  1. 格式化 LV 并挂载
$ mkfs -t ext4 /dev/mapper/lvname
$ mount /dev/mapper/lvname /lvname

  1. 扩展 LV(等于在扩展挂载点)
$ lvextend -L +3G /dev/mapper/lvname
$ resize2fs /dev/myvg/mylv
$ e2fsck /dev/myvg/mylv

原有磁盘上创建lvm_lt;Linuxgt; LVM 原理及应用相关推荐

  1. 原有磁盘上创建lvm_Centos7创建LVM磁盘管理

    点击▲关注 "Devops社群"   给公众号标星置顶 更多精彩 第一时间直达 转载请注明出处,谢谢. 环境介绍 在centos7下需要挂载两个新的磁盘.为了方便后续的扩容方便,决 ...

  2. 原有磁盘上创建lvm_Linux 系统管理及服务配置实战-第12章 磁盘管理3(连载)

    存储管理Ⅱ 1.逻辑卷LVM 1.1.LVM管理 在线扩容 online 数据迁移 online 创建LVM VG扩展/缩小 LV扩容 文件系统扩容 基本分区(MBR|GPT) ----> Fi ...

  3. 是否可以在网络共享磁盘上创建数据库?

    在网上看到有人遇到数据库空间不够用,问是否可以创建数据库到网络共享磁盘? 答案是可以的.但是这种做法是不推荐的,性能可能会受到影响. 1. 2005/2008 在网络共享磁盘上创建数据库 在2005和 ...

  4. 在GPT分区的磁盘上创建ESP分区图文教程

    怎么在GPT分区的磁盘上创建ESP分区?当电脑出现引导丢失并且黑屏进不去系统的时候,根据黑屏相关提示是因为ESP引导分区丢失造成的,这时我们需要在GPT分区的磁盘上新建个ESP分区才是正解,今天快启动 ...

  5. php生成临时文件,使用PHP处理内存中的存档(无需在磁盘上创建临时文件)

    小编典典 我遇到了同样的问题,但最终找到了一个不太明显的解决方案,决定在这里分享. 我遇到了很棒的zip.lib.php/ unzip.lib.php脚本,它们phpmyadmin都位于"库 ...

  6. 《kafka问答100例 -2》 创建Topic的时候 什么时候在Broker磁盘上创建的日志文件

  7. linux磁盘管理命令 lv,Linux磁盘管理--LVM原理及基本操作

    LVM(Logical Volume Manager)逻辑卷管理是Linux磁盘管理中的常用操作, 本文主要描述LVM的基本原理以及对LVM的扩展和缩减的基本操作. LVM实质是过软件方式将多个物理分 ...

  8. 在Windows Server 2008上创建 简单卷

    简单卷 一个简单卷就是驻留在一个动态磁盘上的单一的卷.简单卷是物理磁盘的一部分,但它工作时就好像是物理上的一个独立单元.我们可以从动态磁盘的未分配空间来创建简单卷,但当只有一个动态磁盘时,简单卷是我们 ...

  9. 在磁盘上给文件快速预留一大片空间

    比如迅雷下载,下载开始之前会在磁盘上创建一个与下载文件同样大小的空白的原始文件,然后下载过程中去改写这个文件.如果在生成这个空白的原始文件时,反复调用的WriteFile来写入文件.当文件较大时,无法 ...

最新文章

  1. [Voice Tips 2] IPHONE
  2. 客户说有了PAI-AutoML,一下子可以节约半年开发周期
  3. 架构师一般做到多少岁_软件测试可以做到多大岁数?
  4. debug内exe文件复制到桌面无法打开_Diffinity.轻量级的文件|文本对比工具
  5. 字符三角形(信息学奥赛一本通-T1004)
  6. linux 日志 \var\log
  7. netty 入门(一)
  8. 拖动无边框窗体(VB6代码)
  9. 移劢开发者解决方案研究报告——中国开发者生存状况调查
  10. 中流科技联手RedHat建立开放SOA解决方案中心
  11. 计算机网络 自顶向下方法 第四章 网络层
  12. 操作系统原理、实现与实践课后习题参考答案(已完结)
  13. ERP系统成本计算方法大揭秘?
  14. 外贸常用术语_外贸常用句子
  15. 小柯:人生最不值得你去触碰的30件傻事
  16. linux crontab修改不生效,crontab 内容修改不生效
  17. java 默认打印机_JavaScript代码 设置默认打印机!
  18. 执行引擎的工作过程、Java代码编译和执行的过程、解释器、JIT编译器
  19. 大众点评热门餐厅抓取与数据分析
  20. ansys显示没有提供服务器,ansys 15.0安装在服务器上,运行时出现问题,求大神帮助! - 第 2 页 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...

热门文章

  1. KubeSphere配置应用路由
  2. VsCode配置Python项目的setting.json和launch.json两个配置文件
  3. matlab从哪里学,从零开始学MATLAB(附光盘)/从零开始学系列
  4. 【数据结构与算法】算法的时间复杂度
  5. log4j使用方法--视频地址: http://www.letv.com/ptv/pplay/11475
  6. ftp ---- 本地用户登录(实例配置1:)
  7. u8 api开发报类型不匹配错误_小程序云开发入门学习,小程序支付功能常见错误汇总及解决方案...
  8. Java操作某方法时报错:java.lang.NoSuchMethodError
  9. JS将Date加八小时
  10. Android开发笔记(一百二十五)自定义视频播放器