什么是LVM
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是硬盘的一个管理工具。
传统分区使用固定大小,重新调整大小十分麻烦,但是LVM可以创建和管理“逻辑”卷
而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小、操作简单,而不是损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。
为何要用LVM
我们在对磁盘大小进行分区的大小规划时,往往不能确定每个分区使用空间的大小,只能凭经验分配一个大小,而我们通常使用的fdisk,gdisk 等工具对磁盘分区后,每个分区大小就固定死了,这么做的问题是:
- 如果分区设置的过大,就白白浪费了磁盘空间;
- 如果分区设置的过小,就会导致空间不够用的情况。
对于分区过小的问题,我们可以重新规划磁盘分区,或者通过软链接的方式将此分区链接到另外一个分区。这样做只能临时解决问题,但是给管理带来了麻烦,这些问题都可以通过LVM解决
解析图中步骤:
- 先创建好物理卷(PV 一个或多个)
- 新建卷组(VG),比如PV为3个,分别大小为:1G、2G、3G,那么此时VG的空间大小为3个PV的总和,这时卷组(VG)相当于一个大磁盘
- 创建逻辑卷(LV)可以从VG中取大小
物理卷(PV, Physical Volume):把常规的磁盘设备通过pvcreate命令对其进行初始化,形成了物理卷,其实就是硬盘分区
卷组(VG, Volume Group):把多个物理卷组成一个逻辑的整体,这样卷组的大小就是多个硬盘之和
逻辑卷(LV, Logical Volume):从卷组中划分需要的空间大小出来。用户只需要对其格式化然后即可挂载使用。从VG中切割出的空间用于创建文件系统
基本单元(PE,Physical extend):分配的逻辑大小的最小单元,默认为4MB的基本块(假设分配100MB逻辑空间,则需要25个PE)
1、LVML的基本使用
yum install lvm2 -y (安装LVM使用命令)
实验环境需要多块磁盘:
这里sda为系统盘
sdb、sdc、sdd为刚创建的硬盘(新建硬盘的顺序是,sda-z)其中sdb分了3个区
这里也可以对sdc、sdd进行分区,如果没有分配的话,默认一整块盘为一个分区
(分区参考:https://blog.csdn.net/m0_46958731/article/details/109534595)
1、制作pv:可以分区做、也可以整块盘做(注意:一定要没有做过文件系统的分区)
[root@localhost ~]# pvcreate /dev/sdb1 -y 创建pv
Wiping xfs signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdb2 -y
Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvcreate /dev/sdb3 -y
Physical volume "/dev/sdb3" successfully created.
[root@localhost ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
[root@localhost ~]# pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created.
[root@localhost ~]# pvs # 创建的pv
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 3.00g 3.00g
/dev/sdb2 lvm2 --- 3.00g 3.00g
/dev/sdb3 lvm2 --- 3.00g 3.00g
/dev/sdc lvm2 --- 20.00g 20.00g
/dev/sdd lvm2 --- 20.00g 20.00g
[root@localhost ~]# pvscan # 查询pv详情
PV /dev/sdb1 lvm2 [3.00 GiB]
PV /dev/sdb3 lvm2 [3.00 GiB]
PV /dev/sdc lvm2 [20.00 GiB]
PV /dev/sdd lvm2 [20.00 GiB]
PV /dev/sdb2 lvm2