一些概念
- 物理卷(Physical Volume, PV)
物理卷是LVM的最底层概念,是LVM的逻辑存储块,物理卷与磁盘分区是逻辑的对应关系。LVM提供了命令工具可以将分区转换为物理卷,通过组合物理卷生成卷组。
- 卷组( Volume Group,VG)
卷组是LVM逻辑概念上的磁盘设备,通过将单个或多个物理卷组合后生成卷组。卷组的大小取决于物理卷的容量及个数。在Centos7系统中,对容量与个数没有限制。
- 物理卷长度(Physical Extent,PE)
物理卷长度是将物理卷组合为卷组后,所划分的最小存储单位,即逻辑意义上磁盘的最小存储单元。LVM默认物理卷长度为4MB。
- 逻辑卷(Logical Volume, LV)
逻辑卷就是LVM逻辑意义上的分区,我们可以指定从卷组中提取多少容量来创建逻辑卷,最后对逻辑卷格式化并挂载使用。
创建新的LVM步骤
0、安装PV管理工具
yum install lvm*
## 检查
rpm -qa |grep lvm
1、创建物理卷PV
我现在有三块物理硬盘,先使用前两块硬盘来创建,后面演示新增硬盘的扩容。
pvcreate /dev/vdb /dev/vdc
### 相关指令 ###
# pvs/pvscan 查看系统里有pv的磁盘
# pvremove 删除pv
2、创建卷组VG
vgcreate vgdata /dev/vdb /dev/vdc
### 相关指令 ###
# vgcreate [-s xM] vgName /dev/sd …… 新建vg,-s后面接pe的大小(可选),单位是M,G,可以放多块pv
# vgextend 扩展vg,就是增加pv
# vgs/vgscan 查看系统里有vg的磁盘
# vgdisplay 显示系统上面的vg状态
# vgremove 删除vg
# vgreduce 在vg里删除pv
3、创建逻辑卷LV
lvcreate -l +100%FREE -n lvdata vgdata
# -l 后面意思是使用全部的剩余空间
# -n 后面跟的是LV的名字 再后面跟的是VG的组的名字
### 相关指令 ###
# lvcreate -l pe num /-L size -n lvname vgName 新建lv,-l指定pe的个数,-L指定容量,M,G
# lvextend 增加容量
# lvs/lvscan 查看系统里有lv的磁盘
# lvdisplay 显示系统上面的lv状态
# lvremove 删除lv
# lvreduce 在lv里减少容量
4、格式化并挂载
fdisk -l
# 示例输出
# 磁盘 /dev/mapper/vgdata-lvdata:214.7 GB, 214739976192 字节,419414016 个扇区
mkfs.ext4 /dev/mapper/vgdata-lvdata
mount /dev/mapper/vgdata-lvdata /data
LVM的在线扩展步骤
下面展示VG空间不够,需先扩展VG,扩展VG就是往VG中加PV。
我之前有3块硬盘,现在只使用了两块,并且在创建LVM的时候使用了全部的这两块的容量。现在还有一块/dev/vdd
# 将新的硬盘加入PV
pvcreate /dev/vdd
# 查看现有VG
vgs
# 扩容现有的VG - 完成后可以再次执行vgs查看现有vg的容量
vgextend vgdata /dev/vdd
# 执行vgdisplay可以看到
# 扩展现有lv - 可以先执行lvs查看现有lv名称
lvextend -l +100%FREE /dev/mapper/vgdata-lvdata
# 扩展现有LVM的容量 - ext4
resize2fs /dev/mapper/vgdata-lvdata
# 扩展现有LVM的容量 - xfs
xfs_growfs /dev/mapper/vgdata-lvdata