Google Cloud(GCP)Ubuntu 系统盘扩容完整教程:从磁盘扩容到文件系统扩展

Google Cloud(GCP)Ubuntu 系统盘扩容完整教程:从磁盘扩容到文件系统扩展

在使用 Google Cloud(GCP)部署服务器时,系统盘常常会因为日志、项目文件、数据库增长而出现空间不足的问题。本教程将介绍如何在 不重装系统、不破坏数据 的前提下,安全地扩容 Ubuntu 系统盘,并扩展文件系统使新增空间真正可用。

本教程适用于:

  • Ubuntu 18.04 / 20.04 / 22.04 / 24.04
  • 系统盘(Boot Disk)扩容
  • Ext4 或 XFS 文件系统

一、在 GCP 控制台扩容系统盘

首先需要在 GCP 控制台增大磁盘大小,这一步只是修改云磁盘容量,操作系统里的分区和文件系统大小暂时不会变化。

  1. 登录 Google Cloud Console
  2. 左侧菜单进入:Compute Engine → VM instances
  3. 点击需要扩容的实例名称进入详情页
  4. 在页面中找到 Boot disk(启动磁盘) 区域,点击右侧的 Edit(编辑)
  5. 在弹出的磁盘设置中,调整 Size(大小),例如从 20 GB 调整到 100 GB
  6. 保存更改(某些情况下可能需要先停止实例再修改)

完成上述操作后,云磁盘本身容量已经变大,但系统里的根分区和文件系统暂时仍然是原来的大小,所以需要在 Ubuntu 中执行扩展操作。


二、SSH 登录服务器并查看当前磁盘情况

使用 SSH 登录到 GCP 上的 Ubuntu 服务器:

ssh your-user@your-server-ip

查看磁盘结构:

lsblk

示例输出:

sda      100G
└─sda1    20G

可以看到:

  • /dev/sda 是整块云磁盘,现在已经是 100G
  • /dev/sda1 是根分区,仍然是扩容前的 20G

接下来需要扩展 /dev/sda1 分区以及其上的文件系统。


三、确认根分区文件系统类型(ext4 还是 xfs)

不同文件系统扩展命令略有区别,先查看根分区的文件系统类型:

df -Th /

示例输出一(ext4):

/dev/sda1  ext4  20G  10G   9G  53%  /

示例输出二(xfs):

/dev/sda1  xfs   20G  10G   9G  53%  /

记住这里的两点:

  • 设备名称:通常是 /dev/sda1
  • 文件系统类型:一般是 ext4xfs

四、扩展分区和文件系统(Ext4 常见情况)

大多数 GCP Ubuntu 实例的根分区使用的是 ext4 文件系统,这种情况使用下面的命令即可完成扩容。

1. 扩展分区

使用 growpart 将整块磁盘的空闲空间扩展到分区 /dev/sda1 中:

sudo growpart /dev/sda 1

参数说明:

  • /dev/sda:磁盘设备名称
  • 1:要扩展的分区号(也就是 /dev/sda1 的“1”)

正常情况下会看到类似输出:

CHANGED: partition=1 start=... old: size=... new: size=...

2. 扩展 ext4 文件系统

分区扩展后,需要扩展文件系统才能真正使用新增空间:

sudo resize2fs /dev/sda1

等待命令执行完成后,ext4 文件系统会自动扩展到当前分区的最大大小。

特点:整个过程不需要重启服务器,扩展完成后空间立即可用。


五、扩展分区和文件系统(XFS 情况)

如果第三步中看到根分区的文件系统类型是 xfs,则扩展方法略有不同。

1. 扩展分区

扩展分区的命令相同:

sudo growpart /dev/sda 1

2. 扩展 XFS 文件系统

对于 XFS 文件系统,需要使用 xfs_growfs 来扩展:

sudo xfs_growfs /

其中 / 表示根挂载点,命令会自动将根分区扩展为可用的最大容量。


六、验证系统盘扩容是否生效

无论是 ext4 还是 xfs,扩展完成后都可以使用 df -h 检查结果:

df -h

示例输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        98G   10G   88G  11% /

可以看到根分区已从原先的 20G 扩容到了接近 100G,新空间可正常使用,说明系统盘扩容成功。


七、扩容流程小结

整个 GCP Ubuntu 系统盘扩容流程可以总结为两大步:

  1. 在 GCP 控制台扩容云磁盘
    • 通过 Console 将 Boot Disk(启动磁盘)容量从原来的大小增大到新的大小(例如 20G → 100G)。
  2. 在 Ubuntu 系统内扩展分区和文件系统
    • 使用 growpart 扩展分区(例如 /dev/sda1)。
    • 根据文件系统类型使用:
      • ext4:sudo resize2fs /dev/sda1
      • xfs:sudo xfs_growfs /

只有“云磁盘容量扩容 + 分区/文件系统扩展”两步都完成,系统盘空间才会真正变大并被操作系统识别。


八、常见问题(FAQ)

1. 扩容操作会导致数据丢失吗?

正常情况下不会。这里使用的 growpartresize2fs / xfs_growfs 都是在原数据基础上扩展分区和文件系统,不会覆盖已有数据。不过在生产环境下,建议在操作前做好快照或备份,以防意外。

2. 扩容后需要重启服务器吗?

不需要。本教程中的操作都是在线扩容,命令执行成功后即可在系统中直接看到新的空间。

3. 我可以多次扩容同一块系统盘吗?

可以。GCP 支持多次将同一块磁盘容量逐步增大,每次扩容后在系统内重复执行扩展分区和文件系统的步骤即可。

4. GCP 单块磁盘最大能扩到多大?

根据 Google Cloud 官方说明,标准持久磁盘(Persistent Disk)单块最大可以达到数十 TB 级别,普通使用场景足够使用。


通过以上步骤,就可以在 Google Cloud 上安全、快速地完成 Ubuntu 系统盘扩容,无需重装系统,也不会影响现有服务的正常运行。

发布者:彬彬笔记,转载请注明出处:https://www.binbinbiji.com/jianzhanjiaoliu/3783.html

(0)
彬彬笔记彬彬笔记
上一篇 2025年11月22日 11:49
下一篇 2022年6月27日 13:33

相关推荐

发表回复

登录后才能评论
蜀ICP备14017386号-13