云计算百科
云计算领域专业知识百科平台

服务器(LVM)存储扩容全流程学习手册

本手册基于 银河麒麟(ARM64)LVM 环境编写,涵盖运维中常见的存储扩容场景、完整操作步骤、文件系统适配知识及避坑要点,可作为长期学习和参考指南。

一、扩容核心概念与分类

1. 存储扩容的核心目标

解决服务器根目录、数据目录等分区空间不足的问题,分为 LVM 扩容(推荐,灵活可扩展)和 非 LVM 扩容(直接调整分区,灵活性差)两类,本手册以企业主流的 LVM 扩容 为主。

2. LVM 核心组件(必须掌握)

LVM(逻辑卷管理)通过将物理磁盘抽象为逻辑卷,实现存储的灵活扩容 / 缩容,核心组件关系:物理磁盘 → 物理卷(PV) → 卷组(VG) → 逻辑卷(LV) → 文件系统

组件英文全称作用
物理卷(PV) Physical Volume 将物理磁盘 / 分区初始化为 LVM 可识别的格式,是 LVM 的底层存储单元
卷组(VG) Volume Group 将多个 PV 合并为一个 “存储池”,可动态添加 / 移除 PV
逻辑卷(LV) Logical Volume 从 VG 中划分的逻辑分区,可直接格式化挂载,支持动态扩容
文件系统 File System 格式化 LV 的格式(如 XFS、Ext4),需单独扩容才能识别 LV 新增空间

3. 常见扩容场景

扩容场景适用情况核心特点
新增物理磁盘扩容 服务器有空闲磁盘槽位 / 可挂载新磁盘(如本次 vdb/vdc 扩容) 最常用、无风险,不影响现有数据
现有磁盘未分配空间扩容 已挂载的磁盘存在未划分的空闲分区(如 /dev/vda 有剩余空间) 无需新增硬件,需调整分区表
云服务器云盘扩容 云主机挂载的云盘容量不足(如阿里云 EBS、华为云 EVS) 需先在云平台控制台扩容云盘,再在系统内操作

二、不同场景下的 LVM 扩容全步骤

场景 1:新增物理磁盘扩容(本次操作场景)

适用于服务器新增物理磁盘 / 云盘,需将新磁盘加入现有 LVM 卷组,扩展逻辑卷。

