解決磁碟已滿和磁碟調整大小的問題

本頁說明調整永久磁碟大小或永久磁碟空間不足時,可能遇到的常見問題,以及各項問題的解決方法。

事前準備

  • 請務必先建立磁碟快照,再執行任何疑難排解步驟,確保資料已備份。
  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,可以選取下列任一選項,向 Compute Engine 進行驗證:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    2. Set a default region and zone.

    REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

修改磁碟時發生速率限制錯誤

嘗試修改 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
    

如要解決這個問題,請按照下列步驟操作:

  1. 建立磁碟的快照

  2. 刪除磁碟上不需要的檔案,釋出空間。

  3. 如果磁碟之後需要更多空間,請調整磁碟大小

開機磁碟空間不足,導致無法存取 VM

如果 VM 的開機磁碟已滿,您可能無法存取 VM。這種情況可能難以識別,因為 VM 連線問題是否是由於開機磁碟空間不足所致,並不一定顯而易見。如果開機磁碟已滿,導致您無法透過 Google Cloud CLI 存取 VM,可能會遇到下列常見錯誤:

      Network error: Software caused connection abort
      
      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', '/']...
      

如要解決上述問題,請按照下列步驟操作:

  1. 確認 VM 的 SSH 失敗是否是因為啟動磁碟空間不足:

    gcloud compute instances tail-serial-port-output VM_NAME
    

    如果開機磁碟已滿,輸出結果會包含 No space left on device 訊息。

  2. 如果尚未建立快照,請建立 VM 開機磁碟的快照

  3. 嘗試重新啟動 VM

  4. 如果還是無法存取 VM,請按照下列步驟操作:

    1. 停止 VM:

      gcloud compute instances stop VM_NAME
      

      將您的 VM 名稱替換為 VM_NAME

    2. 增加開機磁碟大小:

      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
      
    3. 啟動 VM:

      gcloud compute instances start VM_NAME
      
  5. 再次嘗試 透過 SSH 連線至 VM。 如果還是無法存取 VM,請採取下列其中一項做法:

檔案系統問題

調整檔案系統大小

調整 VM 開機磁碟大小後,大多數 VM 會調整根檔案系統大小,並重新啟動 VM。不過,對於某些 VM 映像檔類型,您可能必須手動調整檔案系統大小。如果 VM 不支援自動調整根檔案系統大小,或是您已調整資料 (非開機) 永久磁碟的大小,就必須手動調整檔案系統和分區的大小

如要確認根檔案系統是否在調整 VM 開機磁碟大小後自動擴充,請按照下列步驟操作:

  1. 使用下列其中一種方法,檢查 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% /
      
  2. 如果 VM 未調整根檔案系統大小,請手動調整檔案系統和分區大小

儲存空間直接存取 (S2D) 限制

使用儲存空間直接存取 (S2D) 時,您無法透過調整基礎永久磁碟大小來增加容量。如果從硬體層級調整磁碟大小,S2D 就無法辨識新增的空間,資料也可能無法存取。如要增加容量,請新增伺服器或硬碟,而不是調整現有永久磁碟的大小。

如要檢查磁碟是否已設定為 S2D 叢集或儲存集區的一部分,請完成下列步驟:

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體

  2. 在擁有調整過大小的磁碟之執行個體旁邊,按一下「RDP」按鈕。瀏覽器會開啟對於執行個體的遠端桌面協定連線。

  3. 在「Windows 開始」按鈕上按一下滑鼠右鍵,然後選取「磁碟管理」,開啟「磁碟管理」工具。 舉例來說,下列螢幕截圖顯示磁碟 1 有儲存空間保護分區:

磁碟管理中的 S2D 詳細資料。

或者,您也可以執行下列任一 PowerShell 指令,找出與 S2D 設定相關聯的任何 Persistent Disk。

       Get-Disk | Where-Object Model -eq "Storage Space"
       
       Get-PhysicalDisk | Where-Object {$_.ObjectId -like "*Spaces*"}