在 AWS 上,我的数据库服务器有一个 EC2 实例,附带一个 250GB 的 EBS 卷(200GB 的实际数据)用于数据存储。此卷之前未进行过快照。
我需要将此卷移至另一个可用区域。我正在考虑最佳方法。服务器相当活跃,有大量写入和更新。
我让网站离线,并停止数据库服务器。我启动快照,完成后,在新的可用区域中启动基于快照的卷。我估计等待快照完成的停机时间约为 4 小时。
我不确定这是否会更有效率。我在网站保持在线时对卷进行快照。这可能需要 5 或 6 个小时,但目前还没有停机时间。快照在完成时显然已经过时(并且可能已损坏?)。然后,我将网站脱机,停止数据库服务器,并像上面一样创建一个新的快照和卷。由于第二个快照只需要复制在这 5 或 6 小时内修改的数据,我假设我不会有 4 小时的停机时间,但快照会快得多。这是正确的吗?
谢谢您的帮助。
答案1
您认为后续快照应该更快的假设似乎是正确的(尽管我还没有尝试过)。另外,我不认为对 250GB 卷进行快照会花费 4 个小时,我猜它会更快。
另一方面 - 您使用什么数据库? MySQL? PostgreSQL? SQL Server? Oracle?
您可能最好在数据库级别设置数据库副本(也称为主从设置),使两个实例同步,然后将从属实例提升为新的主实例。这样,您应该能够在很少的停机时间内完成此操作。