ストレージ容量の更新に関する問題

このページでは、インスタンスのストレージ容量を 縮小しようとしたときに表示される一般的なエラー メッセージについて説明します。

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 の制限に基づいて使用するターゲット ストレージ サイズを再計算し、ストレージの縮小オペレーションをもう一度実行します。

読み取りプールでオペレーションが失敗する

読み取りプールでストレージの縮小に関連するオペレーションを実行しようとすると、次のエラーが発生します。

例 1

gcloud sql instances perform-storage-shrink READ_POOL_NAME

ERROR: (gcloud.sql.instances.perform-storage-shrink) HTTPError 400: Invalid
request: Requested operation is not supported on a read pool.

読み取りプールまたは読み取りプールノードでは、ストレージの縮小オペレーションはサポートされていません。

例 2

gcloud sql instances get-disk-shrink-config READ_POOL_NAME

ERROR: (gcloud.sql.instances.get-storage-shrink-config) HTTPError 400: Invalid
request: Requested operation is not supported on a read pool.

読み取りプール、読み取りプールノード、レプリカのストレージ縮小構成を確認することはできません。

ただし、関連付けられたプライマリ インスタンスの使用可能なストレージ容量を確認することはできます。

キャンセル ステータスを確認できない

ストレージの縮小オペレーションのキャンセル リクエストのステータスを確認しようとすると、次のエラーが発生することがあります。

  {
    "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.
  • リクエストされたターゲット サイズが既存のストレージ サイズに近すぎる場合は、値を変更してオペレーションをもう一度実行する必要があります。変更オプションは次のとおりです。

    • ターゲット値を大きくします。
    • ターゲット値を minimalTargetSizeGb 値と同じに設定します。

    詳細については、制限事項をご覧ください。

レプリカのストレージ サイズが無効

レプリカでストレージの縮小オペレーションを実行しようとしたときに、リクエストされたターゲット サイズが無効な場合、次のエラーが発生することがあります。

例 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 フラグを追加して、オペレーションを非同期で待機します。

次のステップ