维护概览

AlloyDB 集群和实例依赖于许多内部低级Google Cloud 资源。这些资源包括用作 AlloyDB 节点和负载平衡器的虚拟机 (VM) 实例,以及存储数据的存储卷。由于 AlloyDB 是一项托管式服务,因此 Google 会负责及时更新这些内部资源。这有助于确保您的 AlloyDB 集群和实例始终保持可靠、高性能和安全。

其中大多数更新无需停机,但某些系统更新需要短暂中断服务。我们将这些更新称为维护。由于这些更新需要重启受影响的节点,因此可能会导致停机。

AlloyDB 的无中断维护操作会将主实例和次要实例的停机时间限制在 1 秒以下,并将读取池的停机时间限制为 0 秒。为了实现接近零停机时间和零停机时间,我们会准备包含更新的替换服务器,然后再切换数据库服务器。如您在日志中所看到的,操作时间比宕机时间长。

维护原因

维护更新可能由以下原因导致:

  • 新增了 AlloyDB 功能。如需发布新功能,Google 需要更新集群中节点上运行的 AlloyDB 软件。这可能还涉及更新 AlloyDB 附带的 PostgreSQL 扩展程序,或安装新扩展程序。

  • 数据库兼容性升级。PostgreSQL 社区会定期发布受支持的 PostgreSQL 主要版本的次要版本更新。Google 会将这些更新纳入 AlloyDB,并将其应用于配置为与受影响的主要版本兼容的集群。如需了解详情,请参阅数据库版本政策

  • 操作系统补丁。Google 会持续监控在构成 AlloyDB 集群的内部资源上运行的操作系统中的安全漏洞。发现漏洞后,我们会修补资源的操作系统,以防范新风险。

维护时间和维护期

您可以为主要 AlloyDB 集群和次要 AlloyDB 集群设置维护期。默认情况下,AlloyDB 集群的非紧急维护可以随时进行,但周一至周五的上午 6 点到晚上 10 点除外(以集群所在区域的当地时间为准)。

如果您的集群在非默认的维护时间安排下能获得更好的服务,则可以指定维护窗口。维护期用于指定集群开始执行维护事件的首选时间(以小时和星期几为单位)。例如,您可以将集群的维护期设置为从星期日上午 11 点(世界协调时间)开始。

如果您设置了维护期,AlloyDB 会将未来的非紧急维护事件安排在指定时间后 1 小时内开始。此外,如果您选择接收有关即将进行的 AlloyDB 维护活动的电子邮件通知,那么在安排维护活动后,您会立即收到有关该活动的自动通知。维护事件至少提前一周安排。

您无法设置维护期的结束时间,因为单个维护事件所需的总时间可能会因集群的复杂性(即需要更新的读取池实例数量)和更新性质而异。虽然任何单个实例所需的停机时间可能非常短暂,但整个维护过程可能需要数小时。因此,您可以使用维护期来控制集群实例的维护宕机时间的大致时间,但无法为任何实例指定精确到分钟的宕机时间。

紧急维护事件(例如应用紧急安全补丁)可能会在默认维护时间或配置的维护窗口之外发生。

维护窗口最佳实践

我们建议您在生产集群上设置维护窗口,但不要在非生产集群上设置维护窗口。这是因为维护更新大致遵循以下事件顺序:

  1. 首先,Google 会更新没有维护时间范围的所有集群。
  2. 接下来,Google 会为所有有维护时间范围的集群安排更新。这些更新至少提前 1 周发布。
  3. 如果您已选择接收有关即将进行的 AlloyDB 维护活动的通知,Google 会向您发送电子邮件,告知您安排的维护事宜。
  4. Google 会在安排的时间执行维护更新。

因此,收到即将进行维护的通知还意味着,系统已将相同的更新应用于未设置维护窗口的所有集群。如果您不为非生产集群设置维护窗口,则可以保证它们会先收到系统更新,并且您可以使用即将进行的维护通知作为提示,在非生产环境中测试或预览更新。

后续步骤