1、LVM逻辑卷的作用
许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足系统的需要。
LVM逻辑卷管理是一个多才多艺的硬盘系统工具;无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。
2、LVM逻辑卷中的名词
Physical Extend:物理拓展简称PE,逻辑卷管理的基本单位,默认大小是4M。
Physical Volume:物理卷简称PV,将一块磁盘或分区拆分为一个个PE,那么这块磁盘或分区就是PV。
Volume Group:卷组简称VG,一个空间池用来装PE;可以把一个或者多个PV加到VG当中,此时VG中就有了存储空间。
Logical Volume:逻辑卷简称LV,VG的空间不能够直接使用需要从VG中将空间提取出来,提取出来的空间就叫LV;LV的大小必须是PE的倍数。
3、逻辑卷管理命令
4、创建卷组
创建卷组思路:将创建好的物理卷组成卷组(或者直接创建卷组)
命令格式:vgcreate 卷组名 设备路径1 设备路径2...
#创建卷组
[root@localhost ~]# vgcreate systemvg /dev/sdb2 /dev/sdb3
#详细显示卷组信息
[root@localhost ~]# vgdisplay systemvg
--- Volume group ---
VG Name systemvg #卷组名字
System ID
Format lvm2 #卷组格式
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.99 GiB #卷组大小
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 0 / 0
Free PE / Size 5118 / 19.99 GiB
VG UUID KEP7XS-wrkI-rTUY-RqBa-UJA6-YRkK-iKDabR #卷组UUID
#简要显示卷组信息
[root@localhost ~]# vgs systemvg
VG #PV #LV #SN Attr VSize VFree
systemvg 2 0 0 wz--n- 19.99g 19.99g5、创建逻辑卷
创建逻辑卷思路:从创建好的卷组中创建逻辑卷
命令格式:lvcreate -L 大小 -n 逻辑卷名 卷组名
#创建逻辑卷
[root@localhost ~]# lvcreate -L 10G -n mylv systemvg
Logical volume "mylv" created.
#简要查看逻辑卷信息
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync
Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
mylv systemvg -wi-a----- 10.00g
[root@localhost ~]# lvs /dev/systemvg/mylv
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync
Convert
mylv systemvg -wi-a----- 10.00g
#查看卷组信息,卷组信息以变小
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
systemvg 2 1 0 wz--n- 19.99g 9.99g6、格式化文件系统
#格式化文件系统
[root@localhost ~]# mkfs.xfs /dev/systemvg/mylv
#查看文件系统类型
[root@localhost ~]# blkid /dev/systemvg/mylv
/dev/systemvg/mylv: UUID="7f08daf8-ae3c-40b2-a282-4514a6f37111" TYPE="xfs"
#挂载使用
[root@localhost ~]# mkdir /dbbak
[root@localhost ~]# mount /dev/systemvg/mylv /dbbak
[root@localhost ~]# df -hT
/dev/mapper/systemvg-mylv xfs 10G 33M 10G 1% /dbbak7、扩展逻辑卷
逻辑卷支线上扩容,逻辑卷的空间来源于卷组,当卷组有足够的空间时,才可以扩展逻辑卷
扩展命令:lvextend -L +{K,M,G} 逻辑卷路径
#扩容逻辑卷
[root@localhost ~]# lvextend -L +9G /dev/systemvg/mylv
#查看逻辑卷信息
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync
Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
mylv systemvg -wi-ao---- 19.00g #扩容成功8、扩展文件系统
当逻辑卷扩大以后,也需要对逻辑卷的文件系统进行扩展
扩展文件系统容量:
xfs_growfs #用于扩容XFS设备
resize2fs #用于扩容EXT3/EXT4设备(了解)resize2fs /dev/systemvg/xxoo
#扩展文件系统
[root@localhost ~]# xfs_growfs /dbbak
#[root@localhost ~]# df -hT
/dev/mapper/systemvg-mylv xfs 19G 33M 19G 1% /dbbak
#查看卷组信息
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
systemvg 2 1 0 wz--n- 19.99g 1016.00m9、扩展卷组
卷组的空间来源于物理分区,当卷组没有足够空间提供给逻辑卷时,须扩容卷组
扩展卷组命令:vgextend
[root@localhost ~]# vgextend systemvg /dev/sdb5 /dev/sdb6 /dev/sdb7 /dev/sdb8
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
systemvg 6 1 0 wz--n- <59.98g <40.98g
#扩容逻辑卷
[root@localhost ~]# lvextend -L +40G /dev/systemvg/mylv
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync
Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
mylv systemvg -wi-ao---- 59.00g
#扩展文件系统
[root@localhost ~]# xfs_growfs /dbbak
/dev/mapper/systemvg-mylv 59G 34M 59G 1% /dbbak10、删除逻辑卷
逻辑卷的删除不允许联机操作,需要先卸载,在执行删除 在执行删除操作时,首先删除LV逻辑卷,在删除VG卷组,最后删除PV物理卷 删除命令:lvremove
#删除逻辑卷错误示范
[root@localhost ~]# lvremove /dev/systemvg/mylv
Logical volume systemvg/mylv contains a filesystem in use. #提示文件正在使用中
#需要先卸载
[root@localhost ~]# umount /dblod/
#删除逻辑卷
[root@localhost ~]# lvremove /dev/systemvg/mylv
Do you really want to remove active logical volume systemvg/mylv? [y/n]: y
Logical volume "mylv" successfully removed
#删除卷组
[root@localhost ~]# vgremove systemvg
Volume group "systemvg" successfully removed
#删除物理卷后将恢复至普通分区
#查看物理卷
[root@thinkmo ~]# pvs
#删除物理卷
[root@thinkmo ~]# pvremove /dev/sdb2 /dev/sdb3 /dev/sdb5 /dev/sdb6 /dev/sdb6
/dev/sdb7 /dev/sdb811、逻辑卷的缩减
命令lvreduce
不允许联机缩减
先缩减文件系统的空间,在缩减逻辑卷的空间
评论区