LVM:Logical Volume Manager,逻辑卷管理器。
重点:可以弹性的调整文件系统的容量,而不在于性能和数据安全上面,因此如果强调性能和备份,那么直接使用raid即可,不需要用到LVM。

LVM可以整合多个物理分区,让这些分区看起来就像是一个磁盘一样;而且,未来还可以在这个LVM管理的磁盘当中新增或者删除其他的物理分区。因此它的重点在于“可以弹性地调整文件系统的容量

LVM各组件

LVM各组件的实现流程如上图,详细的组件介绍如下。

 物理卷(physical volume,PV,最底层的物理卷)

实际的分区需要调整系分区类型为8e00(使用gdisk分区工具,其实分区类型不设置成8e也没关系,不过某些LVM的检测命令可能会检测不到该分区),然后再经过pvcreate命令将它转化成LVM最底层的物理卷,之后才能使用这些pv。

卷组(volume group,VG)

LVM大磁盘就是将许多PV整合成VG,所以VG就是LVM组合起来的大磁盘。

物理扩展快(physical extent,PE)

PE是整个LVM最小的存储数据单位,即文件数据都是借由写入PE来完成的。简单的来说,这个PE有点像文件系统的block大小。因此调整PE会影响到LVM的最大容量。如果是32位的linux系统,LVM的逻辑卷LV最多65534个PE(lvm1的格式),因此默认的LVM,即使用4MB的PE数据块,最大的LV会有4MB*65534/(1024M/G)=256GB;但是在Centos 6.X之后,由于linux系统转为64位,并且PE使用了lvm2的各项格式功能,LV几乎没有啥容量限制了。

逻辑卷(logical volume,LV )

最终的卷组VG还会被切成逻辑卷LV,LV就是最后可以被格式化使用的东西了(类似分区)。逻辑卷LV的大小与LV内的物理扩展快PE数量有关,逻辑卷LV的设备文件名格式通常为【/dev/vgname/lvname】


如上图,VG内的PE会分给虚线部分的LV,如果未来这个卷组VG要扩充,加上其他的物理卷PV即可;如果逻辑卷LV要扩充的,加上卷组VG内没有使用的PE来扩充。在LV中,不再称为PE而是称为LE;PE是物理存储单元,LV是逻辑存储单元,即LV中的存储单元LE和PE的大小是一样的。

LVM可以弹性的调整文件系统的容量的实质:通过【交换PE】来进行数据转换,将原本LV内的PE转移到其他设备中来降低LV容量,或将其他设备的PE加入到此LV中以加大容量。

实践流程

根据上图流程爱进行实验如下

物理parition阶段

根据磁盘分区表类型使用gdisk/fdisk工具,对磁盘分区并且类型设置为【8e00】,
磁盘状态如下:
sdb为1G的磁盘,划分了sdb1-3分区,1-2分区是用到的分区,3先保留下来不使用;sdc为2G的磁盘,全部划分为分区sdc1,并且使用;sdd为3G的磁盘,暂不进行分区使用。


PV阶段

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


因为分区sdb1的大小为1MB,然而系统默认的PV最小值为2MB,因此不能创建,可以修改默认值(建议不修改)。目前从上面来看,我们已经创建了2个物理卷PV。

pvdisplay可以列出系统里面的所有PV磁盘,也可以pvdisplay /dev/sdb2只列出单个PV的详细信息。由于PE是在建立卷组VG时才设置的参数,因此看到新的PV详细信息里面的PE都会是0,且没有多余的PE可供分配。

VG阶段

