阿里云账号购买:ECS云盘扩容,教你不重启服务器在线扩展系统盘分区
本篇文章2965字,读完约7分钟
欢迎阅读本期技术分享。本文由阿里云国际代理商:零度云lingducloud(www.lingducloud.com) 特约呈现。
无论您需要免备案服务器、海外 CDN,还是 AWS/阿里云/腾讯云等国际站账号的免外币卡代开代充(支持 USDT/支付宝),
lingducloud 都能为您提供安全、防风控的隐私隔离方案。以下为正文内容:
在云计算的世界里,最让人头疼的瞬间,莫过于大半夜突然收到报警短信:“您的云服务器系统盘空间不足,剩余0%。”
很多刚完成阿里云账号购买的新手,或者缺乏运维经验的开发者,遇到这种情况第一反应就是:“那我就在阿里云控制台里买个50G空间,不就完事了吗?”
结果钱花出去了,进到服务器里一看,可用空间居然一点都没变!更糟糕的是,网上的很多老教程会告诉你:“扩容完得重启服务器才能生效。”
对于已经上线、正在跑着业务的生产环境来说,重启服务器意味着业务中断,这意味着损失!
其实,现在的阿里云早就不需要这么折腾了。今天这篇深度实操教程,就用最通俗的大白话,手把手教你在不重启服务器、不中断业务的情况下,在线扩展 Linux 系统盘分区。整套操作下来,5分钟就能搞定。
核心原理:为什么你在控制台充了钱,服务器里没反应?
在动手之前,我们先用一个生动的比喻来搞懂它的底层逻辑。
你购买的阿里云 ECS 硬盘(云盘),就像是一个集装箱。你在控制台点击“扩容”,相当于阿里云把这个集装箱的物理外壳给你拉长了(从40G变成了100G)。
但是,你服务器里的操作系统(比如 Linux),在集装箱内部还用一堵“围墙”(分区)把空间隔开了。操作系统只认围墙里面的空间。
所以,我们要做的完整步骤分为两步:
-
控制台扩容:把集装箱的外壳拉大(给云盘扩容)。
-
系统内扩容:在不推倒业务的情况下,把集装箱内部的“围墙”往外推,并让系统重新识别(扩容分区与文件系统)。
第一步:阿里云控制台在线扩容(拉大集装箱)
这一步在网页上操作,非常简单。
-
登录阿里云控制台,进入【云服务器 ECS】->【实例】,点击你的服务器名称。
-
在左侧菜单栏找到【云盘】,看到你的系统盘(通常是
/dev/vda1或类似名称)。 -
点击右侧的【云盘扩容】。
-
关键点: 扩容方式选择【在线扩容】。只有选了这个,才不需要重启服务器!
-
输入你想要扩容到的目标容量(比如从 40G 扩容到 100G),点击确定并付钱。
阿里云账号购买付完钱后,回到实例列表,你会发现控制台上的系统盘容量已经变成 100G 了。接下来,我们要进入最核心的“系统内扩容”部分。
第二步:进入系统,查看当前的“围墙”状态
通过网页端的 Workbench 或者 SSH 工具(如 Xshell)登录进你的 Linux 服务器(以下操作以最常用的 CentOS / Alibaba Cloud Linux 为例,Ubuntu 系统同样适用)。
输入以下命令,查看磁盘的物理大小:
fdisk -l
你会在返回的信息中看到类似这样的一行:
Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors
这说明,物理上(集装箱外壳)确实已经变成 100G 了。
接着输入查看文件系统使用情况的命令:
df -h
你会发现,你的系统盘(比如 /dev/vda1)依然显示只有 40G,且利用率是 100%。
第三步:扩展分区表(把围墙往外推)
我们要用到一个叫 growpart 的硬核工具,它的作用就是在线把分区的“围墙”推到最边缘。
1. 安装 growpart 工具
-
如果你是 CentOS / Alibaba Cloud Linux 系统,运行:
Bashyum install -y cloud-utils-growpart -
如果你是 Ubuntu / Debian 系统,运行:
Bashapt-get install -y cloud-guest-utils
2. 运行扩容命令
这里需要注意,我们要告诉工具:扩容哪块盘的第几个分区。
通常阿里云的系统盘是 /dev/vda,第一个分区是 1。注意:/dev/vda 和 1 之间有一个空格!
growpart /dev/vda 1
如果输出结果显示 CHANGED: partition=1,说明围墙已经成功推过去了!
第四步:在线扩容文件系统(让系统承认新空间)
“围墙”推过去了,但操作系统里的文件管理系统还没反应过来。这时候,我们需要根据你的文件系统类型,给它“刷一下存在感”。
1. 确认你的文件系统类型
输入以下命令:
df -T
看一眼你的系统盘(/dev/vda1)对应的 Type 是什么:
-
如果是
ext4(比如大多数 CentOS 或 Ubuntu 老版本) -
如果是
xfs(比如 CentOS 7以上或 Alibaba Cloud Linux)
2. 针对性执行刷新命令
-
情况 A:如果你的类型是 ext4
运行
resize2fs命令(后面跟着你的分区名):Bashresize2fs /dev/vda1 -
情况 B:如果你的类型是 xfs
运行
xfs_growfs命令(后面跟着你的挂载点,系统盘一般是/):Bashxfs_growfs /
执行过程通常只要几秒钟。当看到提示成功后,再次输入:
df -h
见证奇迹的时刻到了!你会发现系统盘的容量已经变成了 100G,而可用空间瞬间充裕,原本挂起的业务和网站也瞬间恢复了正常。而在这个过程中,你的服务器没有经过任何重启!阿里云账号购买
新手避坑与高级运维建议
虽然整个过程看起来如行云流水,但作为老司机,还是要给你交代几个容易踩雷的细节:
1. 为什么 growpart 会报错 No space left on device?
这非常讽刺——因为你的磁盘彻底满了(0%剩余),导致 growpart 运行的时候连临时创建几个字节日志的空间都没有。
-
解决办法: 先去
/var/log目录下删掉几个没用的旧日志文件,或者删掉几兆垃圾数据,挪出一点点空间,再回来运行命令就通畅了。
2. 强烈建议:操作前先做“快照”
虽然这是“在线不重启”的无损操作,但涉及到磁盘分区的变动,任何高手都不敢保证 100% 不出意外(比如突然断电、或者不小心把命令里的 1 打成了别的数字)。
在开始第二步之前,请在控制台给这块盘创建个快照。万一失手,还有一键时光倒流的“后悔药”可以吃。
3. 一劳永逸:开启自动扩容
如果你在最初进行阿里云账号购买时就预料到数据增长会很快,阿里云其实支持安装 cloud-init 相关的自适应脚本。后续在控制台在线扩容后,部分新版系统甚至可以做到系统内自动识别,连命令都不用敲。
结语
学会了这一招,以后再遇到阿里云 ECS 提示磁盘空间不足,你就能优雅、淡定地在不影响任何用户访问的情况下,点点鼠标、敲两行命令轻松搞定。云计算的“弹性弹性”,精髓就在于这种不需要物理接触、不需要停机维护的丝滑体验。快去你的服务器上试试吧!
标题:阿里云账号购买:ECS云盘扩容,教你不重启服务器在线扩展系统盘分区
地址:http://www.iqulvyou.com/mqhy/52362.html
免责声明:全球名企网是集资讯和商务为一体的食品行业实用型资讯媒体,部分内容来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2031@163.com,全球名企网编辑将予以删除。
上一篇:人均不过百吃大餐,这家天津本地小海鲜饭馆让我实现了海鲜自由!
下一篇:没有了

