当前位置: 首页 > news >正文

LVM(逻辑卷管理器)核心概念与完整操作笔记

LVM(逻辑卷管理器)通过在物理磁盘与文件系统之间增加抽象层,实现了灵活的磁盘空间管理,彻底解决了传统分区方案的刚性限制问题。

一、核心抽象层次与类比

LVM采用分层架构设计,将物理存储资源抽象为可动态调整的逻辑卷:

层次名称对应命令作用默认大小
底层物理卷 (PV)pvcreate,pvdisplay将物理硬盘/分区标记为LVM可识别的组件-
中间层卷组 (VG)vgcreate,vgextend,vgdisplay将多个PV整合为统一的存储池-
顶层逻辑卷 (LV)lvcreate,lvextend,lvdisplay从VG中划分出的"虚拟分区",支持动态伸缩-
基础单元物理扩展块 (PE)-PV被划分的最小存储单元4MB
基础单元逻辑扩展块 (LE)-LV的最小分配单位,与PE一一对应与PE相同

类比记忆:

  • 物理硬盘→ 一堆零散的橘子
  • 物理卷 (PV)→ 把橘子剥好准备榨汁
  • 卷组 (VG)→ 榨汁机把所有橘子榨成一大杯混合橙汁
  • 物理扩展块 (PE)→ 橘子被切成标准大小的块
  • 逻辑卷 (LV)→ 根据需要倒出不同大小的杯子,喝完还能从大杯里续加

二、LVM核心优势

  1. 动态调整存储大小:支持在系统运行时扩展或缩减逻辑卷,无需停机
  2. 整合存储资源:将多个物理设备整合为统一的存储池,实现跨设备空间利用
  3. 快照支持:提供逻辑卷的实时快照,便于备份和恢复
  4. 条带化与镜像:优化存储性能,通过分布式存储提高I/O效率
  5. 灵活的管理:可随时添加新的物理卷到卷组中,扩展存储容量

三、完整操作流程详解

1. 查看当前磁盘状态

lsblk

示例输出:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 49G 0 part / sdb 8:16 0 20G 0 disk sdc 8:32 0 10G 0 disk sdd 8:48 0 10G 0 disk

说明/dev/sdc/dev/sdd为新盘,未使用。

2. 第一步:创建物理卷 (PV)

pvcreate /dev/sdc pvcreate /dev/sdd

注意:PV可以是整个硬盘(如/dev/sdc)或分区(如/dev/sdc1

3. 第二步:创建卷组 (VG)

将两个PV合并为一个名为vg1的卷组:

vgcreate vg1 /dev/sdc /dev/sdd

高级选项:可通过-s参数自定义PE大小,如vgcreate -s 8M vg1 /dev/sdc

4. 第三步:创建逻辑卷 (LV)

vg1中划分一个200MB的逻辑卷,命名为lv1

lvcreate -L 200M -n lv1 vg1

关键点:命令末尾是卷组名vg1),非设备路径

查看逻辑卷信息

lvs lvdisplay /dev/vg1/lv1

路径映射:逻辑卷生成后路径为/dev/vg1/lv1/dev/mapper/vg1-lv1

5. 第四步:格式化并挂载使用

mkfs.ext4 /dev/vg1/lv1 mkdir /mnt/lv1 mount /dev/vg1/lv1 /mnt/lv1 df -h /mnt/lv1

文件系统选择

  • ext4:成熟稳定、兼容性极佳,适用于通用业务场景
  • xfs:大文件处理、高并发I/O性能更优,支持无限inode与在线碎片整理

6. 第五步:在线扩展逻辑卷 (LV)

lv1再增加100MB:

lvextend -L +100M /dev/vg1/lv1

扩展方式

  • -L +100M:在现有容量上增加100MB
  • -L 300M:将总容量调整为300MB(需VG有空闲空间)

7. 第六步:扩展文件系统(使操作系统识别新增空间)

  • ext3/ext4文件系统
    resize2fs /dev/vg1/lv1
  • xfs文件系统
    xfs_growfs /mnt/lv1

重要提示:XFS文件系统不支持缩减,仅ext4等文件系统支持

四、状态查看快捷命令速查表

命令作用详细信息
pvs简短列出所有物理卷信息显示PV状态、大小、所属VG
pvdisplay详细显示物理卷信息显示UUID、PE大小、分配情况
vgs简短列出所有卷组信息显示VG大小、空闲空间、LV数量
vgdisplay详细显示卷组信息显示PE大小、分配策略、元数据
lvs简短列出所有逻辑卷信息显示LV大小、状态、所属VG
lvdisplay详细显示逻辑卷信息显示段布局、映射关系、激活状态
lsblk查看块设备树形结构显示LVM映射关系及挂载点

五、高级运维操作补充

1. 卷组空间不足:添加新物理卷扩容

pvcreate /dev/sde vgextend vg1 /dev/sde

生产建议:可将SSD高速盘与HDD大容量盘同时纳入同一VG,再按需分配LV

2. 缩减逻辑卷(⚠️ 高风险操作,务必先卸载并备份数据)

