更新儲存空間容量時發生問題

本頁說明嘗試減少或縮減執行個體儲存空間容量時,可能會收到的常見錯誤訊息。

C4A 和 N4 機型無法縮減儲存空間

嘗試對 C4A 或 N4 機型套用儲存空間縮減作業時,可能會發生下列錯誤:

  ERROR: (gcloud.sql.instances.perform-storage-shrink) HTTPError 400: Invalid
  request: Requested provisioned IOPS is too high for the machine type and/or data disk size.

C4A 和 N4 機型使用 Google Cloud Hyperdisk,可讓使用者調整磁碟輸送量和 IOPS 值。如果嘗試將磁碟大小縮減至設定的處理量和 IOPS 值無效的程度,磁碟縮減作業就會失敗並傳回錯誤。

在這個範例錯誤訊息中,要求的執行個體 IOPS 值大於新的小型磁碟 IOPS 上限值,因此作業失敗。

如要解決這個問題,請根據機器的 Google Cloud Hyperdisk 限制重新計算要使用的目標儲存空間大小,然後再次執行儲存空間縮減作業。

無法查看取消狀態

嘗試查看儲存空間縮減作業的取消要求狀態時,可能會發生下列錯誤:

  {
    "kind": "sql#operation",
    "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/example_instance",
    "status": "RUNNING",
    "user": "user@example.com",
    "insertTime": "2023-12-18T22:54:11.663Z",
    "startTime": "2023-12-18T22:54:12.047Z",
    "error": {
      "kind": "sql#operationErrors",
      "errors": [
        {
          "kind": "sql#operationError",
          "code": "CANCEL_ERROR",
          "message": "The UPDATE operation 490cdbe6-8b75-415c-99c1-ccc80000004f can not be cancelled."
        }
      ]
    },
    "operationType": "UPDATE",
    "name": "OPERATION_ID",
    "targetId": "example_instance",
    "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
    "targetProject": "PROJECT_ID"
  }

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

  1. 這則錯誤訊息可能表示取消要求即將完成。請過幾分鐘後再查看作業狀態。
  2. 如果還是收到相同的錯誤訊息,請與 Cloud SQL 支援團隊聯絡,尋求協助。
  3. 如果成功,系統會傳回類似以下內容的訊息:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/example_instance",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2023-12-18T22:54:11.663Z",
      "startTime": "2023-12-18T22:54:12.047Z",
      "error": {
        "kind": "sql#operationErrors",
        "errors": [
          {
            "kind": "sql#operationError",
            "code": "CANCEL_SUCCESSFUL",
            "message": "The UPDATE operation is canceled."
          }
        ]
      },
      "operationType": "UPDATE",
      "name": "OPERATION_ID",
      "targetId": "example_instance",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

儲存空間縮減失敗

嘗試執行儲存空間縮減作業時,可能會發生下列錯誤:

  There is a pending blocking operation for instance: INSTANCE_NAME

這則錯誤訊息可能表示其他作業仍在執行中,例如:

  • 備份作業
  • 匯入作業
  • 執行個體上先前的儲存空間縮減作業
  • 與要修改的唯讀複本相關聯的主要執行個體,仍有儲存空間縮減作業正在執行

如要解決這個問題,請等待先前的作業完成。

如果先前的 IMPORT 作業停滯,請與 Cloud SQL 支援團隊聯絡,要求取消作業。

詳情請參閱「限制」一節。

主要執行個體的儲存空間大小無效

在主要執行個體上執行儲存空間縮減作業時,如果要求的目標大小無效,可能會發生下列錯誤:

範例 1

  Invalid target storage size SIZE. Target storage
  size should be at least 10GB, which is the minimum storage size for a
  Cloud SQL instance.
  • 要求的目標大小必須大於或等於執行個體允許的最小儲存空間大小。

    如要解決這個問題,請指定較大的目標儲存空間大小,然後再次執行作業。

    詳情請參閱「限制」一節。

