在Linux系统中,逻辑卷管理(LVM)是一种灵活的磁盘管理方案,它允许用户更高效地管理存储资源,动态调整分区大小,实现快照、卷迁移等高级功能,本文将详细介绍在Linux系统中创建LVM的完整流程,包括物理卷、卷组和逻辑卷的创建与管理,以及相关注意事项。

LVM基本概念
LVM通过将物理硬盘抽象为物理卷(PV),将多个物理卷组合成卷组(VG),再从卷组中划分逻辑卷(LV),从而实现存储资源的动态管理,物理卷可以是磁盘分区、整块磁盘或软件RAID设备;卷组是物理卷的集合,相当于一个存储池;逻辑卷则是从卷组中划分出的逻辑分区,可直接格式化并挂载使用,这种分层结构提供了极高的灵活性,用户无需重新分区即可调整逻辑卷大小,甚至可以在运行时进行操作。
环境准备
在创建LVM前,需确保系统中有可用于创建LVM的存储设备,这些设备可以是未分区的磁盘(如/dev/sdb、/dev/sdc),或磁盘中的空闲分区(如/dev/sdb1),使用fdisk -l或lsblk命令查看当前系统中的磁盘及分区情况,确认目标设备的状态,若使用整块磁盘,需注意数据备份,因为操作会清除磁盘所有数据;若使用分区,需确保分区类型为Linux LVM(在fdisk中通过t命令修改分区ID为8e)。
创建物理卷(PV)
物理卷是LVM的基本存储单元,使用pvcreate命令可将物理设备初始化为物理卷,对磁盘/dev/sdb执行以下命令:
sudo pvcreate /dev/sdb
若需验证物理卷是否创建成功,可使用pvdisplay或pvs命令查看物理卷信息,包括UUID、大小、PE大小等参数。
sudo pvdisplay /dev/sdb
创建卷组(VG)
卷组由一个或多个物理卷组成,相当于一个统一的存储池,使用vgcreate命令创建卷组时,需指定卷组名称和包含的物理卷,将物理卷/dev/sdb创建为名为vg_data的卷组,PE大小默认为4MB:
sudo vgcreate vg_data /dev/sdb
若需自定义PE大小(如8MB),可添加-s参数:
sudo vgcreate -s 8M vg_data /dev/sdb
使用vgdisplay或vgs命令可查看卷组信息,包括总大小、PE数量、已用/空闲PE等。

sudo vgdisplay vg_data
创建逻辑卷(LV)
逻辑卷是从卷组中划分出的逻辑分区,可直接格式化并挂载使用,使用lvcreate命令创建逻辑卷时,需指定逻辑卷名称、大小及所属卷组,从vg_data卷组中创建一个大小为10GB的逻辑卷lv_home:
sudo lvcreate -L 10G -n lv_home vg_data
若需使用卷组中剩余的所有空间,可使用符号代替具体大小,例如-L +5G表示增加5GB空间,还可通过-l参数以PE为单位指定大小,如-l 50%VG表示使用卷组50%的空间。
创建完成后,使用lvdisplay或lvs命令查看逻辑卷信息:
sudo lvdisplay vg_data/lv_home
格式化与挂载逻辑卷
逻辑卷创建后需进行格式化才能存储数据,使用mkfs命令对逻辑卷进行格式化,例如格式化为ext4文件系统:
sudo mkfs.ext4 /dev/vg_data/lv_home
创建挂载目录(如/data/home),并将逻辑卷挂载到该目录:
sudo mkdir -p /data/home sudo mount /dev/vg_data/lv_home /data/home
为使挂载永久生效,需将挂载信息写入/etc/fstab文件,添加以下行:
/dev/vg_data/lv_home /data/home ext4 defaults 0 2
使用mount -a命令测试配置是否正确,若无报错则表示配置成功。

LVM的扩展与缩减
LVM的优势在于支持动态调整逻辑卷大小,扩展逻辑卷时,需先确保卷组有足够的空闲空间,然后使用lvextend命令扩展逻辑卷,再使用resize2fs调整文件系统大小,将lv_home扩展至15GB:
sudo lvextend -L +5G /dev/vg_data/lv_home sudo resize2fs /dev/vg_data/lv_home
若需缩减逻辑卷,需先卸载逻辑卷,使用resize2fs缩小文件系统,再使用lvreduce缩小逻辑卷(注意:缩减操作有数据丢失风险,需提前备份)。
sudo umount /dev/vg_data/lv_home sudo resize2fs /dev/vg_data/lv_home 10G sudo lvreduce -L 10G /dev/vg_data/lv_home
LVM的删除与清理
若不再需要某个逻辑卷、卷组或物理卷,可按以下步骤删除:
- 卸载逻辑卷:若逻辑卷已挂载,需先卸载:
sudo umount /dev/vg_data/lv_home
- 删除逻辑卷:使用
lvremove命令删除逻辑卷:sudo lvremove /dev/vg_data/lv_home
- 删除卷组:使用
vgremove命令删除卷组(需确保卷组中无逻辑卷):sudo vgremove vg_data
- 删除物理卷:使用
pvremove命令清除物理卷的LVM信息:sudo pvremove /dev/sdb
注意事项
- 数据备份:在进行LVM操作前,务必备份重要数据,避免误操作导致数据丢失。
- 文件系统兼容性:扩展逻辑卷时,不同文件系统(如ext4、xfs)的调整命令可能不同,需使用对应的调整工具(如xfs文件系统使用
xfs_growfs)。 - 在线操作:LVM的扩展操作通常支持在线执行(无需卸载),但缩减操作一般需要卸载逻辑卷,且需谨慎操作。
- PE大小选择:PE大小影响卷组的存储效率,默认4MB适用于大多数场景,若存储大量小文件,可适当减小PE大小;若存储大文件,可增大PE大小以减少元数据开销。
通过以上步骤,即可完成Linux系统中LVM的创建与管理,LVM的灵活性使其适用于服务器、虚拟化环境等多种场景,合理使用LVM可显著提升存储资源的管理效率和可靠性。


