umount /mnt/lv1 # 1. 卸载分区 e2fsck -f /dev/vg1/lv1 # 2. 强制检查文件系统 resize2fs /dev/vg1/lv1 150M # 3. 先缩小文件系统(ext) lvreduce -L 150M /dev/vg1/lv1 # 4. 再缩小逻辑卷本身 mount /dev/vg1/lv1 /mnt/lv1 # 5. 重新挂载

警告:XFS文件系统不支持缩减,仅ext4等文件系统支持

3. 完全删除LVM组件(逆向清理)

lvremove /dev/vg1/lv1 # 删除逻辑卷 vgremove vg1 # 删除卷组 pvremove /dev/sdc /dev/sdd # 清除物理卷上的LVM标记

4. LVM快照功能(备份与恢复)

# 创建快照 lvcreate -L 100M -s -n lv1_snap /dev/vg1/lv1 # 恢复快照 lvconvert --merge /dev/vg1/lv1_snap

应用场景:系统升级前创建快照,升级失败时快速回滚

六、数据流向全景图

物理硬盘 ──pvcreate──> 物理卷PV ──vgcreate──> 卷组VG ──lvcreate──> 逻辑卷LV ──mkfs + mount──> 使用 ↑ | ↑ | ↑ | ↑ 查看: lsblk | 查看: pvs | 查看: vgs | 查看: lvs | | | 默认4MB PE 统一存储池 可动态伸缩

七、最佳实践与注意事项

  1. 元数据备份:LVM元数据默认每10分钟自动备份至/etc/lvm/cache/,但关键生产环境应配合vgcfgbackup手动归档

  2. 挂载配置/etc/fstab配置必须严格遵循UUID标识(blkid获取)而非设备名,避免udev规则导致设备名漂移

  3. 文件系统选择

    • 数据库、媒体服务器:推荐使用XFS(大文件处理、高并发I/O性能更优)
    • 通用业务场景:ext4(成熟稳定、兼容性好)
  4. 生产环境建议

    • 避免单点故障:LVM仅由操作系统管理,BIOS至少需要一个无LVM的分区才能启动
    • 数据安全:在RAID磁盘上使用LVM,避免单个物理卷故障导致所有逻辑卷丢失
  5. 常见问题解决

    • "设备忙"问题:使用fuser -mv /挂载点查看并终止占用进程
    • 挂载后目录看不到文件:挂载点目录原有文件会被隐藏,卸载后才能看到

LVM作为现代Linux系统中不可或缺的存储管理工具,不仅适用于个人服务器,更是企业级存储的标准配置,通过合理使用LVM,可以显著提高存储资源的利用率和管理灵活性。

http://www.jsqmd.com/news/695006/

相关文章:

  • B站缓存视频格式转换:m4s文件无损转换为通用MP4格式的完整解决方案
  • 从RTL到GDS:一个ASIC验证工程师的后仿用例挑选与策略实战
  • 毕设别再硬肝了:我用 GPT + Codex 做项目、写论文,效率直接起飞
  • 用耐心与爱心搭建起与老人之间的信任桥梁
  • Phi-3.5-mini-instruct生产环境:Docker Compose编排多模型协同服务方案
  • 从奈奎斯特图到相位裕度:一个直观方法,帮你彻底理解运放稳定性
  • 长沙漏水检测电话,自来水管道漏水检测,消防管漏水检测,市政管道漏水检测,管道漏水检测,长沙精准测漏(长沙鸿程漏水检测)) - 品牌企业推荐师(官方)
  • Zotero-Style插件标签显示问题完整修复指南:让文献标签重回视线
  • 普通家庭的孩子该如何去发布第一本期刊
  • Linux中设备树下的platform驱动编写
  • 5个高效使用OpenProject的终极技巧:从新手到项目管理专家
  • 别只调包了!深入理解语音情感分析中的MFCC、Chroma和Mel特征
  • python Lock
  • 【PySide6】QLabel图片显示进阶:从文件选择到自适应布局
  • python Condition
  • 彩印肥料编织袋价格受哪些影响呢?
  • XML Schema 复合元素
  • 2026年沙市AI培训有何新亮点?
  • 告别续航焦虑:基于Si24R1的智能门锁/传感器,如何通过模式切换将功耗降到1uA以下?
  • 避坑指南:在CANoe Test Node里操作总线与节点,这几个CAPL函数返回值你注意了吗?
  • 02华夏之光永存:电磁弹射+一次性火箭航天入轨方案【第二篇:发射场优选选址全维度工程评估】
  • OpenClaw技术架构与源码工程
  • 终极BetterNCM插件管理器完整指南:高效自定义网易云音乐体验
  • 5步掌握智能数据采集:高效破解大众点评反爬机制
  • python Event
  • iOS网络授权验证系统源码_苹果软件授权验证_幽络源源码
  • 梦开始的地方
  • 如何一键解决Windows激活难题?KMS_VL_ALL_AIO完整使用指南
  • 6999元AMD新旗舰首测!锐龙9 9950X3D2性能解禁:这颗U根本不是给游戏玩家造的
  • Windows 10/11 下用 YOLOv5 训练自己的数据集:从标注到部署的保姆级避坑指南