首页 帮助中心 美国云服务器 服务器根分区满了怎么在线扩容?不重启、不丢数据完整教程
服务器根分区满了怎么在线扩容?不重启、不丢数据完整教程
时间 : 2026-10-08 17:00:47 编辑 : 华纳云 阅读量 : 11

根分区使用率100%。数据库无法写入,日志停止滚动,连`tab`补全都开始报错。更棘手的是,这台服务器上跑着生产业务,不能随便重启。这种场景下,传统的“关机→扩容→开机”流程意味着业务中断。但在Linux环境下,根分区的扩容完全可以在线完成,全程无需重启,业务不中断。前提是:你的磁盘结构支持在线扩展,且操作顺序正确。

先判断:你的磁盘结构是否支持在线扩容

动手之前,先花一分钟确认当前磁盘的“骨架”。执行以下命令:

df -hT

lsblk -f

sudo pvs; sudo vgs; sudo lvs

`df -hT`确认根分区的文件系统类型和挂载点;`lsblk -f`展示磁盘、分区、LVM与挂载点的层级关系;`pvs/vgs/lvs`则分别确认物理卷、卷组和逻辑卷的状态。

结果通常对应两种结构。第一种是普通分区,比如`/dev/vda1`直接挂载到根目录,文件系统是ext4或xfs。第二种是LVM逻辑卷,根分区位于`/dev/mapper/vg-root`之类的路径下,底层经过“物理卷→卷组→逻辑卷”三层管理。

在线扩容对两种结构都支持,但操作步骤不同。 LVM场景需要逐层扩展——先让物理卷识别新空间,再扩展逻辑卷,最后扩展文件系统;普通分区场景则先扩展分区边界,再扩展文件系统。

无论哪种结构,操作前务必为系统盘创建快照。在线扩容虽然风险较低,但任何涉及磁盘的操作都有数据风险。快照备份非常有必要!

/uploads/images/202610/08/0c3c1fff-0496-4c45-846d-b3a221c46c77.png  

第一步:让系统识别底层新增的磁盘容量

在云服务商控制台完成磁盘扩容后,底层块设备变大了,但Linux内核有时不会立即识别新容量。

先执行`lsblk`查看磁盘总容量是否已更新。如果整块磁盘的大小仍然显示旧值,需要主动触发重新扫描。以常见的`/dev/vda`为例:

echo 1 | sudo tee /sys/class/block/vda/device/rescan

如果使用SCSI控制器,也可以用通用扫描方式:

for i in /sys/class/scsi_host/host*/scan; do echo "- - -" | sudo tee $i; done

扫描完成后再次执行`lsblk`,确认磁盘总容量已变为扩容后的数值。

第二步:扩展分区边界(普通分区结构)

如果`lsblk`显示整块磁盘已经变大,但分区(如`/dev/vda1`)仍然保持旧大小,就需要扩展分区边界。

Linux镜像通常自带`growpart`工具。如果命令不存在,Ubuntu/Debian执行`sudo apt install -y cloud-guest-utils`,CentOS/RHEL执行`sudo yum install -y cloud-utils-growpart`。

扩展根分区所在的分区。假设根分区是`/dev/vda1`:

sudo growpart /dev/vda 1

注意命令格式:`/dev/vda`是磁盘设备,`1`是分区号,两者之间用空格分隔。不要写成`growpart /dev/vda1`,那是错误的格式。

对于LVM场景,分区扩展的步骤是相同的——如果根分区位于`/dev/vda3`,执行`sudo growpart /dev/vda 3`即可。扩展完成后,分区大小会更新,但LVM和文件系统层还没有感知到新增空间。

第三步:扩展LVM物理卷、卷组与逻辑卷

如果磁盘结构包含LVM,分区扩展后还需要逐层推进。先让物理卷识别新增空间:

sudo pvresize /dev/vda3

然后用`vgs`查看卷组的剩余空间。如果卷组中已有空闲空间,直接扩展逻辑卷即可:

sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

`-l +100%FREE`表示将卷组中所有剩余空间分配给该逻辑卷。如果你的逻辑卷路径不同,用`lvs`命令确认实际路径后再替换。