建立卷组VG和VG相关的命令也不少,如下
vgcreate:主要建立VG的命令,VG名称自定义
"""
格式:vgcreate [-s N[UNIT]] VG名称 PV名称  其中-s选项后面接PE的大小N,单位UNIT可以为b|B是字节,s|S是512字节的扇区,k|K是KiB,m|M是MiB,g|G是GiB,t|T是TiB,P|p是PiB,e|E是EiB,默认设置的大小和系统的VG中PE大小一致,例如我的本机是4MB。
"""
vgscan:查找系统上面所有的VG
vgdisplay:显示系统上所有的VG详细状态
vgextend:在VG内增加额外的PV
vgreduce:在VG内删除PV
vgchange:设置VG是否启动(active)
vgremove:删除一个VG

建立时与物理卷PV不同的是,卷组VG的名称是自定义的。PV的名称就是分区设备的文件名,但是VG名称可以随便自己取。

LV阶段

创造出卷组VG大磁盘之后,就需要建立分区逻辑卷LV,LV相关的命令如下:
lvcreate:建立LV
"""
格式:
lvcreate [-L N[UNIT]] [-n LV名称] VG名称
lvcreate [-l N] [-n LV名称] VG名称
-L选项后接容量,单位是UNIT(同pvcreate中的UNIT),但是要注意的是最小的单位为PE,因此这个数量必须是PE的倍数,若不相符,系统会自动计算最相近的容量
-l(小写)选项后面接的是PE的【个数】
-n 后面接的就是LV的名称,默认名称以本人的为例lvol[0-128],建议自己取名字
"""
lvscan:查询系统上所有的LV
lvdisplay:显示系统上所有的LV详细信息,或者显示某一LV(全名)的详细信息
lvextend:在LV里面增加容量,即将所在VG的空闲PE加进去
lvreduce:在LV里面减少容量,即将LV空闲的PE放回VG中去
lvremove:删除一个LV
lvresize:对LV进行容量大小的调整,是lvextend和lvreduce的综合命令
lvrename:重命名LV
"""
格式:
lvresize [-L  [+|-]Size[UNIT]]  LV的全名
lvresize [-l  [+|-]Number[PERCENT]]  LV的全名
-L后面接增减符号和容量,单位是UNIT,例如k,m,g,t,p等和pvcreate里的单位一样
-l后面接增减符号和数字百分比,单位是%

LV的名字需要使用全名,但是PV的名字不要求使用全名也有效。

文件系统阶段

该部分可参考之前的文章linux文件系统

1.格式化分区mkfs命令或者mke2fs命令
mkfs.xfs /dev/jupyvg/jupylv  # 注意是逻辑卷LV的全名
2.挂载,如果需要开机挂在之类的请参考上面提到的文章
mkdir /srv/jupy # 建立挂载点
mount /dev/jupyvg/jupylv /srv/jupy

放大文件系统容量的实践

如果要放大文件系统的容量,大致需要以下三步骤。

1.VG阶段需要有剩余的容量
因为要放大文件系统,所以需要放大LV,但是若没有多的VG容量,那么更上层的LV与文件系统就无法放大。一般来说,如果VG容量不满足,最简单的方法就是再加硬盘,然后pvcreate、vgextend来增大VG的容量。

2.LV阶段产生更多的可用容量
如果VG的剩余容量足够,就可以利用lvresize命令来将剩余容量加入到所需要的LV设备内。

3.文件系统阶段的放大
linux实际使用的其实不是LV,而是LV格式化后挂载的文件系统,即最终的一切要以文件系统为依存。目前在Linux系统下可以放大的文件系统有xfs和ext系列,但是缩小仅有ext系列。xfs文件系统放大通过xfs_growfs命令。

ext4文件系统扩容

1.如果需要更改文件系统为ext4格式,需要先卸载挂载点,然后更改,再挂载回去

2.如果VG阶段的剩余容量即Free的PE数量够
例如,我们需要扩容1GB,vgdisplay查看所在的卷组VG的剩余容量为1.42GB左右,那么我们直接扩容LV(使用lvextend或者lvresize都可以),扩容之后

lsblk显示增加后的总空间,但是df -h显示的还是原来的空间,还需要运行以下命令

resize2fs -p -F /dev/mapper/ubuntu--vg-ubuntu--lv
最后面的设备名字是df -h的filesystem的名字

内容待完成

收缩文件系统容量的实践

如果要缩小文件系统容量,步骤如下。

内容待完成

逻辑卷管理器:PV、PE、VG、LV相关推荐

  1. Linux如何查看LV的容量情况,LVM 逻辑卷管理器-增大LV容量

    LVM 逻辑卷管理器-增大LV的容量 步骤: (1)新增一个8e systemID的分区: (2)用pvcreate命令构建PV: (3)用vgextend命令将PV加入vg_1: (4)用lvres ...

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

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

  3. Linux就该这么学---第七章(LVM逻辑卷管理器)

    第七章节-LVM技术 逻辑卷管理器(LVM,Logical Volume Manager) 1.物理卷(PV,physical Volumn) 2.卷组(VG,Volume Group) 3.逻辑卷( ...

  4. linux添加物理卷编辑文件夹,Red hat Linux下的逻辑卷管理器LVM-上

    [IT168 专稿]Red hat 下的LVM 上 LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力.LVM可以帮助系统管理员为应用 ...

  5. 什么是逻辑卷管理器lvm?lvm设备的管理

    lvm逻辑卷管理 基础概念 lvm设备的建立 xfs文件系统下的lvm扩容(不支持缩容) 1. 当vg中的容量充足,lv的不够了 2. 当vg中的容量不足时,添加pv EXT4文件系统下的lvm扩容和 ...

  6. Linux 逻辑卷管理器(LVM)

    为什么要使用逻辑卷? 逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,为了解决硬盘设备在创建分区后不易修改分区大小的缺陷.尽管对传统的硬盘分区进行强制扩容或缩容从理论上讲是可行的.但是却 ...

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

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

  8. LVM(logical volume manager) 逻辑卷管理器

    LVM(logical volume manager) 逻辑卷管理器 其中主要分为这几个概念 1物理卷-简称PV 物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可 ...

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

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

最新文章

  1. ubuntu共享无线链接
  2. 中国速度之二神山建设(4):全能运维,召之即来,来之即战 | IDCF DevOps案例研究...
  3. jboss junit_使用junit-drools进行JBoss Drools单元测试
  4. python中的编码问题 1
  5. ant编译mysql驱动
  6. Hutool工具集之DateUtil(日期时间工具)详解使用
  7. ToLua(LuaFramework) -ToLua框架使用指南
  8. Git 常用术语 WIP PTAL CC LGTM 解释
  9. 江在川上曰:vue-Router学习笔记
  10. python爬虫爬取深交所数据
  11. DELL安装不了mysql_dell电脑win10怎么安装mysql
  12. 2021年十大数据分析工具排行榜出炉
  13. 贴片电阻封装经验选择学习研究总结
  14. Python利用SMTP/IMTP制作简单邮件(QQ邮箱)发送程序(保姆级)
  15. 【图像超分辨率】Accurate Image Super-Resolution Using Very Deep Convolutional Networks
  16. 人脸检测——mAP的含义
  17. copy和deepcopy
  18. 【干货】认知智能时代:知识图谱实践案例集.pdf(附下载链接)
  19. 红蓝对抗之常见网络安全事件研判、了解网络安全设备、Webshell入侵检测
  20. MMC、SD等存储卡的区别总结

热门文章

  1. 12年外贸外贸经验交流总结分享(上)
  2. 互联网社会化之关系链(转载)
  3. Nginx 在windows下注册系统服务
  4. ios 国际化设置及默认语言设置
  5. python使用turtle画彩虹_Python利用turtle库绘制彩虹
  6. xstream 反序列化漏洞研究与修复
  7. 书论46 米芾《书史》
  8. ACM Uva10391复合词
  9. 数据库常用的三个存储引擎
  10. NSTimer使用注意总结