範例 2

  Instance INSTANCE_NAME cannot shrink storage further
  because the storage size is 10GB and the minimum storage size for a Cloud SQL
  instance is 10GB.
  • 要求的目標大小過小。如果 --storage-size 的目標大小已達 10 GB 的下限,就無法再縮小。

    如要解決這個問題,請指定較大的目標儲存空間大小,然後再次執行作業。

    詳情請參閱「限制」一節。

範例 3

  ERROR: (gcloud.sql.instances.perform-storage-shrink) argument --storage-size: VALUE
  must be greater than or equal to 10GB; received: SIZE
  • 如果 --storage-size 的要求目標大小太小,請在主要執行個體上執行下列指令,取得允許的最小儲存空間容量:

    gcloud sql instances get-storage-shrink-config PRIMARY_INSTANCE_NAME
    

    回應包含 minimalTargetSizeGb 的值。您可以將這個值用於 --storage-size 參數,然後再次執行作業。

範例 4

  Invalid target storage size SIZE. Target storage
  size should be smaller than present storage size CURRENT_SIZE.
  • 如果 --storage-size 的要求目標大小過大,表示該值大於主要執行個體的目前儲存空間大小,因此您需要使用較小的值。

    如要使用較大的磁碟,請先編輯執行個體,然後再試一次。

範例 5

  Requested storage size is too close to current storage usage, request storage
  size should be minimum SIZEGB.
  • 如果要求的目標大小與現有儲存空間大小太接近,則需要修改值並再次執行作業。可修改的選項包括:

    詳情請參閱「限制」一節。

副本的儲存空間大小無效

如果您嘗試在副本上執行儲存空間縮減作業,且要求的目標大小無效,可能會發生下列錯誤:

範例 1

  Cannot shrink storage further for replica INSTANCE_NAME
  because the minimum storage size for a Cloud SQL replica is 10GB.

如果 --storage-size 的要求目標大小已達 10 GB 的最小大小,就無法再縮小。

如要解決這個問題,請指定可接受範圍內的目標儲存空間大小,然後再次執行作業。

詳情請參閱「限制」一節。

範例 2

  Cannot shrink storage further for replica REPLICA_INSTANCE_NAME
  because current replica storage size isn't greater than primary instance
  PRIMARY_INSTANCE_ID storage size. If you want to shrink
  both primary and replica instance, please shrink primary instance first.

唯讀備用資源的儲存空間容量隨時不得小於相關聯的主要執行個體。如要縮減副本的儲存空間容量,請先對相關聯的主要執行個體完成儲存空間縮減作業。

詳情請參閱「限制」一節。

儲存空間不足

嘗試設定儲存空間縮減大小時,可能會發生下列錯誤:

  {
    "error": {
      "code": 400,
      "message": "Invalid target storage size TARGET_SIZE. ...",
      "errors": ...
  }

這則錯誤訊息可能表示執行個體的儲存空間不足。

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

  1. 請務必按照所有縮減儲存空間的步驟操作。
  2. 請確認目標儲存空間大小大於先前設定的最小目標大小。

10 天後儲存空間縮減失敗

如果縮減儲存空間作業持續超過 10 天,就會逾時。

如要解決這個問題,請升級執行個體的 CPU,以縮短整體作業時間。

發生內部錯誤,導致儲存空間縮減失敗

如果儲存空間縮減作業失敗,系統可能會傳回指出內部錯誤的訊息。

如要解決這個問題,請與 Cloud SQL 支援團隊聯絡,尋求協助。

10 分鐘後,儲存空間縮減 gcloud 指令失敗

使用 gcloud sql instances 指令縮減執行個體的儲存空間大小時,可能會發生下列錯誤:

  Performing a storage size decrease on a Cloud SQL instance....failed.

如果作業時間超過 10 分鐘,您可能會收到這則錯誤訊息。

如要解決這個問題,請在指令結尾加上 --async 旗標,以非同步方式等待作業完成。

後續步驟