阿里云 CentOS 磁盘扩容记录:resize2fs 版本过低导致无法扩容的解决方案

在日常使用阿里云服务器时,经常会遇到数据盘写满的情况。如果只是单纯在控制台扩容磁盘,却发现系统里 /dev/vda2 并没有立刻扩展,这时需要手动操作分区和文件系统。本篇文章整理了从扩容到 resize2fs 报错,再到最终解决的完整过程。


一、问题现象

服务器磁盘情况如下:

bash 复制代码
lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0  850G  0 disk
├─vda1 253:1    0  500G  0 part /
└─vda2 253:2    0  350G  0 part /lostData

在对 /dev/vda 扩容后,尝试执行:

bash 复制代码
resize2fs /dev/vda2

报错:

复制代码
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Device or resource busy while trying to open /dev/vda2
Couldn't find valid filesystem superblock.

可以看到系统自带的 resize2fs 版本过低,无法正确识别新分区。


二、解决步骤

1. 确认磁盘扩容是否生效

bash 复制代码
fdisk -l /dev/vda

如果 /dev/vda 大小大于之前的 850G,说明控制台扩容已经传递到系统。

2. 扩展分区

扩容后的空间不会自动分配到 /dev/vda2,需要手动扩展分区。

bash 复制代码
yum install -y cloud-utils-growpart
growpart /dev/vda 2

执行完成后,再次确认:

bash 复制代码
lsblk

此时 /dev/vda2 应该已经变大。

3. 检查文件系统

在调整文件系统前,先运行 e2fsck 检查:

bash 复制代码
e2fsck -f /dev/vda2

4. 扩展文件系统

接下来使用 resize2fs 将文件系统扩展到整个分区:

bash 复制代码
resize2fs /dev/vda2

如果旧版本报错,可以升级 e2fsprogs

bash 复制代码
wget https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.46.5/e2fsprogs-1.46.5.tar.gz
tar -xzf e2fsprogs-1.46.5.tar.gz
cd e2fsprogs-1.46.5
./configure
make && make install

安装完成后,再次运行 resize2fs 即可成功。

5. 验证扩容结果

bash 复制代码
df -hT | grep lostData

可以看到 /lostData 文件系统大小已经扩展到新的磁盘容量。


三、总结

在阿里云 CentOS 环境下,磁盘满了之后的扩容流程可以总结为:

  1. 控制台扩容云盘
  2. growpart 扩展分区
  3. e2fsck 检查文件系统
  4. resize2fs 扩展文件系统(必要时升级 e2fsprogs)
  5. df -hT 验证结果

这样就可以安全、在线地扩展数据盘容量,避免因磁盘满导致业务中断。


相关推荐
xy1230611 小时前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
Sinclair2 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean3 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩3 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰4 天前
【免费】PHP主机=域名+解析+主机
服务器
不是二师兄的八戒4 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
欧云服务器4 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
芝士雪豹只抽瑞克五4 天前
Nginx 高性能Web服务器笔记
服务器·nginx
失重外太空啦4 天前
Tomcat
java·服务器·tomcat
Henry Zhu1234 天前
数据库:并发控制基本概念
服务器·数据库