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

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


相关推荐
天才奇男子17 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
❀͜͡傀儡师19 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light19 小时前
Linux部署问题
linux·运维·服务器
S190119 小时前
Linux的常用指令
linux·运维·服务器
小义_19 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
_运维那些事儿20 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
Trouvaille ~21 小时前
【Linux】UDP Socket编程实战(一):Echo Server从零到一
linux·运维·服务器·网络·c++·websocket·udp
嵌入小生00721 小时前
Shell | 命令、编程及Linux操作系统的基本概念
linux·运维·服务器
-Try hard-1 天前
Linuv软件编程 | Shell命令
linux·运维·服务器
释怀不想释怀1 天前
Linux快捷键,软件安装启动
linux·运维·服务器