LVM管理逻辑卷

LVM管理逻辑卷

LVM(Logical Volume Management)是一种用于管理逻辑卷的技术,它在Linux系统上提供了灵活和可扩展的磁盘存储管理功能。

  • 将多个磁盘(分区)合并成卷组VG;
  • 从卷组中创建逻辑卷LV;
  • 逻辑卷LV可以被格式化、挂载,与普通分区无异;
  • 逻辑卷可以动态调整大小(扩容,缩容);

名称解释:

  • PV:物理卷,将普通磁盘或分区转换成物理卷(PV),用于创建卷组(VG)。
  • VG:卷组,有物理卷合并而成的存储空间,用于创建逻辑卷(LV)。
  • LV:逻辑卷,可以被当做普通分区一样被格式化与挂载。
  • PE:每一个物理卷被划分为称为PE,是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
  • LE:逻辑卷也被划分为被称为LE,在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

逻辑卷使用流程

​ 真实的物理设备---->物理卷(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
# 如果lvm未安装,可以使用下列命令安装
yum install lvm2

创建PV

pvscan 								 #扫描所有pv
pvcreate /dev/sdb /dev/sdc /dev/sdd  #创建PV
pvdisplay  							 #查看PV的详细信息
pvs         						 #查看pv的基础信息
pvremove /dev/sdd 					 #删除pv   

创建VG

vgscan										#扫描所有vg
vgcreate vg1 /dev/sdb /dev/sdc /dev/sdd     #创建vg
vgs  										#查看vg基础信息
vgdisplay 									#查看vg详细信息
vgremove /dev/vg1						 	#删除vg

创建LV

#创建lv1
lvcreate -n lv1 -L 30G vg1
# -n 设置lv名称
# -L 设置存储容量
# -l 设置LE数量  【-l 37 表示37×4MB=148MB的逻辑卷】

#格式化 lv1
mkfs.ext4 /dev/vg1/lv1

#挂载lv到系统
mount /dev/vg1/lv1 /data/LV(挂载点、目录)

扩容LV流程:

  • 1.先卸载lv逻辑卷挂载的目录
    • umount /dev/vg1/lv1
  • 2.执行扩容命令
    • lvextend -L 30G /dev/vg1/lv1
  • 3.检测硬盘的完整性
    • e2fsck -f /dev/vg1/lv1
  • 4.重置设备在系统中的容量
    • resize2fs /dev/vg1/lv1
  • 5.重新挂载
    • mount /dev/vg1/lv1 /data/LV1

缩容LV流程:

  1. 先卸载lv逻辑卷挂载的目录

    umount /dev/vg1/lv1

  2. 检查文件系统的完整性

    e2fsck -f /dev/vg1/lv1

  3. 通知系统内核将逻辑卷vo的容量减小到10G

    resize2fs /dev/vg1/lv1 10G

  4. 执行缩容命令

    lvreduce -L 10G /dev/vg1/lv1

  5. 重新挂载

    mount /dev/vg1/lv1 /data/LV1

扩容VG:

使用新磁盘扩容

# 1. 将新磁盘(如 /dev/sdb)初始化为物理卷
pvcreate /dev/sdb

# 2. 将物理卷添加到目标卷组(如 vg1)
vgextend vg1 /dev/sdb

# 3. 验证扩容结果
vgdisplay vg1  # 查看 Free PE / Size 增加

缩容VG:

1. 前置条件

  • 卷组中存在可移除的物理卷(PV)。
  • 该 PV 上的所有逻辑卷(LV)已迁移至其他 PV(关键!)。

2. 操作步骤

场景:从 vg01 移除 /dev/sdb

# 1. 确保PV上无数据(迁移LV)
pvmove /dev/sdb  # 将数据迁移至其他PV

# 2. 检查PV状态(Free PE应为100%)
pvdisplay /dev/sdb

# 3. 从卷组中移除PV
vgreduce vg01 /dev/sdb

# 4. 验证缩容结果
vgdisplay vg01  # 确认PV已移除

# 5. (可选)销毁PV
pvremove /dev/sdb

逻辑卷快照

LVM还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。

快照卷的容量必须等同于逻辑卷的容量;

快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。

#命令语法:
lvcreate -s  # 创建快照
-L <大小>    # 快照最大容量(如10G)
-n <快照名>  # 快照逻辑卷名称
<源LV路径>   # 如 /dev/vg01/data
--------------------------------
#创建快照
# 为 /dev/vg01/data 创建10GB的快照
lvcreate -s -L 10G -n data_snap /dev/vg01/data
# 查看创建结果
lvs
--------------------------------
#1. 临时挂载快照(用于数据恢复)
# 创建挂载点
mkdir /mnt/snap
# 挂载快照(需指定文件系统类型)
mount -o ro /dev/vg01/data_snap /mnt/snap  # 只读挂载
# 查看内容
ls /mnt/snap
--------------------------------
#2. 从快照恢复数据
# 方法1:复制文件到源卷
cp /mnt/snap/重要文件 /path/to/恢复位置

# 方法2:覆盖整个源卷(危险操作!)
umount /data  # 先卸载源卷
lvconvert --merge /dev/vg01/data_snap  # 合并快照到源卷
mount /data   # 重新挂载
--------------------------------

posted @ 2025-07-17 16:37  落无一  阅读(29)  评论(0)    收藏  举报