200字
LVM 逻辑卷管理
2025-10-11
2025-10-11

一、LVM 基础概念

LVM(Logical Volume Manager,逻辑卷管理)通过分层管理实现灵活存储配置,核心组件包括:

  • 物理卷(PV):底层存储单元,由磁盘分区/物理设备初始化而来,最小分配单位为 PE(物理扩展块)。

  • 卷组(VG):多个 PV 的集合,形成统一存储池。

  • 逻辑卷(LV):从 VG 中划分的动态存储单元,可像传统分区一样格式化、挂载,支持动态扩容/缩容。

二、LVM 管理命令总览

按操作对象分层整理核心命令,覆盖「扫描、创建、查看、删除、扩容、缩容」全流程:

功能分类

操作动作

物理卷(PV)命令

卷组(VG)命令

逻辑卷(LV)命令

关键说明

扫描识别

扫描资源

pvscan

vgscan

lvscan

查找系统中 PV/VG/LV,初始化识别

创建资源

初始化/组合

pvcreate

vgcreate

lvcreate

按 PV→VG→LV 逐层构建存储架构

查看信息

显示详情

pvdisplay

vgdisplay

lvdisplay

查看容量、PE 布局、使用状态等

删除资源

移除资源

pvremove

vgremove

lvremove

需确保资源未被占用(如卸载 LV)

扩容操作

扩展容量

-

vgextend

lvextend

先扩 VG(添加 PV),再扩 LV

缩容操作

减少容量

-

vgreduce

lvreduce

需先缩文件系统、确保 LV 有空闲空间

三、LVM 完整实践流程

LVM 遵循 PV→VG→LV 分层依赖关系,操作需按「底层到上层」或「上层到下层」的顺序:

  • 创建:先做 pvcreate ,再 vgcreate ,最后 lvcreate

  • 删除:先删 lvremove ,再 vgremove ,最后 pvremove

  • 扩容:先通过 vgextend 给 VG 加 PV ,再用 lvextend 扩 LV ,最后扩展文件系统(如 resize2fs );

  • 缩容:先缩文件系统(如 resize2fs ),再 lvreduce 缩 LV ,最后可选 vgreduce 缩 VG (移除空闲 PV )。

1. 环境准备:添加虚拟磁盘

image-20250821143918259

在虚拟机中新增两块虚拟磁盘(sdbsdc),通过 lsblk 确认识别:

 lsblk
 # 输出示例(新增 sdb、sdc 磁盘)
 NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 sda      8:0    0   24G  0 disk 
 ├─sda1   8:1    0    1G  0 part /boot
 └─sda2   8:2    0   23G  0 part 
   ├─centos-root 253:0    0 20.6G  0 lvm  /
   └─centos-swap 253:1    0  2.4G  0 lvm  [SWAP]
 sdb      8:16   0   20G  0 disk 
 sdc      8:32   0   20G  0 disk 

2. 磁盘分区(可选:为 PV 准备分区)

sdbsdc 创建主分区(也可直接用整盘做 PV):

 # 分区 sdb(创建 10GB 主分区 sdb1)
 fdisk /dev/sdb  
 # 输入 n→p→1→回车→+10G→w 保存
 ​
 # 分区 sdc(创建 5GB 主分区 sdc1)
 fdisk /dev/sdc  
 # 输入 n→p→1→回车→+5G→w 保存
 ​
 # 查看分区结果
 lsblk  
 # 输出示例(新增 sdb1、sdc1 分区)
 sdb      8:16   0   20G  0 disk 
 └─sdb1   8:17   0   10G  0 part 
 sdc      8:32   0   20G  0 disk 
 └─sdc1   8:33   0    5G  0 part 

3. 创建物理卷(PV)

将分区/磁盘初始化为 PV:

 # 初始化 PV(支持多设备批量创建)
 pvcreate /dev/sdb1 /dev/sdc1  
 ​
 # 查看 PV 状态
 pvs  
 # 输出示例(sdb1、sdc1 已转为 PV)
   PV         VG     Fmt  Attr PSize   PFree 
   /dev/sda2  centos lvm2 a--  <23.00g     0 
   /dev/sdb1         lvm2 ---   10.00g 10.00g
   /dev/sdc1         lvm2 ---    5.00g  5.00g

4. 创建卷组(VG)

将 PV 组合为 VG(统一存储池):

 # 创建 VG(命名为 volumeGroup01,包含 sdb1、sdc1)
 vgcreate volumeGroup01 /dev/sdb1 /dev/sdc1  
 ​
 # 查看 VG 状态
 vgs  
 # 输出示例(volumeGroup01 容量 14.99G,空闲 14.99G)
   VG            #PV #LV #SN Attr   VSize   VFree 
   centos          1   2   0 wz--n- <23.00g     0 
   volumeGroup01   2   0   0 wz--n-  14.99g 14.99g

5. 创建逻辑卷(LV)

从 VG 中划分动态存储单元(LV):

 # 创建 LV(命名 logicVolume01,大小 12G)
 lvcreate --size 12G --name logicVolume01 volumeGroup01  
 ​
 # 查看 LV 状态
 lvs  
 # 输出示例(logicVolume01 容量 12G,归属 volumeGroup01)
   LV            VG            Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
   root          centos        -wi-ao---- 20.59g                                                    
   swap          centos        -wi-ao----  2.40g                                                    
   logicVolume01 volumeGroup01 -wi-a----- 12.00g                                                    

6. 格式化与挂载 LV

LV 需格式化文件系统后挂载使用:

 # 格式化(以 xfs 为例,也可用 ext4 等)
 mkfs.xfs /dev/volumeGroup01/logicVolume01  
 ​
 # 创建挂载点并挂载
 mkdir -p /mount/xl  
 mount /dev/volumeGroup01/logicVolume01 /mount/xl  
 ​
 # 查看挂载状态
 df -Th  
 # 输出示例(/mount/xl 已挂载,容量 12G)
 /dev/mapper/volumeGroup01-logicVolume01 xfs        12G   33M   12G    1% /mount/xl

7. 动态扩容 LV(扩展实践)

VG 剩余空间可扩容 LV,需同步文件系统:

 # 查看 VG 剩余空间(volumeGroup01 剩余 ~3G)
 vgs  
 # 输出示例:volumeGroup01 VFree 2.99g  
 ​
 # 扩容 LV(使用 VG 全部剩余空间)
 lvextend -l +100%FREE /dev/volumeGroup01/logicVolume01  
 ​
 # 同步文件系统(xfs 用 xfs_growfs,ext4 用 resize2fs)
 xfs_growfs /mount/xl  
 ​
 # 验证扩容结果
 df -Th  
 # 输出示例(/mount/xl 容量变为 ~15G)
 /dev/mapper/volumeGroup01-logicVolume01 xfs        15G   33M   15G    1% /mount/xl

注意事项

  1. 依赖顺序:操作需遵循 PV→VG→LV 分层逻辑,删除时需反向(先删 LV→再删 VG→最后删 PV)。

  2. 文件系统同步:扩容 LV 后,必须用对应工具(xfs_growfs/resize2fs)同步文件系统,否则挂载容量不更新。

  3. 快照与备份:LV 支持快照(lvcreate -s),可用于数据备份,但需预留足够快照空间。

  4. 缩容风险:缩容 LV 需先缩文件系统(如 xfs 不支持在线缩容,需卸载后操作),风险较高,建议优先扩容。

通过以上步骤,可完整实现 LVM 从搭建到动态扩容的全流程管理,灵活应对存储需求变化。

评论