了解 Databases for Elasticsearch 的高可用性和灾难恢复
高可用性服务或工作负载根据预先定义的服务级别承受故障并继续提供处理能力的能力。 对于服务,可用性在服务水平协议中进行了定义。 可用性包括计划内和计划外事件,例如维护、故障和灾难。 (HA)是指服务在出现意外故障时仍能保持运行和访问的能力。 灾难恢复服务或工作负载从罕见重大事故和大规模故障(如服务中断)中恢复的能力。 这包括影响整个地区的自然灾害、数据库损坏或导致工作负荷增加的服务中断。 这种影响超出了高可用性设计所能承受的范围。是将服务实例恢复到工作状态的过程。
Databases for Elasticsearch 是一种区域性服务,可实现标准计划中规定的 服务水平目标(SLO)。
更多信息,请参阅 服务级别协议(SLA)。 有关 Databases for Elasticsearch 可用 IBM Cloud 地区和数据中心的更多信息,请参阅“按位置划分的服务和基础设施可用性”。
高可用性架构
Databases for Elasticsearch 提供复制、故障转移和高可用性功能,保护您的数据库和数据免受基础架构维护、升级和某些故障的影响。 部署包含一个有三个数据成员的群集。 Elasticsearch 使用索引存储数据,每个索引都有一个主分区和一个副本分区。 Elasticsearch 利用基于主备份模式的数据复制模式。 主分片是索引操作的主要入口点,其他副本称为副本分片。 采用异步复制来保持复制分片的最新状态。 Elasticsearch 确保集群状态的稳定性,方便故障切换。 如果主节点不可用,则会选出一个新的主节点,新主节点上的复制分片会被提升为主节点。 领导分片和副本分片在地理上分布在群集内的不同区域,以降低同时发生故障的风险。
您可以通过为索引添加更多副本来进一步扩展高可用性,但这需要考虑额外的存储成本。
查看 Elasticsearch 复制技术文档,了解与默认部署的异步复制策略相关的限制和权衡。
高可用性功能
Databases for Elasticsearch 支持以下高可用性功能
功能 | 描述 | 对价 |
---|---|---|
自动故障切换 | 所有集群的标准配置,可抵御区域或单个成员故障。 | |
成员计数 | 至少 3 名成员。 默认为标准三部署。 | |
水平缩放 | 通过添加更多 Elasticsearch 节点(也称为成员),可以水平扩展 IBM Cloud Databases for Elasticsearch 部署。 增加节点可提高容量和可靠性。 |
灾后恢复架构
灾难恢复功能
Databases for Elasticsearch 支持以下灾难恢复功能:
功能 | 描述 | 对价 |
---|---|---|
备份还原 | 从先前创建的备份中创建数据库。 更多信息,请参阅 管理 Cloud Databases 备份。 | 必须在整个工作负载中引用已恢复数据库的新连接字符串。 |
水平缩放 | 通过添加更多 Elasticsearch 节点(也称为成员),可以水平扩展 IBM Cloud Databases for Elasticsearch 部署。 添加更多节点将使数据库更能承受多区故障。 | |
快照 | 您可以将快照存储在可从多个区域访问的快照存储库中。 不过,快照不是实时的,通常用于备份和恢复,而不是立即进行故障切换。 如果发生故障,必须手动从快照中还原。 |
灾难恢复规划
必须定期练习灾难恢复步骤。 在制定计划时,请考虑以下失败情况和解决办法。
失败 | 解决方法 |
---|---|
硬件故障(单点) | IBM 提供的数据库可抵御区域内单点硬件故障,无需任何配置。 |
区域故障 | 自动故障切换 数据库成员分布在各区之间。 配置三个成员可提高对多个区域故障的恢复能力。 |
数据损坏 | 备份还原。 将恢复的数据库用于生产或源数据,以纠正恢复数据库中的损坏。 |
地区性失败 | 备份还原。 在生产中使用恢复的数据库。 |
应用级高可用性
通过网络和云服务进行通信的应用程序会受到瞬时连接故障的影响。 当与部署或 IBM Cloud 的连接暂时中断而导致错误时,设计应用程序以重试连接。
Databases for Elasticsearch 是一项托管服务,定期更新和数据库维护是正常运行的一部分。 这偶尔会导致数据库在短时间内不可用。 它还会导致数据库触发优雅故障切换、重试和重新连接。 数据库需要很短的时间来确定哪个成员是副本,哪个是领导者,因此也可能会出现短暂的连接中断。 故障切换一般不超过 30 秒。
您的应用程序必须能够处理数据库的临时中断,对失败的数据库命令执行错误处理,并执行重试逻辑以从临时中断中恢复。
预计不会出现几分钟的数据库不可用或连接中断情况。 如果超过一分钟仍无法连接,请打开 支持案例 并提供详细信息,以便我们进行调查。
连接限制
Databases for Elasticsearch 对数据库连接数没有任何限制,因为它使用 REST API 与数据库交互。 Elasticsearch 默认设置为基本操作(如全文搜索、高亮显示、聚合和索引)提供了良好的开箱即用体验。
如果您希望提高数据库的性能,请参阅 优化 Elasticsearch 页面了解更多信息。
您对 HA 和 DR 的责任
以下信息可帮助您创建并持续实践 HA 和 DR 计划。
从备份或使用时间点还原法还原数据库时,会创建一个带有新连接字符串的新数据库。 必须调整现有的工作负载和流程,以便使用新的连接字符串。
恢复后的数据库可能还需要与灾难数据库相同的客户创建的依赖关系。 确保在收复地区提供这些服务和其他服务:
- IBM® Key Protect for IBM Cloud®
- Hyper Protect Crypto Services
请记住,删除数据库也会删除其相关备份。 不过,被删除的数据库可以在有限的时间内恢复。 有关更多信息,请参阅 备份常见问题文档,了解数据库恢复程序的具体详情。
无法从 IBM Cloud 复制备份,因此可考虑使用特定于数据库的工具进行额外备份。 在恶意删除数据库后,可能需要使用它来恢复数据库。 仔细管理 IAM 对数据库的访问有助于减少这一问题的发生。
以下与每个功能相关的核对表可以帮助您制定和实践您的计划。
- 备份还原
- 验证备份是否以所需频率提供,以满足 RPO 要求。 管理 Cloud Databases 备份,记录备份频率。
- 数据库还原区域有一些限制--请阅读 管理 Cloud Databases 备份,以验证您的还原目标能否实现。
- 验证备份的保留期是否符合您的要求。
- 定期安排测试恢复,以验证实际恢复时间是否符合定义的 RTO。 请记住,数据库大小对还原时间有很大影响。 请考虑尽量缩短还原时间的策略,例如将大型数据库分解成更小、更易于管理的单元,以及清除未使用的数据。
- 验证 Key Protect 服务。
要进一步了解客户和 IBM Cloud 之间在使用 Databases for Elasticsearch 方面的责任归属,请参阅 Cloud Databases 的共同 责任。
了解最新信息:IBM 通知
影响客户工作负载的更新通过 IBM Cloud 通知。 要随时了解与此服务相关的计划维护、公告和发布说明,请参阅 监控通知和状态 页面。 此外,请定期查看 版本政策 页面,了解有关生命周期结束版本和日期的最新更新。