使用Linux好久了,一定会意识到一个问题,某个分区容量不够用了,想要扩容怎么办?这里就涉及到LVM逻辑卷的管理了,可以动态调整Linux分区容量。
LVM 概述#
全称Logical Volume Manager,可以动态调整磁盘容量,提高磁盘管理灵活性。
在安装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 ~]# pvscan
PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free]
PV /dev/sdb1 lvm2 [<20.00 GiB]
PV /dev/sdc1 lvm2 [<20.00 GiB]
Total: 3 [58.99 GiB] / in use: 1 [<19.00 GiB] / in no VG: 2 [<40.00 GiB]
pvcreate#
将分区或整个硬盘转换成物理卷
[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