LVM逻辑卷管理
简介:
LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
LVM最大的特点就是可以对磁盘进行动态管理。使用了LVM管理分区,动态的调整分区的大小,标准分区是做不到的!
LVM介绍
pv(Physical Volume) 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备
vg(Volume Group) 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。
一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
lv(Logical Volume) 逻辑卷
逻辑卷建立卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
scan 扫描
create 创建
display 显示
remove 删除
逻辑卷工作原理
创建LVM整体流程
①将物理磁盘设备初始化为物理卷
pvcreate /dev/sdb /dev/sdc
②创建卷组,并将PV加入卷组中
vgcreate linux_vg /dev/sdb /dev/sdc
③基于卷组创建逻辑卷
lvcreate -n hh_lv -L 10G linux_vg
④为创建好的逻辑卷格式化
mkfs.xfs /dev/linux/hh_lv
⑤将格式化好的逻辑卷进行挂载使用
#创建挂载目录
mkdir /data
#临时挂载
mount /dev/linux_vg/hh_lv /data
删除LVM整体流程
①删除LV
lvremove /dev/linux_vg/hh_lv
②删除VG
vgremove /dev/linux_vg
③删除物理卷
pvremove /dev/sdb
缩小一个逻辑卷(了解即可)
逻辑卷的缩小操作必须离线执行,要卸载逻辑卷
①卸载已经挂载的逻辑卷
umount /dev/linux_vg/hh_lv
②缩小文件系统
(会提示需要运行fsck检查文件系统)
resize2fs /dev/linux_vg/hh_lv 1G
③缩小LV
lvreduce -L -1G /dev/linux_vg/hh_lv
④查看缩小后的LV
lvdisplay
⑤挂载
mount /dev/linux_vg/hh_lv /data
缩小卷组
①将一个PV从制定卷组中移除
vgreduce linux_vg /dev/sdc
②查看缩小后的卷组大小
vgdisplay 方法1
vgs 方法2
vgscan 方法3
LVM进行建立和扩容
#GPT 创建分区
gdisk /dev/sdc
n
+10G (sdc1)
p 打印分区信息
w 保存并退出
y 正在写入磁盘分区表中
sdc 100G
-sdc1 10G
-sdc2 10G
-sdc3 10G
-sdc4 10G
-sdc5 10G
-sdc6 10G
1.创建卷组
创建卷组思路:将创建好的物理卷组成卷组(CentOS7系统直接创建卷组)
#命令格式
vgcreate 卷组名 设备路径1 设备路径2 .....
#创建卷组 取名
#sdc1、sdc2、sdc3组合一个卷组
vgcreate db_vg /dev/sdc1 /dev/sdc2 /dev/sdc3
#详细显示卷组信息
vgdisplay db_vg
#或者,简要显示卷组信息
vgs db_vg
2. 创建逻辑卷
创建逻辑卷思路: 从创建好的卷组中创建逻辑卷
#命令格式:
lvcreate -L 大小 -n 逻辑卷名 卷组名
#创建逻辑卷
lvcreate -L 20G -n mylv db_vg
#简要查看逻辑卷信息
lvs
#查看卷组信息,卷组信息以变小
vgs
3.格式化
#格式化
#卷组下 逻辑卷
mkfs.xfs /dev/db_vg/my_lv
#查看文件系统
lsblk -f /dev/db_vg/my_lv
4.挂载(临时挂载)
#创建挂载目录
mkdir /db_bak
#临时挂载到/db_bask
mount /dev/db_vg/m_lv /db_bak
5.自动挂载
#永久挂载
[root@admin ~]# vim /etc/fstab
/dev/db_vg/my_lv /db_bak xfs default 0 0
#检查挂载
#重新加载fstab文件中的内容
#相当于更新你刚刚修改fstab文件内容
mount -a
6.扩容逻辑卷
逻辑卷支持线上扩容,逻辑卷的空间来源于卷组,当卷组有足够的空间时,才可以扩展逻辑卷
#扩展命令:
lvextend -L +{K,M,G} 逻辑卷路径
#扩展逻辑卷
lvextend -L +10G /dev/db_vg/my_lv
#查看扩充后LV大小
lvs
刷新磁盘空间
#刷新挂载点目录 (方法1)
xfs_growfs /db_bak/
方法2: 更新文件系统
resize2fs /dev/db_vg/my_lv
#查看更新后文件系统
df -h
#磁盘大小发生变化
7.扩容卷组
卷组的空间来源于物理分区,当卷组没有足够空间提供给逻辑卷时,须扩容卷组
- 扩展卷组命令 vgextend
#扩容卷组名
#卷组名称 设备路径
vgextend db_vg /dev/sdc4 /dev/sdc5 /dev/sdc6
还有一种方法 {} 匹配
vgextend db_vg /dev/sdc{4..6}
#查看卷组信息
vgs
#扩容逻辑卷
lvextend -L +40G /dev/db_vg/my_lv
#显示逻辑卷信息
lvs
#刷新挂载点文件空间
xfs_growfs /db_bak/
删除
#首先卸载
umount /db_bak
#先删除逻辑卷(lvremove),然后删除卷组(vgremove)
lvremove /dev/db_vg/db_lv
#查看磁盘
df -h
#查看卷组信息还在
vgs
#删除卷组
vgremove db_vg
#再然后查看卷组
vgs
#强制覆盖 物理卷
mkfs.xfs -f /dev/sdc4
#删除pv 物理卷
pvremove /dev/sdc5