如何执行多可用区故障转移和 Amazon RDS 实例重启的根本原因分析?

上次更新时间:2021 年 9 月 29 日

我想知道我的 Amazon Relational Database Service (Amazon RDS) 实例发生多可用区故障转移和重启的根本原因。

简短描述

为数据库实例使用多可用区部署时,Amazon RDS 会在与子网关联的一个可用区中创建主数据库实例。然后,RDS 在与不同子网关联的不同可用区中创建备用数据库实例。有关更多信息,请参阅 Amazon RDS 的高可用性 (多可用区)

Amazon RDS 可检测多可用区部署中最常见的故障并自动从中恢复过来,这样您可在无管理干预的情况下尽快恢复数据库操作。如果您为数据库实例启用了多可用区配置,则在数据库实例发生计划内或计划外中断时,Amazon RDS 会自动切换到另一个可用区中的备用副本。如果发生以下任何一种情况,Amazon RDS 将自动执行故障转移:

  • 主可用区的可用性受损
  • 主节点的网络连接受损
  • 主节点的计算单位出现故障
  • 主区域的存储故障

解决方法

检查日志和指标

检查以下内容以确定中断的根本原因:

事件:要确定实例计划外中断的根本原因,请查看过去 24 小时内的所有 Amazon RDS 事件。默认情况下,所有事件都在 UTC/GMT 时间内注册。要更长时间存储事件,请将 Amazon RDS 事件发送到 Amazon CloudWatch Events。有关更多信息,请参阅创建对 Amazon RDS 事件触发的规则

CloudWatch 指标:查看 Amazon RDS 实例的 CloudWatch 指标,以检查数据库负载问题是否引发了中断。有关更多信息,请参阅查看 Amazon RDS 指标和维度

查看以下指标并检查是否存在限制:

  • DatabaseConnections
  • CPUUtilization
  • FreeableMemory
  • ReadIOPS
  • WriteIOPS
  • ReadLatency
  • Write Latency
  • DiskQueueDepth

增强监控:Amazon RDS 将增强监控中的指标传输到您的 Amazon CloudWatch Logs 账户中。这将实时提供关于运行数据库实例的操作系统 (OS) 的指标。您可以在控制台上查看数据库实例的所有系统指标和进程信息。

您可以将增强监控功能的粒度设置为 1、5、10、15、30 或 60。

要为 Amazon RDS 实例启用增强监控,请参阅设置和启用增强监控

性能详情:使用性能详情控制面板时,您可以使数据库负载可视化,并按等待、SQL 语句、主机或用户来筛选负载。该控制面板包含与数据库性能相关的信息,可帮助您分析和解决性能问题。 为数据库实例启用性能详情功能后,您可以在主控制面板页面上查看有关数据库负载的信息。

要查看实例的性能详情控制面板,请执行以下操作:

  1. 打开 Amazon RDS 控制台
  2. 在导航窗格中,选择性能详情
  3. 在“性能详情”页面上,选择您的数据库实例。
    您可以查看此数据库实例的性能详情控制面板。

如果您为实例启用了性能详情功能,则还可以通过选择数据库实例列表中的会话项来查看此控制面板。

有关详细信息,请参阅打开性能详情控制面板

日志和事件:要排查 Amazon RDS for Oracle 数据库实例中断的原因,请查看实例的日志和事件选项卡中的警报日志。

确定中断的原因

在多可用区环境中,事件日志中最常见的故障转移原因如下:

  • RDS 多可用区实例的主机运行状况不佳:此原因表示存在短暂的底层硬件问题,导致与主实例的通信丢失。此问题可能导致实例运行状况不佳,因为 RDS 监控系统无法与 RDS 实例通信以执行运行状况检查。
  • 由于网络连接丢失,RDS 多可用区实例的主机无法访问:此原因表明多可用区故障转移是由影响多可用区部署主机的临时性网络问题引起的。内部监控系统检测到此问题并主动启动了故障转移。
  • RDS 多可用区主实例繁忙且无响应多可用区实例激活已启动多可用区实例激活已完成:事件日志在以下情况中显示这些消息:
    • 主数据库实例没有响应。
    • 数据库中的内存资源紧张使 RDS 监控系统无法与底层主机联系。
    • 数据库实例在底层主机上遇到间歇性的网络问题。
    • 该实例经历了数据库负载。在这种情况下,您可能会注意到 CPUUtilization 和 DatabaseConnections 出现峰值以及 Freeablememory 耗尽。
      注意:为避免由于数据库过载而导致 RDS 实例故障转移和重启,请在数据库实例上适当配置内存参数。
  • RDS 多可用区实例的主机底层的存储卷发生故障:此消息表示底层存储硬件遇到了导致 Amazon Elastic Block Store (Amazon EBS) 卷延迟增加的问题。主机检测到性能下降并进入故障状态。作为一项主动措施,监控系统启动故障转移至辅助系统。
  • 客户修改了 RDS 实例:此消息表示故障转移是由 RDS 实例修改启动的。
  • 用户请求对数据库实例进行故障转移:此消息表示您重启实例,然后选择了通过故障转移重启。

有关更多信息,请参阅 Amazon RDS 的故障转移过程

注意:要在 RDS 实例发生故障转移时收到通知,请订阅 Amazon RDS 事件通知。有关更多信息,请参阅如何创建 Amazon RDS 事件订阅?


这篇文章对您有帮助吗?


您是否需要账单或技术支持?