阿里云 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 验证结果

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


相关推荐
草莓熊Lotso40 分钟前
【Linux系统加餐】从原理到封装:基于建造者模式实现System V信号量工业级C++封装
android·linux·运维·服务器·网络·c++·建造者模式
广州灵眸科技有限公司7 小时前
瑞芯微(EASY EAI)RV1126B 核心板供电电路
linux·运维·服务器·单片机·嵌入式硬件·电脑
keyipatience7 小时前
18.Linux进程退出和进程等待机制详解
linux·运维·服务器
wanhengidc8 小时前
私有云的作用都有哪些?
运维·服务器·网络·游戏·智能手机
花阴偷移8 小时前
Ubuntu 22.04版本下配置静态IP
linux·运维·服务器·tcp/ip·ubuntu
隔窗听雨眠9 小时前
doctype、charset、meta如何控制整个渲染流水线
java·服务器·前端
智慧医养结合软件开源10 小时前
以数据可视化,赋能康养服务精细化运营
人工智能·信息可视化·云计算·生活
tedcloud12310 小时前
TradingAgents部署教程:打造AI量化分析工作流
服务器·前端·人工智能·系统架构·edge