存储空间缩减简介

如果 Cloud SQL 实例的 storage 容量大于应用程序所需容量,则可以手动减少或缩小存储容量。

主实例和只读副本实例均支持存储收缩操作,并且所有 Cloud SQL 版本均支持此功能。

存储容量要求

目标存储大小必须大于实例安全所需的最小允许存储容量。

为了保证性能稳定,我们建议为某些操作(例如重新索引)预留一定的存储容量缓冲区。我们建议预留大约 100 GB 或当前使用量的 20% 或更多,以较大者为准。

如需了解详情,请参阅责任共担

性能

存储空间缩减操作可能会影响实例性能。Cloud SQL 使用带有永久性存储磁盘的 Compute Engine 虚拟机 (VM)。Hyperdisk Balanced 提供的 存储可线性扩展,并提供可预测的性能。

有关更多信息,请参阅配额和固定限制

停机时间

存储缩减操作需要实例停机;操作完成后实例将重新启动。

根据基础磁盘的大小,存储空间缩减操作可能会导致相当长的停机时间。如果您的实例需要将停机时间限制在一定范围内,我们建议您使用 Database Migration Service 将数据迁移到新的较小实例,而不是使用存储空间缩减功能。

缩小实例存储空间时发生的停机时间与恢复读取副本时发生的停机时间相当。

操作

在存储空间缩减操作完成之前,所有其他操作均不可用。

我们建议您等到其他操作完成后再运行存储收缩操作。这包括数据备份或导入等操作。

在对只读副本应用收缩操作之前,必须先在主实例上完成存储收缩操作。

任何时候,只读副本的存储容量都不能小于与其关联的主实例的存储容量。如果要缩小副本的存储容量,则必须先在其关联的主实例上完成存储缩小操作。

取消操作仅在主实例或独立实例上受支持。

共享核心实例不支持存储空间缩减操作。不过,您可以将应用设置更改为非共享核心实例,然后执行存储空间缩减操作。

副本

  • 如果您缩小主实例的存储空间大小,则其副本仍会具有更大的磁盘。如果您想减小副本的存储空间大小,则必须手动执行此操作。

  • 如果对主实例应用了存储空间缩减操作,则随后创建的任何只读副本都会应用与更新后的主实例相同的存储空间配置。

  • 如果主实例及其关联的读取副本使用不同的数据库版本,并且对副本应用了存储空间缩减操作,则重新创建的副本会更新到主数据库版本,以确保副本成功重启。

  • 虽然可以使用存储空间缩减操作来缩减使用读取池的主实例的存储空间,但您无法对读取池应用存储空间缩减操作。

  • 您无法查看读取副本的最低存储容量。此功能仅支持主实例。不过,您可以缩小只读副本的存储空间容量,使其与关联的主实例的存储空间容量保持一致。

  • 读取副本的存储空间容量在任何时候都不能小于其关联的主实例。

限制

以下功能存在限制:

  • 存储空间缩减操作无法应用于级联副本。
  • Terraform 不支持此功能。

后续步骤