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

本页面介绍了在尝试减少或缩减实例存储容量时可能会收到的常见出错提示。

C4、C4A、C4D 和 N4 机器类型的存储空间缩减失败

当您尝试对 C4、C4A、C4D 或 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.

C4、C4A、C4D 和 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.
  • 如果请求的目标大小与现有存储空间大小过于接近,则需要修改该值并再次运行该操作。修改选项包括:

    如需了解详情,请参阅限制。

副本的存储空间大小无效

当您尝试对副本运行存储空间缩减操作,且请求的目标大小无效时,可能会发生以下错误:

示例 1

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

如果 --storage-size 的请求目标大小已达到 10GB 的最小大小,则无法进一步缩减。

如需解决此问题,请指定一个在可接受范围内的目标存储空间大小,然后再次运行该操作。

如需了解详情,请参阅限制。

示例 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. 确保目标存储空间大小大于您之前设置的目标大小下限。

max_wal_size 值过大

尝试缩减 PostgreSQL 实例的存储空间大小时,可能会发生以下错误:

  {
    "error": {
      "code": 400,
      "message": "Operation not allowed on instance INSTANCE_NAME with max_wal_size = MAX_WAL_SIZE, should be set less than 5120 before disk shrink operation..",
      "errors": ...
  }

如果 max_wal_size 标志的设置值过高,则实例重启速度可能会很慢,从而导致操作超时并失败。

如需解决此问题,您需要将 max_wal_size 值更新为小于 5128 MB。如需查看如何修改数据库标志的示例,请参阅配置数据库标志。

以下命令是一个示例:

  gcloud sql instances patch INSTANCE_NAME \
  --database-flags=max_wal_size=MAX_WAL_SIZE

替换以下内容:

  • INSTANCE_NAME:副本实例的名称。
  • MAX_WAL_SIZE:您要使用的预写式日志上限。

存储空间缩减在 10 天后失败

如果存储空间缩减操作持续超过 10 天,则会超时。

如需解决此问题,请升级实例的 CPU 以缩短总操作时间。

存储空间缩减失败,并出现内部错误

存储空间缩减操作失败可能会返回一条消息,指示发生内部错误。

如需解决此问题,请联系 Cloud SQL 支持团队寻求帮助。

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

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

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

如果操作持续时间超过 10 分钟,您可能会收到此出错提示。

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

后续步骤