服务公告
蓝易云: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 逻辑卷 |
扩分区 →pvresize→lvextend→xfs_growfs |
| B:非 LVM + XFS/EXT4 | lvs/pvs没有内容;直接 /dev/sda1挂载 |
扩分区 → 扩文件系统(xfs/ext4) |
| C:整盘做 PV(无分区) | PV 是 /dev/sdb这种“整块盘” |
pvresize /dev/sdb→lvextend→ 扩文件系统 |
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是你的四个验收点。 - 不要一次改太多:先把系统盘扩好,再处理数据盘,降低耦合风险。
如果你把以下三段输出贴出来:lsblk、df -Th、pvs;vgs;lvs,我可以直接按你当前真实结构,把命令路径(比如 /dev/vda2
已经是第一篇啦!
下一篇: 服务器路由命令有哪些常用技巧?