LVM逻辑卷管理

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,可以将多个物理硬盘进行重新组织,划分成多个逻辑卷并可以动态改变卷大小(例如增加新的硬盘来扩展已有的逻辑卷)

lvm

LVM常用的命令

功能 PV管理 VG管理 LV管理
scan 扫描 pvscan vgscan lvscan
create 创建 pvcreate vgcreate lvcreate
display 显示 pvdisplay vgdisplay lvdisplay
remove 移除 pvremove vgremove lvremove
extend 扩展(增加) vgextend lvextend
reduce 减少 vgreduce lvreduce

PV对应物理卷

例如 PV1 <=> /dev/sda1

VG是卷组,由PV构成的集合,也是由LV构成的集合

在PV上可以划分LV,即逻辑卷

从新的硬盘创建一套LVM的步骤

创建物理卷

1
pvcreate  <后面可以是/dev/sdb这样的未分区整个盘也可以是/dev/sdb1这样的一个分区>

例如:pvcreate /dev/sda

创建卷组

1
vgcreate 卷组名 物理卷

例如:vgcreate vg_abc /dev/sda

扩展卷组

向卷组中增加物理卷

1
2
vgextend vg_abc /dev/sdb
vgextend vg_abc /dev/sdc

创建逻辑卷

从卷组vg_abc创建一个大小为1G的逻辑卷lv_data

1
lvcreate -L 1G vg_abc -n lv_data

从卷组vg_abc创建一个占卷组大小100%的逻辑卷lv_data

1
lvcreate -l 100%VG vg_abc -n lv_data

格式化逻辑卷

1
mke2fs -t ext4 -L "the ext4 on lvm" /dev/vg_abc/lv_data

删除逻辑卷

删除LV将空间还给VG

1
lvremove /dev/vg_abc/lv_data

设置系统启动时自动挂载逻辑卷

/etc/fstab中添加内容:

1
/dev/vg_abc/lv_data /data ext4 defaults 0 0

扩展使用中的逻辑卷的大小

如果使用新购置硬盘,按照前面的方式 创建物理卷扩展卷组,然后再扩展逻辑卷

增加固定大小

1
lvextend -L +10G /dev/mapper/vg_abc-lv_data

按卷组剩余空间百分比扩展

1
lvextend -l +40%FREE /dev/mapper/vg_abc-lv_data

按卷组的总空间百分比扩展

1
lvextend -l +40%VG /dev/mapper/vg_abc-lv_data

调整文件系统的大小使之等于逻辑卷大小

1
resize2fs /dev/mapper/vg_abc-lv_data