在不停机的情况下增加 RDS 存储大小

Increase RDS Storage Size with no downtime

我是一名初学者,正在努力解决 MySQL RDS 上增加存储大小的问题。

问题是我想在不停机的情况下增加 RDS 存储大小。假设我默认情况下没有在 RDS 上启用自动缩放。我对此进行了研究,发现基本上有两种选择:

选项 1) 启用自动缩放。AWS 文档位于 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html。但是,官方文档没有具体说明是否不会停机。它说我可以在不谈论停机时间的情况下启用 on/off 自动缩放。

选项 2) 直接提供更多 space 官方文档还说我可以提供更多存储大小,但需要注意的是

In most cases, scaling storage doesn't require any outage and doesn't degrade performance of the server.

从 SO 线程 (https://serverfault.com/questions/613182/downtime-for-increasing-aws-rds-storage) 看来,这个过程似乎不是无缝的。

选项 3) 备份和恢复: 我会备份 RDS。然后,我会增加存储容量。然后,我将恢复 RDS 并停止之前的实例。

问题:有人可以指导我哪个选项没有停机时间并且给我们带来的麻烦相对较少吗?

我的假设是选项 1) 最好,但我只是想与专家确认我的假设。

通过阅读该文档,Auto-scaling 存储会触发“scale-up”存储,这与直接“增加数据库实例存储容量”相同。它还具有在将来自动扩展的好处。

自 2017 年以来 运行 的 SQL 服务器实例提到了 special-case,但从阅读文档可以看出,所有其他数据库实例都不会有中断。

选项 #3 肯定会中断,因此这不是一个明智的选择。

我建议进行手动备份,然后在安静时段(例如晚上)激活 Auto Scaling。

您始终可以通过创建另一个数据库并触发 scale-up 存储来进行试验,看看会发生什么。