前置准备
  • 确认新增磁盘登录服务器,检查新磁盘是否被系统识别(无分区、无挂载)

    # 查看磁盘列表,确认新增磁盘(如 vdb、vdc)
    lsblk
    # 检查磁盘是否有数据/分区(无输出则为干净磁盘)
    fdisk -l /dev/vdb

  • 备份关键数据对根目录、数据库目录等核心数据进行备份(如 tar 打包 /etc、/var/lib/mysql),避免操作失误导致数据丢失。
  • 选择操作时机务必在 业务低峰期 执行(如凌晨),LVM 扩容为在线操作,不影响业务运行,但需避免高负载时操作。
  • 步骤 1:创建物理卷(PV)

    将新增的空白磁盘初始化为 LVM 物理卷

    # 初始化单块磁盘(如 vdb)
    pvcreate /dev/vdb
    # 批量初始化多块磁盘(如 vdb、vdc)
    pvcreate /dev/vdb /dev/vdc

    # 验证 PV 创建结果(显示 vdb、vdc 状态为 available)
    pvdisplay

    常见问题:若提示 device is busy,说明磁盘已被挂载或有分区,需先执行 umount /dev/vdb 卸载或 fdisk /dev/vdb 删除分区。

    步骤 2:扩展卷组(VG)

    将新创建的 PV 加入现有卷组(本次卷组名为 klas)

    # 查看现有卷组信息(确认卷组名、剩余空间)
    vgdisplay

    # 将 PV 加入卷组 klas
    vgextend klas /dev/vdb
    # 批量加入多块 PV
    vgextend klas /dev/vdb /dev/vdc

    # 验证 VG 扩展结果(Free PE / Size 会增加新磁盘容量)
    vgdisplay klas

    步骤 3:扩展逻辑卷(LV)

    从卷组中分配空间,扩展目标逻辑卷(本次目标 LV 为 /dev/mapper/klas-root)

    # 方式1:使用卷组内所有剩余空间(推荐)
    lvextend -l +100%FREE /dev/mapper/klas-root

    # 方式2:指定扩容大小(如给根目录扩容 200G)
    lvextend -L +200G /dev/mapper/klas-root /dev/vdb

    # 验证 LV 扩展结果(LV Size 显示扩容后容量)
    lvdisplay /dev/mapper/klas-root

    参数说明:

    • -l +100%FREE:使用卷组内全部空闲空间;
    • -L +200G:指定扩容大小(+ 表示新增,无 + 表示设置为目标大小)。
    步骤 4:扩展文件系统

    LV 扩容后,文件系统并未识别新增空间,需执行对应命令扩展文件系统(关键步骤!)

    文件系统类型扩容命令特点
    XFS(本次使用) xfs_growfs /dev/mapper/klas-root 仅支持在线扩容,不支持缩容
    Ext4 resize2fs /dev/mapper/klas-root 支持在线扩容 / 缩容,需先执行 e2fsck -f 检查

    # 查看文件系统类型(确认根目录为 XFS)
    df -Th /

    # XFS 文件系统扩容
    xfs_growfs /dev/mapper/klas-root

    步骤 5:扩容验证

    # 1. 查看文件系统容量(根目录容量应显示为扩容后大小)
    df -h /

    # 2. 查看 LVM 各组件状态(确认 PV/VG/LV 均正常)
    pvdisplay && vgdisplay klas && lvdisplay /dev/mapper/klas-root

    ✅ 预期结果:根目录容量从 83G 扩展至 483G,业务运行无异常。

    场景 2:现有磁盘未分配空间扩容

    适用于已挂载的磁盘(如 /dev/vda)存在未划分的空闲空间,无需新增硬件。

    核心步骤
  • 调整分区表:使用 fdisk 或 gdisk 删除原有分区,重新创建更大的分区(需注意分区类型为 8e(LVM))。

    # 进入 fdisk 工具
    fdisk /dev/vda
    # 输入 p 查看分区表 → d 删除现有 LVM 分区 → n 创建新分区 → t 修改类型为 8e → w 保存

  • 扩展物理卷:更新 PV 大小,使其识别新增的分区空间

    pvresize /dev/vda2

  • 后续步骤:重复 「场景 1 步骤 2 – 步骤 5」(扩展 VG → 扩展 LV → 扩展文件系统)。
  • 场景 3:云服务器云盘扩容

    适用于阿里云、华为云等云平台的云主机,需先在控制台扩容云盘,再在系统内操作。

    核心步骤
  • 云平台控制台扩容:登录云平台 → 找到目标云盘 → 执行「扩容」操作(如将 100G 扩容为 500G)。
  • 系统内扫描磁盘:刷新磁盘信息,使系统识别扩容后的容量

    # 重新扫描 SCSI 总线(通用命令)
    echo 1 > /sys/class/block/vda/device/rescan

  • 后续步骤:
    • 若云盘为 LVM 格式:重复「场景 2 步骤 1 – 步骤 5」;
    • 若云盘为非 LVM 格式:使用 resize2fs/xfs_growfs 直接扩展文件系统。
  • 三、关键知识补充与避坑指南

    1. 在线扩容 vs 离线扩容

    操作类型适用场景注意事项
    在线扩容 LVM 扩容、XFS/Ext4 文件系统扩容 无需卸载分区,不影响业务运行,推荐生产环境使用
    离线扩容 非 LVM 分区扩容、文件系统缩容 需卸载分区,会中断业务,需提前停机维护

    2. 常见问题排查

    问题现象原因解决方案
    df -h 显示容量未变化 仅扩展了 LV,未扩展文件系统 执行 xfs_growfs/resize2fs 命令
    pvcreate 提示 device is busy 磁盘已挂载或存在分区 执行 umount /dev/vdb 卸载,或 fdisk 删除分区
    lvextend 提示 insufficient free space 卷组剩余空间不足 检查 VG 剩余空间,或新增 PV 加入 VG

    3. 重要注意事项

  • 扩容前必备份:无论何种场景,扩容前必须备份核心数据,避免分区表损坏或命令错误导致数据丢失。
  • 区分文件系统类型:XFS 和 Ext4 的扩容命令不同,需先用 df -Th 确认类型,避免用错命令。
  • 避免缩容操作:XFS 文件系统不支持缩容,Ext4 缩容风险极高(易导致数据损坏),生产环境尽量不执行缩容。
  • 记录操作步骤:扩容过程中记录每一步命令和输出,便于出现问题时回滚排查。
  • 四、扩容后维护建议

  • 定期检查存储状态:每周执行 df -h、vgdisplay 检查磁盘使用率和 LVM 状态,提前预警空间不足。
  • 监控告警配置:在 Zabbix、Prometheus 等监控平台配置磁盘使用率告警(如使用率超过 80% 触发告警)。
  • 文档归档:将本次扩容的步骤、命令、验证结果归档,作为后续扩容的参考模板。
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » 服务器(LVM)存储扩容全流程学习手册
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!