本頁說明調整永久磁碟大小或永久磁碟空間不足時,可能會遇到的常見問題,以及各項問題的修正方式。
事前準備
- 執行任何疑難排解步驟前,請務必建立磁碟快照,確保資料已備份。
-
如果尚未設定驗證,請先完成設定。驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,您可以選取下列任一選項,向 Compute Engine 驗證身分:
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
- 設定預設區域和可用區。
-
修改磁碟時發生速率限制錯誤
嘗試修改 Extreme Persistent Disk 或 Google Cloud Hyperdisk 時,可能會遇到下列常見錯誤。您可能會在多個位置看到這些錯誤,例如在序列控制台輸出或應用程式記錄中。
Disk cannot be resized due to being rate limited.
Cannot update provisioned iops due to being rate limited.
Cannot update provisioned throughput due to being rate limited.
請查看下列修改磁碟的時間限制:
- 在 6 小時內,您只能調整一次 Extreme 永久磁碟或 Hyperdisk Throughput 磁碟區的大小。
- 每 4 小時只能調整一次 Hyperdisk Extreme 磁碟區大小。
- 每 4 小時只能變更一次 Hyperdisk 磁碟區的佈建 IOPS 或處理量。
如要解決這些錯誤,請等待一段時間 (自上次修改後算起),再嘗試修改磁碟。
磁碟容量錯誤
以下各節說明與磁碟容量相關的常見錯誤,以及解決方法。
完整磁碟
當永久磁碟達到容量上限時,您可能會遇到下列常見錯誤。您可能會在許多地方看到這些錯誤,例如序列埠控制台輸出內容或應用程式記錄。
No space left on device
Not enough storage is available to process this command
Error: There isn't enough space on the disk.
請按照下列步驟解決這個問題:
開機磁碟空間已滿,因此無法存取 VM
如果 VM 的開機磁碟已滿,您可能無法存取 VM。這種情況很難判斷,因為 VM 連線問題是否是由於開機磁碟空間不足所致,並不一定顯而易見。如果開機磁碟空間不足,您可能無法透過 Google Cloud CLI 或使用 RDP 存取 VM,以下是常見錯誤的範例:
Network error: Software caused connection abort
Your Remote Desktop Services session has ended. The connection was lost because the remote computer is running low on memory or disk space.
ERROR: (gcloud.compute.ssh) Could not SSH into the instance. It is possible that your SSH key has not propagated to the instance yet. Try running this command again. If you still cannot connect, verify that the firewall and instance are set to accept ssh traffic.
You cannot connect to the VM instance because of an unexpected error. Wait a few moments and then try again.
No space left on device
ERROR Exception calling the response handler. [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/']...
如要解決上述問題,請按照下列步驟操作:
確認 VM 連線能力失敗是因為開機磁碟空間不足:
Linux VM:檢查序列埠輸出內容:
gcloud compute instances tail-serial-port-output VM_NAME
如果開機磁碟已滿,輸出內容會包含
No space left on device訊息。Windows VM:使用特殊管理控制台 (SAC):
在 SAC 中開啟命令提示字元管道後,請執行下列指令來檢查可用空間:
wmic logicaldisk get caption,freespace,size
如果尚未建立 VM 開機磁碟的快照,請先建立快照。
嘗試重新啟動 VM。
如果還是無法存取 VM,請按照下列步驟操作:
停止 VM:
gcloud compute instances stop VM_NAME
將
VM_NAME替換為您的 VM 名稱。增加開機磁碟的大小:
gcloud compute disks resize BOOT_DISK_NAME --size DISK_SIZE
更改下列內容:
BOOT_DISK_NAME:VM 開機磁碟的名稱DISK_SIZE:開機磁碟的新大小,以 GB 為單位
舉例來說,如要將名為
example-disk-1的磁碟大小調整為 6 GB,請執行下列指令:gcloud compute disks resize example-disk-1 --size=6GB
啟動 VM:
gcloud compute instances start VM_NAME
再次嘗試 透過 SSH 連線至 VM。 如果還是無法存取 VM,請採取下列任一做法:
根據快照建立新磁碟。詳情請參閱「復原無法存取的 VM 或已滿的開機磁碟」。
僅適用於 Linux VM:使用開放原始碼的 GCE Rescue 工具,暫時以救援模式啟動 VM。 然後按照「檔案系統問題」中的步驟操作。
檔案系統問題
以下各節說明常見的檔案系統問題和解決方法。
調整檔案系統大小
調整 VM 開機磁碟大小後,大多數 VM 會調整根檔案系統大小,並重新啟動 VM。不過,對於某些 VM 映像檔類型,您可能需要手動調整檔案系統大小。如果 VM 不支援自動調整根檔案系統大小,或您已調整資料 (非開機) 永久磁碟的大小,則必須手動調整檔案系統和分區的大小。
如要確認根檔案系統是否在調整 VM 開機磁碟大小後自動擴充,請按照下列步驟操作:
請使用下列任一方法,檢查 VM 是否已調整啟動磁碟大小:
檢查序列埠輸出內容。找出指出根分區大小已調整的行。
舉例來說,在採用 Debian 映像檔的 VM 上,如果自動調整大小成功,控制台記錄檔會包含
... expand-root.sh[..]: Resizing ext4 filesystem on /dev/sda1這行。如果可以透過 SSH 連線至 Linux VM,請執行
df -h指令,檢查是否有可用磁碟空間。舉例來說,這項輸出內容顯示根檔案系統已滿 92%:
Filesystem Size Used Avail Use% Mounted on udev 63G 0 63G 0% /dev tmpfs 13G 1.4M 13G 1% /run /dev/sda1 339G 315G 24G 92% /
如果 VM 未調整根檔案系統大小,請手動調整檔案系統和分區大小。
Storage Spaces Direct (S2D) 限制
使用 Storage Spaces Direct (S2D) 時,您無法透過調整基礎持續性磁碟的大小來增加容量。如果在硬體層級調整磁碟大小,S2D 將無法辨識新增空間,資料可能會無法存取。如要增加容量,請新增伺服器或磁碟機,而非調整現有永久磁碟的大小。
如要檢查磁碟是否已設定為 S2D 叢集或儲存空間集區的一部分,請完成下列步驟:
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
在磁碟大小已調整的執行個體旁,按一下「RDP」RDP按鈕。瀏覽器會開啟執行個體的 RDP 連線。
在 Windows 的「開始」按鈕上按一下滑鼠右鍵,然後選取「磁碟管理」,開啟「磁碟管理」工具。舉例來說,以下螢幕截圖顯示磁碟 1 具有儲存空間保護分割區:
或者,您也可以執行下列任一 PowerShell 指令,找出與 S2D 設定相關聯的任何 Persistent Disk。
Get-Disk | Where-Object Model -eq "Storage Space"
Get-PhysicalDisk | Where-Object {$_.ObjectId -like "*Spaces*"}