Google Cloud(GCP)Ubuntu 系統盤擴容完整教程:從磁盤擴容到文件系統擴展
在使用 Google Cloud(GCP)部署服務器時,系統盤常常會因為日誌、項目文件、數據庫增長而出現空間不足的問題。本教程將介紹如何在 不重裝系統、不破壞數據 的前提下,安全地擴容 Ubuntu 系統盤,並擴展文件系統使新增空間真正可用。
本教程適用於:
- Ubuntu 18.04 / 20.04 / 22.04 / 24.04
- 系統盤(Boot Disk)擴容
- Ext4 或 XFS 文件系統
一、在 GCP 控制台擴容系統盤
首先需要在 GCP 控制台增大磁盤大小,這一步只是修改雲磁盤容量,操作系統里的分區和文件系統大小暫時不會變化。
- 登錄 Google Cloud Console
- 左側菜單進入:Compute Engine → VM instances
- 點擊需要擴容的實例名稱進入詳情頁
- 在頁面中找到 Boot disk(啟動磁盤) 區域,點擊右側的 Edit(編輯)
- 在彈出的磁盤設置中,調整 Size(大小),例如從
20 GB調整到100 GB - 保存更改(某些情況下可能需要先停止實例再修改)
完成上述操作後,雲磁盤本身容量已經變大,但系統里的根分區和文件系統暫時仍然是原來的大小,所以需要在 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 - 文件系統類型:一般是 ext4 或 xfs
四、擴展分區和文件系統(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 系統盤擴容流程可以總結為兩大步:
- 在 GCP 控制台擴容雲磁盤
- 通過 Console 將 Boot Disk(啟動磁盤)容量從原來的大小增大到新的大小(例如 20G → 100G)。
- 在 Ubuntu 系統內擴展分區和文件系統
- 使用
growpart擴展分區(例如/dev/sda1)。 - 根據文件系統類型使用:
- ext4:
sudo resize2fs /dev/sda1 - xfs:
sudo xfs_growfs /
- ext4:
- 使用
只有“雲磁盤容量擴容 + 分區/文件系統擴展”兩步都完成,系統盤空間才會真正變大並被操作系統識別。
八、常見問題(FAQ)
1. 擴容操作會導致數據丟失嗎?
正常情況下不會。這裡使用的 growpart 和 resize2fs / xfs_growfs 都是在原數據基礎上擴展分區和文件系統,不會覆蓋已有數據。不過在生產環境下,建議在操作前做好快照或備份,以防意外。
2. 擴容後需要重啟服務器嗎?
不需要。本教程中的操作都是在線擴容,命令執行成功後即可在系統中直接看到新的空間。
3. 我可以多次擴容同一塊系統盤嗎?
可以。GCP 支持多次將同一塊磁盤容量逐步增大,每次擴容後在系統內重複執行擴展分區和文件系統的步驟即可。
4. GCP 單塊磁盤最大能擴到多大?
根據 Google Cloud 官方說明,標準持久磁盤(Persistent Disk)單塊最大可以達到數十 TB 級別,普通使用場景足夠使用。
通過以上步驟,就可以在 Google Cloud 上安全、快速地完成 Ubuntu 系統盤擴容,無需重裝系統,也不會影響現有服務的正常運行。
發布者:彬彬筆記,轉載請註明出處:https://www.binbinbiji.com/zh-hant/jianzhanjiaoliu/3783.html