一个更简洁的做法是使用`lvextend -r`参数。`-r`(resize)标志会在扩展逻辑卷后自动调用对应的文件系统扩容工具,省去手动执行`resize2fs`或`xfs_growfs`的步骤:

sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

`-r`参数在RHEL 7+、Ubuntu 18.04+等现代发行版上均可用,是推荐的操作方式。

 第四步:扩展文件系统(关键的最后一步)

无论走普通分区路线还是LVM路线,最后一步都是扩展文件系统。分区变大了、逻辑卷变大了,但文件系统不会自动使用新增空间。不执行这一步,`df -h`看到的仍然是旧容量。

ext4文件系统使用`resize2fs`,参数是设备路径:

sudo resize2fs /dev/vda1

或者LVM场景:

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

`resize2fs`支持在线扩展,无需卸载文件系统。

XFS文件系统使用`xfs_growfs`,参数是挂载点而非设备路径。这是XFS和ext4最容易混淆的地方:

sudo xfs_growfs /

XFS只支持在线扩容,不支持在线缩减。执行`xfs_growfs /`会将根文件系统扩展到逻辑卷的当前大小。

执行完成后,再次运行`df -h`确认根分区容量已经更新。整个过程无需重启,业务持续运行。

如果根分区是LVM,但卷组没有空闲空间怎么办?

有一种情况是:分区扩展了,但卷组中仍然没有空闲空间——因为物理卷(PV)还没有重新扫描。`pvresize`的作用就是让LVM物理卷识别到底层分区新增的容量。如果跳过了这一步直接`lvextend`,系统会报错“Insufficient free space”。先执行`pvresize`,再用`vgs`确认`VFree`不为零,才能继续扩展逻辑卷。

操作后的验证清单

扩容完成后,按以下顺序验证:

根分区容量已更新——`df -h /`显示的总容量应与扩容目标一致。数据完整性正常——检查关键目录的读写是否正常,数据库能否正常连接。业务运行正常——从外部访问网站或API,确认服务未受影响。

如果任何一步出现异常,快照是最后的兜底手段。通过云控制台回滚快照,可以在几分钟内恢复到操作前的状态。

华纳云:为在线扩容提供稳定底座

在线扩容能否顺利完成,底层云平台的响应速度是一个实际变量。如果控制台的扩容操作与底层存储的同步存在延迟,`rescan`可能识别不到新容量;如果磁盘I/O性能不足,文件系统扩展的耗时会被拉长。

华纳云的云服务器基于OpenStack云平台,系统盘和数据盘均支持在线扩容,控制台操作后底层存储同步及时,`rescan`和`pvresize`能快速识别新增容量。华纳云香港节点接入CN2 GIA精品线路,三网直连优化,从国内通过SSH执行扩容操作时延迟低、连接稳定,不会因为网络抖动导致命令中断。全系标配企业级NVMe SSD,文件系统扩展的I/O操作响应迅速,`resize2fs`和`xfs_growfs`的执行时间更短。

华纳云还提供数据盘加购选项,适合需要将业务数据与系统盘分离部署的场景——提前规划数据盘可以减少根分区被业务数据挤占的概率。续费同价政策确保长期运营成本可预期。

根分区满了不必慌,但“在线扩容”有它自己的规则。 先确认磁盘结构,再按“块设备→分区→物理卷→逻辑卷→文件系统”的顺序逐层扩展,每一步都用命令验证结果,不在没有确认的情况下跳过任何一层。访问华纳云官网,查看支持在线扩容的云服务器方案与当前优惠。

华纳云 推荐文章
数据库服务器面临哪些挑战?如何挑选适合自己的数据库服务器 2026年新加坡高防服务器租用包含哪些隐藏费用?一份完整的避坑指南 新加坡服务器系统层调优的核心操作 如何用IP查询工具验证站群服务器的IP是不是真来自不同C段? 日本大带宽服务器Linux内核参数调优的全流程 香港cn2云服务器CPU突然100怎么办?top/htop/perf排查三步法 服务器测试文件清理教程(含排查、确认和防护流程) 服务器晚高峰丢包怎么测?MTR持续监测24小时数据解读 香港CN2云服务器2H4G配置能跑openclaw吗?如何优化资源使用 服务器晚高峰测试关注哪些指标?完整测试教程
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持