LVM 逻辑卷管理完整教程

LVM(Logical Volume Manager)是 Linux 系统中灵活管理磁盘存储的标准工具。它在物理磁盘与文件系统之间增加了一个逻辑层,让你可以动态调整分区大小、跨磁盘创建卷和创建快照。在搬瓦工 VPS 上掌握 LVM 管理,可以更灵活地管理存储空间。

一、LVM 核心概念

  • 物理卷(PV,Physical Volume):LVM 管理的底层存储设备,可以是整块磁盘或分区。
  • 卷组(VG,Volume Group):由一个或多个物理卷组成的存储池。
  • 逻辑卷(LV,Logical Volume):从卷组中划分出来的逻辑分区,可以创建文件系统并挂载使用。
  • 物理区块(PE,Physical Extent):卷组中的最小分配单位,默认 4MB。

安装 LVM 工具

# Ubuntu/Debian
apt update
apt install lvm2 -y

# CentOS
yum install lvm2 -y

# 启动 LVM 服务
systemctl enable lvm2-lvmetad
systemctl start lvm2-lvmetad

二、物理卷管理

# 查看可用磁盘
lsblk
fdisk -l

# 创建物理卷
pvcreate /dev/vdb
pvcreate /dev/vdc

# 查看物理卷信息
pvs
pvdisplay /dev/vdb

# 删除物理卷
pvremove /dev/vdb

三、卷组管理

# 创建卷组(包含一个或多个物理卷)
vgcreate datavg /dev/vdb /dev/vdc

# 查看卷组信息
vgs
vgdisplay datavg

# 扩展卷组(添加新的物理卷)
pvcreate /dev/vdd
vgextend datavg /dev/vdd

# 缩减卷组(移除物理卷前需迁移数据)
pvmove /dev/vdc
vgreduce datavg /dev/vdc

# 重命名卷组
vgrename datavg newdatavg

四、逻辑卷管理

4.1 创建逻辑卷

# 按大小创建
lvcreate -L 10G -n datalv datavg

# 按剩余空间百分比创建
lvcreate -l 100%FREE -n datalv datavg

# 按 PE 数量创建
lvcreate -l 2560 -n datalv datavg

# 查看逻辑卷
lvs
lvdisplay /dev/datavg/datalv

4.2 格式化并挂载

# 创建文件系统
mkfs.ext4 /dev/datavg/datalv

# 创建挂载点
mkdir -p /data

# 挂载
mount /dev/datavg/datalv /data

# 写入 fstab 永久挂载
echo '/dev/datavg/datalv /data ext4 defaults,noatime 0 0' >> /etc/fstab

# 验证挂载
df -Th /data

4.3 扩展逻辑卷

# 扩展逻辑卷大小
lvextend -L +5G /dev/datavg/datalv

# 或扩展到使用卷组所有剩余空间
lvextend -l +100%FREE /dev/datavg/datalv

# 扩展文件系统(ext4)
resize2fs /dev/datavg/datalv

# 一步完成扩展逻辑卷和文件系统
lvextend -L +5G -r /dev/datavg/datalv

4.4 缩减逻辑卷

# 注意:缩减操作有数据丢失风险,务必先备份
# ext4 需要先卸载
umount /data

# 检查文件系统
e2fsck -f /dev/datavg/datalv

# 缩减文件系统
resize2fs /dev/datavg/datalv 8G

# 缩减逻辑卷
lvreduce -L 8G /dev/datavg/datalv

# 重新挂载
mount /dev/datavg/datalv /data

五、LVM 快照

LVM 快照利用写时复制(CoW)技术,可以在不停止服务的情况下创建一致性备份。

# 创建快照(需要卷组有足够的空闲空间)
lvcreate -L 2G -s -n datalv-snap /dev/datavg/datalv

# 查看快照状态
lvs -a
lvdisplay /dev/datavg/datalv-snap

# 挂载快照(只读访问备份数据)
mkdir -p /mnt/snapshot
mount -o ro /dev/datavg/datalv-snap /mnt/snapshot

# 从快照恢复数据
umount /data
lvconvert --merge /dev/datavg/datalv-snap
# 合并后逻辑卷需要重新激活
lvchange -an /dev/datavg/datalv
lvchange -ay /dev/datavg/datalv
mount /dev/datavg/datalv /data

# 删除快照
umount /mnt/snapshot
lvremove /dev/datavg/datalv-snap

六、LVM 条带化

条带化可以将数据分散到多个物理卷上,提升 I/O 性能:

# 创建条带化逻辑卷(跨 2 个 PV,条带大小 64KB)
lvcreate -L 10G -n stripelv -i 2 -I 64K datavg

# 查看条带化信息
lvdisplay -m /dev/datavg/stripelv

七、LVM 缓存

LVM 支持使用快速存储(如 SSD)作为慢速存储(如 HDD)的缓存层:

# 创建缓存数据卷(在 SSD 上)
lvcreate -L 5G -n cache_data datavg /dev/vdb

# 创建缓存元数据卷
lvcreate -L 100M -n cache_meta datavg /dev/vdb

# 创建缓存池
lvconvert --type cache-pool --poolmetadata datavg/cache_meta datavg/cache_data

# 将缓存池关联到数据卷
lvconvert --type cache --cachepool datavg/cache_data datavg/datalv

八、常用排错命令

# 扫描并重建 LVM 元数据
pvscan
vgscan
lvscan

# 修复卷组元数据
vgck datavg

# 备份 LVM 元数据
vgcfgbackup datavg

# 恢复 LVM 元数据
vgcfgrestore datavg

# 强制激活逻辑卷
lvchange -ay --force /dev/datavg/datalv

# 查看 LVM 日志
journalctl -u lvm2-lvmetad

九、最佳实践

  • 创建卷组时不要用完所有空间,预留 10-20% 用于快照和扩展。
  • 使用有意义的命名规则,如 webvg/wwwlvdbvg/mysqllv
  • 定期监控快照的空间使用情况,快照空间用尽会导致快照失效。
  • 扩展操作是安全的(在线即可完成),缩减操作务必先备份数据。
  • LVM 配合 Ext4Btrfs 使用效果最佳。

总结

LVM 为搬瓦工 VPS 提供了灵活的存储管理能力,尤其是在线扩展和快照功能非常实用。如果需要更高级的数据保护,可以结合 RAID 配置 使用。选购搬瓦工 VPS 请查看 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,通过 bwh81.net 访问官网。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。