LVM 扩容前怎么判断:物理卷、卷组与逻辑卷的边界

平台把磁盘容量调大后,df 可能仍显示原来的大小,因为操作系统中的分区、LVM 和文件系统尚未利用新增空间。本文以 Ubuntu 24.04 的 LVM2 为例,帮助判断应该调整哪一层。已有加密、RAID、thin pool 或复杂快照时,应采用对应方案,本篇不把它们当成普通线性逻辑卷处理。

先画出实际存储层级

在服务器只读查看:

lsblk -f
sudo pvs
sudo vgs
sudo lvs -a -o lv_name,vg_name,lv_size,segtype,devices
findmnt

把应用目录对应到文件系统、逻辑卷、卷组和物理卷,再找到底层设备。平台扩容的磁盘必须能与这里的设备身份对应;不能因为某个卷叫 data,就断定它是这次目标。LVM2 工具说明列出了各层的查看和管理工具。

也要记录是否存在快照、thin pool、条带或镜像。它们的容量限制和扩展方式可能不同,先确认实际 segtype,再选择步骤。

根据剩余空间决定从哪里开始

如果卷组已有足够空闲 extents,普通逻辑卷可能无需新增磁盘,就能从卷组取得空间。如果卷组没有余量,则需确认是底层磁盘已变大但物理卷未识别,还是需要新增物理卷加入卷组。

这些路径不能混用。pvresize 处理已存在物理卷的可用范围;初始化新物理卷会写入设备元数据,不能拿来“修复”一个已经有业务数据的目标。分区还未扩大时,物理卷也未必能看到磁盘新增部分。

先判断缺的是哪一层,避免把所有命令顺序执行一遍。尤其不能在没有确认设备身份和备份的情况下使用初始化或重建命令。

扩容前把备份与回退边界写清楚

保存数据备份并验证恢复,同时保留 LVM 元数据备份和当前布局信息。vgcfgbackup 保存的是卷组元数据,不是逻辑卷里的数据库和文件,不能用它替代业务备份。

检查维护窗口、应用写入状态与控制台入口。扩容后继续产生的数据可能落到新增空间,回到旧容量不再是简单撤销配置。不要把缩小逻辑卷当作默认回退;在文件系统仍引用超出范围的块时,缩卷会造成数据损坏。

需要强恢复能力的业务,可先在克隆或测试环境验证整个过程,并明确失败后是恢复备份还是迁移到备用卷。

为已确认的普通逻辑卷制定具体操作

当目标确认为普通线性逻辑卷、卷组余量足够、备份可用时,才考虑使用 lvextend。选择“增加多少”还是“变成多大”要看参数是否带加号;这两种语义不同。不要默认使用全部剩余空间,卷组可能还需要给其他卷或快照留余量。

lvextend -r 可以调用相关工具尝试同时调整文件系统,但应事先核对支持范围与挂载条件,不能把这个选项理解成对所有存储格式都自动正确。lvextend 手册说明了空间参数与 resizefs 行为。

本篇不提供带未知卷名的一键执行串。实施时应把已经核对的完整卷路径、增量和文件系统工具写入变更步骤,人工复核后逐步执行,并检查每一步返回结果。

验收逻辑卷和文件系统是否都扩大

逻辑卷扩大成功,不表示文件系统已经使用新空间。对 ext4,使用 resize2fs 的条件和行为应按resize2fs 手册核对;其他文件系统不能直接套用这个工具。

完成后重新查看 lvs、lsblk、findmnt 和 df,确认应用路径仍指向原定文件系统,容量符合计划。再验证目录读写、关键业务和备份任务,避免只看一个数字变大就结束维护。

如果逻辑卷已扩大而文件系统调整失败,先停止继续变更并查明原因,不要通过缩回逻辑卷“恢复原状”。保存错误和当前层级状态,按文件系统支持的修复或恢复方案处理,确保后续操作建立在真实现场之上。

参考资料

继续阅读

返回天理云文章中心

分享到:
上一篇
df 与 du 空间统计为什么不同:删除文件、挂载与稀疏文件
下一篇
Ubuntu 时区与 NTP 配置:显示时间和系统时钟分开检查
服务中心
企微客服
企微客服
给您高效服务
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意