磁盘分区无损扩容脚本扩展服务器硬盘:磁盘分区无损扩容

当服务器硬盘空间不足时,最稳妥的方式是无损扩容——在不删除数据、不重装系统的情况下扩大分区。
本文介绍如何借助 growpart 和文件系统工具,用一段简单脚本完成磁盘分区的无损扩容,适合 Linux 云服务器(如泽御云等平台)或物理机用户,操作前建议创建快照或备份。

动手前必须确认的三件事

  1. 确认新增磁盘空间已挂载:如果是云服务器扩容系统盘,通常需要在控制台(如泽御云后台)执行「扩容」操作,然后重启或让系统识别新空间。物理机加盘后需用 fdisk -llsblk 查看新设备名。
  2. 检查分区表类型fdisk -l 输出中看是否有 GPTMBR 标识。GPT 分区可用 growpart 直接扩展,MBR 主分区也可,但扩展分区操作稍复杂。
  3. 备份数据:使用运维脚本前,务必用快照(云厂商控制台)或 dd 命令做一次完整备份,防止误操作。

一步一步无损扩容

以下脚本适用于 CentOS 7+ / Ubuntu 18.04+,假设你要扩容的分区是 /dev/vda1(系统盘常见),挂载点为 /

1. 安装必要工具

# CentOS
sudo yum install -y cloud-utils-growpart
# Ubuntu / Debian
sudo apt install -y cloud-guest-utils

2. 确定目标分区和文件系统类型

# 查看分区信息
df -h /  | tail -1
# 查看文件系统类型(ext4 或 xfs)
lsblk -f /dev/vda

3. 使用脚本执行扩容

创建脚本 expand_partition.sh

#!/bin/bash
DISK="/dev/vda"       # 根据实际修改
PART="1"              # 分区编号,例如 vda1 则 PART=1
MOUNT="/"             # 挂载点

# 扩展分区表
growpart $DISK $PART

# 根据文件系统类型扩容
FSTYPE=$(df --output=fstype $MOUNT | tail -1)
if [ "$FSTYPE" == "ext4" ]; then
    resize2fs ${DISK}${PART}
elif [ "$FSTYPE" == "xfs" ]; then
    xfs_growfs $MOUNT
else
    echo "不支持的文件系统:$FSTYPE"
    exit 1
fi

echo "扩容完成,请用 df -h 验证"

赋予执行权限并运行:

chmod +x expand_partition.sh
sudo ./expand_partition.sh

4. 验证效果

df -h /   # 查看根分区容量是否增大
lsblk     # 确认分区大小与磁盘大小一致

新手最容易踩的坑

  • 忘记刷新控制台或重启:部分云平台(如泽御云)扩容系统盘后需要重启实例或运行 partprobe 才能识别新空间。
  • 误扩逻辑分区:MBR 下的扩展分区内逻辑分区号(如 sda5)不能直接用 growpart,需要先扩展扩展分区(sda2)再调整逻辑分区,建议用 gdiskparted
  • 文件系统检查失败:运行 resize2fs 前若分区不正则,先执行 e2fsck -f /dev/vda1 修复。
  • XFS 无法在线收缩:xfs_growfs 只能扩大不能缩小,且必须挂载后操作。

常见问题解答

Q1:脚本执行后分区大小没变怎么办?

检查是否已执行 partprobe 或重启过设备。
如果使用云服务器,建议先在控制台刷新“扩容/挂载”操作,再跑脚本。

Q2:扩容后数据会丢失吗?

使用 growpart 和 resize2fs/xfs_growfs 是设计为无损的操作,但任何磁盘操作都有风险,请务必提前备份。

Q3:我的分区是 xfs 文件系统,脚本里有个 xfs_growfs 够用吗?

xfs_growfs 需要指定挂载点(脚本中已自动获取),且只能在挂载状态下运行。
如果提示“设备正忙”,确保没有其他进程占用。

Q4:没有 growpart 工具怎么办?

可以手动使用 fdisk 删除分区重建(保持起始扇区相同)后写入,然后用 partx 刷新。
但推荐安装 growpart 更安全。

总结

通过本文的脚本和步骤,你可以安全地对服务器磁盘进行无损扩容,无需重装系统或迁移数据。
记住每次操作前先备份,确认磁盘和分区信息,然后按顺序执行命令。
不同云平台(如泽御云等)的操作入口略有差异,建议参考官方文档。
如果你正在处理磁盘分区相关操作,建议完整执行后再微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
无网络主机离线部署宝塔面板完整流程(新手版)
下一篇
Nginx完整跨域配置修复外贸API接口报错
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意