使用Linux好久了,一定会意识到一个问题,某个分区容量不够用了,想要扩容怎么办?这里就涉及到LVM逻辑卷的管理了,可以动态调整Linux分区容量。
LVM 概述#全称Logical Volume Manager,可以动态调整磁盘容量,提高磁盘管理灵活性。
在安装CentOS 7的过程中选择自动分区时,默认就是以LVM的方案安装的系统。
但是/boot分区必须独立出来,不能基于LVM创建。
PV 物理卷#物理卷,Physical Volume,是LVM机制的基本存储设备,通常对应一个普通分区或是整个硬盘。
创建物理卷时,会在分区或磁盘头部创建一个用于记录LVM属性的保留区块,并把存储空间分割成默认大小为4MB的基本单元(Physical Extend,PE),从而构成物理卷。
普通分区先转换分区类型为8e;整块硬盘,可以将所有的空间划分为一个主分区再做调整。
VG 卷组#卷组,Volume Group,是由一个或多个物理卷组成的一个整体。可以动态添加、移除物理卷,创建时可以指定PE大小。
LV 逻辑卷#逻辑卷,Logical Volume,建立在卷组之上,与物理卷没有直接关系。格式化后,即可挂载使用。
三者关系#通过以上对三者的解释可以看出,建立LVM的过程。首先,将普通分区或整个硬盘创建为物理卷;然后,将一个或多个物理卷创建为卷组;最后,在卷组上分割不同的数据存储空间形成逻辑卷。有了逻辑卷,就可以格式化、挂载使用了。
LVM 管理# LVM 常用命令# 功能PV 管理命令VG 管理命令LV 管理命令Scan(扫描) pvscan vgscan lvscan
Create(建立) pvcreate vgcreate lvcreate
Display(显示) pvdisplay vgdisplay lvdisplay
Remove(移除) pvremove vgremove lvremove
Extend(扩展) / vgextend lvextend
Reduce(减少) / vgreduce lvreduce
PV 管理# pvsacn#
扫描列出系统中所有的物理卷
-e:仅显示属于输出卷组的物理卷
-n:仅显示不属于任何卷组的物理卷
将分区或整个硬盘转换成物理卷
[root@localhost ~]# pvcreate /dev/sd{b,c}1 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created. pvdisplay#显示物理卷的详细信息
[root@localhost ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name centos PV Size <19.00 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 4863 Free PE 0 Allocated PE 4863 PV UUID E4eovQ-CgPo-OSDK-75MO-BfD8-pGsP-BUlqip "/dev/sdb1" is a new physical volume of "<20.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size <20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID gR5mm3-f50o-XLTq-34GY-n6Iz-WXkQ-uMZAkJ "/dev/sdc1" is a new physical volume of "<20.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc1 VG Name PV Size <20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID O2gKxa-ONts-kyXK-zZrO-3dDg-FhtI-V6GPy9 pvremove#删除指定的物理卷,还原成普通分区或磁盘
TIPS:只有不属于卷组的物理卷才可以删除还原。
[root@localhost ~]# pvremove /dev/sdd1 Labels on physical volume "/dev/sdd1" successfully wiped. VG 管理# vgscan#扫描系统中已建立的LVM卷组
[root@localhost ~]# vgscan Reading volume groups from cache. Found volume group "class" using metadata type lvm2 Found volume group "centos" using metadata type lvm2 vgcreate#将一个或多个物理卷创建为一个卷组
-l:卷组上允许创建的最大逻辑卷数
-p:卷组中允许添加的最大物理卷数
-s:卷组上的物理卷的PE大小