本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Linux磁盘管理 (二) ———— LVM
LVM理论
LVM,即Logical Volume Manager,逻辑卷管理器,是一种硬盘的虚拟化技术,可以允许用户的硬盘资源进行灵活的调整和动态管理。
LVM是Linux系统对于硬盘分区管理的一种机制,诞生是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对硬盘的强制性扩容和缩容理论上是可行的,但是却可能造成数据丢失。LVM技术是通过在硬盘分区和文件系统之间增加一个逻辑层,提供了一个抽象的卷组,就可以把多块硬盘设备、硬盘分区,甚至RAID整体进行卷则合并。并可以根据情况进行逻辑上的虚拟分割,这样一来,用户不用关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区设备的动态调整。
LVM的架构体系中,有三个很重要的概念:
PV,物理卷,即实际存在的硬盘、分区或者RAID
VG,卷组,是由多个物理卷组合形成的大的整体的卷组
LV,逻辑卷,是从卷组上分割出来的,可以使用使用的逻辑存储设备
LVM架构体系如下图所示:
LVM创建和管理命令
在部署LVM时,要依次配置PV物理卷、VG卷组和LV逻辑卷。
常用的LVM部署命令如下表所示:
| 功能/命令 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
|---|---|---|---|
| 扫描 | pvscan | vgscan | lvscan |
| 建立 | pvcreate | vgcreate | lvcreate |
| 显示 | pvdisplay | vgdisplay | lvdispaly |
| 删除 | pvremote | vgremote | lvremote |
| 扩展 | 物理卷不能扩展 | vgextend | lvextend |
| 缩小 | 物理卷不能缩小 | vgreduce | lvreduce |
PV、VG、LV的关系:
硬盘或分区做成pv,然后将pv或多个pv建立vg,vg上建立lv。然后再把lv挂载到目录上使用。
逻辑卷可以看成一个逻辑硬盘。逻辑卷屏蔽了底层的磁盘分区
增加VG空间通过添加硬盘来实现,增加LV空间通过减小VG来实现。
创建一个LV:
基本步骤:
添加三块大小为3GB的硬盘 :sdb、sdc、sdd
1、把硬盘分成一个主分区,并把分区标识改成 8e。
fisk /dev/sdb
n
<回车>
t
8e
w //保存,并退出
(其它硬盘同理)
2、建立物理卷(这步可以省略,直接做VG)
pvcreate /dev/sdb1
pvcreate /dev/sdc1
pvcreate /dev/sdd1
2、把分好区的硬盘组成卷组VG。(会自动把分区变成PV,VG名:vg1)
先装软件lvm软件
yum install -y lvm2
# vgcreate /dev/vg1 /dev/sdb1 /dev/sdc1 /dev/sdd1
# vgs //查看所有vg
3、 在vg上创建lv(名称为lv1,大小为1G的逻辑卷)
# lvcreate -n lv1 –L 1G /dev/vg1
# lvs
mkfs.ext4 /dev/vg1/lv1 //格式化lv1为ext4格式
4、挂载
mount /dev/vg1/lv1 /mnt/lv1
5、永久挂载(在/etc/fstab文件里添加一行信息)
/dev/vg1/lv1 /mnt/lv1 ext4 defaults 0 0
6、增大lv1的空间1GB:
用lvs查看lv1的大小
lvextend -L +1G /dev/vg1/ lv1
7、增加vg1空间,将硬盘sde的第一个逻辑分区扩容到vg空间
vgextend vg1 /dev/sde5
8、减少lv1的空间1G
Lvreduce -L -1G /dev/vg1/lv1
9、删除逻辑卷
lvremove /dev/vg1/lv1 //必须先取消挂载