一、lvm功能介绍
许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来。
LVM具备创建、增加、减少、删除、卸载
二、lvm基础概念
要想理解好LVM的原理,我们必须首先要掌握4个基本的逻辑卷概念。
①PE (Physical Extend) 物理拓展
②PV (Physical Volume) 物理卷
③VG (Volume Group) 卷组
④LV (Logical Volume) 逻辑卷
物理卷(PV):把常规的磁盘设备通过pvcreate命令对其进行初始化。形成了物理卷。
卷组(VG):把多个物理卷组成一个逻辑的整体,这样卷组的大小就可以是多个盘的和。
逻辑卷(LV):从卷组中划分需要的空间大小出来。用户仅需对其格式化然后即可挂载使用。
基本单元(PE):分配的逻辑大小的最小单元(默认PE4MB,假设分配100M逻辑空间,则需要创建25哥PE)
三、实践
操作流程:
1、创建物理卷,将普通磁盘转换为物理卷。
2、创建卷组,将物理卷加入到卷组中。
3、在卷组中划分逻辑卷,然后挂载使用。
1、准备物理磁盘
[root@backup YunWei]# lsblk |grep vdd
vdd 252:48 0 100G 0 disk
2、将磁盘转换为物理卷
1、将磁盘加入pv(物理卷)
[root@backup YunWei]# pvcreate /dev/vdd
Physical volume "/dev/vdd" successfully created2、检查pv创建情况
[root@backup YunWei]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdd lvm2 ---- 100.00g 100.00g
3、将物理卷加入卷组中
[root@backup ~]# vgcreate datavg1 /dev/vdd
Volume group "datavg1" successfully created
4、创建逻辑卷
[root@backup ~]# lvcreate -L 200M -n Lv1 datavg1
Logical volume "Lv1" created.[root@backup ~]# lvscan
ACTIVE '/dev/datavg1/Lv1' [200.00 MiB] inherit
5、 格式化分区并挂载使用
[root@backup ~]# mkfs.xfs /dev/datavg1/Lv1
[root@backup ~]# mkdir /Lv1
[root@backup ~]# mount /dev/datavg1/Lv1 /Lv1/
[root@backup ~]#
[root@backup ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 99G 9.3G 85G 10% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/mapper/datavg1-Lv1 196M 11M 186M 6% /Lv1
四、删除逻辑卷
1、卸载
[root@backup ~]# umount /Lv1
2、删除
[root@backup ~]# lvremove /dev/datavg1/Lv1
Do you really want to remove active logical volume Lv1? [y/n]: y
Logical volume "Lv1" successfully removed
3、查看
[root@backup ~]# lvscan
五、扩展逻辑卷
1、新建逻辑卷
[root@backup ~]# lvcreate -L 200M -n Lv1 datavg1
Logical volume "Lv1" created.[root@backup ~]# mkfs.xfs /dev/datavg1/Lv1
[root@backup ~]# mount /dev/datavg1/Lv1 /Lv1/
2、进行扩荣
[root@backup ~]# umount /dev/datavg1/Lv1
[root@backup ~]# lvextend -L +200M /dev/datavg1/Lv1
Size of logical volume datavg1/Lv1 changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
Logical volume Lv1 successfully resized.
3、进行查看
[root@backup ~]# lvdisplay
--- Logical volume ---
LV Path /dev/datavg1/Lv1
LV Name Lv1
VG Name datavg1
LV UUID nffbfE-oCy4-lUKr-Rneu-iScQ-UJ2T-fy2WjW
LV Write Access read/write
LV Creation host, time backup, 2021-02-19 10:47:11 +0800
LV Status available
# open 0
LV Size 400.00 MiB
Current LE 100
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
4、更新文件系统
[root@backup ~]# mount /dev/datavg1/Lv1 /Lv1/
[root@backup ~]# xfs_growfs /dev/datavg1/Lv1 #xfs如是ext文件系统 请使用:resize2fs /dev/datavg/lv1
[root@backup ~]# df -h
/dev/mapper/datavg1-Lv1 396M 11M 386M 3% /Lv1
六、扩容卷组
1、新硬盘加入pv(新建/dev/vdd加入到/dev/vdb1)
[root@backup YunWei]# pvcreate /dev/vdd
Physical volume "/dev/vdd" successfully created
2、进行扩容
[root@backup ~]# vgextend datavg /dev/vdd
Volume group "datavg" successfully extended
[root@backup ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 datavg lvm2 a--u 5.00t 0
/dev/vdd datavg lvm2 a--u 100.00g 100.00g
[root@backup ~]# vgs
VG #PV #LV #SN Attr VSize VFree
datavg 2 1 0 wz--n- 5.10t 100.00g
续:移除/dev/vdd组卷
1、查看组卷
[root@backup ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 datavg lvm2 a--u 5.00t 0
/dev/vdd datavg lvm2 a--u 100.00g 100.00g
2、 数据迁移,使用pvmove在线数据迁移,将/dev/vdd迁移到vdb1中
[root@backup ~]# pvmove /dev/vdd
/dev/v/dev/sdb: Moved: 100.00%
3、 数据检查是否迁移
[root@backup ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 datavg lvm2 a--u 5.00t 100.00g
/dev/vdd datavg lvm2 a--u 100.00g 0
4、从卷组中移除/dev/vdd磁盘
[root@backup ~]# vgreduce datavg /dev/vdd
Removed "/dev/vdd" from volume group "datavg"
[root@backup ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 datavg lvm2 a--u 5.00t 0
/dev/vdd lvm2 ---- 100.00g 100.00g
七、总结
PV
1、将磁盘加入pv
pvcreate /dev/sdb
2、查看pv
pvs
3、移除pv
pvremove /dev/sdb1
4、检查pv
pvdisplay
5、数据迁移
pvmove /dev/sdb
卷组
1、创建datavg的卷组
vgcreate datavg /dev/sdb1
2、查看卷组
vgs
3、 验证卷组
vgdisplay
4、删除卷组
vgremove volume-group1
5、扩容卷组
vgextend datavg /dev/sdc
6、移除磁盘
vgreduce datavg /dev/sdb
逻辑卷
1、创建逻辑卷
lvcreate -L 100M -n lv1 volume-group1
2、查看逻辑卷
lvscan
3、检查逻辑卷
lvdisplay
4、扩容
lvextend -L +800M /dev/datavg/lv1
5、删除逻辑卷
lvremove /dev/datavg/lv1
参考文章: https://www.linuxprobe.com/linux-lvm.html
有问题请加博主微信进行沟通!
全部评论