更新存储空间容量时出现问题

本页面介绍了在尝试缩减实例存储空间容量时可能会收到的常见错误消息。

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 支持团队 联系以获取帮助。

存储空间缩减 gcloud 命令在 10 分钟后失败

当您尝试使用 gcloud sql instances 命令缩减实例的存储空间大小时,可能会发生以下错误:

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

如果操作持续时间超过 10 分钟,您可能会收到此错误消息。

如需解决此问题,请在命令末尾添加 --async 标志,以异步等待操作。

后续步骤