服务公告

服务公告 > Linux命令 > 蓝易云:centos7磁盘动态扩容

蓝易云:centos7磁盘动态扩容

发布时间:2025-12-16 00:18

下面给你一套 CentOS 7 磁盘动态扩容的标准化操作手册,覆盖最常见的两类架构:LVM(默认最常见)非 LVM(直接分区挂载)。全程不靠“猜”,每一步都以“可验证结果”为准。✅


0)扩容前的“变更前检查”(必须做)🧩

先确认:云厂商/虚拟化平台已把磁盘容量调大,否则你在系统里怎么扩都扩不出来。

lsblk
df -Th
fdisk -l
pvs; vgs; lvs   # 若提示命令不存在:yum -y install lvm2

你要拿到三个关键信息:

  • 扩容目标挂载点:比如 / 或 /data
  • 底层设备:比如 /dev/sda/dev/vda
  • 是否 LVM:能看到 centos-root / VolGroup-lv_root 这类就是 LVM

1)场景对照表(先选路,再动手)📌

场景 你会看到的特征 扩容主流程
A:LVM(最常见)+ XFS df -Th显示 xfs;lvs有 root/data 逻辑卷 扩分区 →pvresizelvextendxfs_growfs
B:非 LVM + XFS/EXT4 lvs/pvs没有内容;直接 /dev/sda1挂载 扩分区 → 扩文件系统(xfs/ext4)
C:整盘做 PV(无分区) PV 是 /dev/sdb这种“整块盘” pvresize /dev/sdblvextend→ 扩文件系统

2)先让系统“看见”新容量(热扩容同步)🔄

(多数情况下内核会自动识别,但做一次更稳)

假设磁盘是 /dev/sda

echo 1 > /sys/class/block/sda/device/rescan
lsblk

如果 lsblk 里磁盘总大小已经变大,说明容量已识别成功。


3)扩分区(推荐 growpart;没有就装)🛠️

强烈推荐用 growpart,因为它是“面向生产”的自动扩分区工具,减少手工误操作概率。

安装:

yum -y install cloud-utils-growpart

例如要扩容的是 /dev/sda2

growpart /dev/sda 2
lsblk

看到 sda2 变大,就说明分区层扩容完成。

小幽默但很真实:磁盘扩容最怕“手一抖,分区起点变了”,那就不是扩容,是“事故演练”了。


4)LVM 扩容(场景 A / C)🚀

4.1 扩 PV(物理卷)

如果 PV 在分区上(常见:/dev/sda2):

pvresize /dev/sda2
pvs

如果 PV 是整盘(常见:/dev/sdb):

pvresize /dev/sdb
pvs

4.2 扩 LV(逻辑卷)

先确认要扩的 LV(例如根分区):

lvs

把卷组剩余空间全部给 root(示例路径按你的 lvs 输出替换):

lvextend -l +100%FREE /dev/mapper/centos-root
lvs

4.3 扩文件系统(按格式选命令)

若是 XFS(CentOS 7 默认常见)

xfs_growfs /
df -Th

若是 EXT4

resize2fs /dev/mapper/centos-root
df -Th

关键校验点:df -Th 里的容量必须变大;否则说明某一层没扩到位(磁盘/分区/PV/LV/FS 五层链路,断一层都不行)。


5)非 LVM 扩容(场景 B)📈

流程更短:扩分区之后直接扩文件系统。

  • XFS:
xfs_growfs /你的挂载点
df -Th
  • EXT4:
resize2fs /dev/sda1   # 这里替换为你的实际分区
df -Th

6)生产环境的风险控制建议(务实版)🧯

  • 变更窗口内做:扩分区属于高风险操作,建议低峰执行。
  • 操作前留“回退抓手”:至少保留关键业务配置与数据快照/备份。
  • 每一步都“先验证再下一步”:lsblk / pvs / lvs / df -Th 是你的四个验收点。
  • 不要一次改太多:先把系统盘扩好,再处理数据盘,降低耦合风险。

如果你把以下三段输出贴出来:lsblkdf -Thpvs;vgs;lvs,我可以直接按你当前真实结构,把命令路径(比如 /dev/vda2

已经是第一篇啦!

下一篇: 服务器路由命令有哪些常用技巧?