基于3AZ(3个可用区)的同城容灾

Hologres基于3AZ的同城容灾能力,支持将实例的可用性从单一可用区扩展到同城三个可用区,提供跨可用区级别的故障隔离能力,确保业务系统不会因为单一可用区故障而中断服务,可用于应对运营商网络故障、单可用区计算设置故障等场景,提升业务的容灾能力。

注意事项

  • 仅支持将V3.0.19及以上版本的实例升级为同城冗余存储实例。如有需要,请提交工单或加入实时数仓Hologres交流群,由Hologres运维人员为您进行升级转换。

  • 当前开通服务地域:华南1(深圳)中国(香港)新加坡、华东2金融云(上海)华东1金融云(杭州)。

3AZ同城容灾介绍

功能介绍

Hologres基于3AZ的同城容灾能力支持将实例的可用性从单可用区扩展到同城三个可用区,提供跨可用区级别的故障隔离能力,确保业务系统不会因为单一可用区故障而中断服务,可用于应对运营商网络故障、单可用区计算设置故障等场景,提升业务的容灾能力。

Hologres基于3AZ的同城容灾能力包含3AZ存储容灾和多AZ计算高可用,介绍如下:

  • 3AZ存储节点同城容灾:又名同城冗余存储,是指支持将一个实例的数据存储在同一个Region的多个可用区(此处可用区为底层Pangu可用区,无需关注具体属于哪一个),当某个可用区的存储机房不可用时,同城冗余存储模式下,系统会自动访问副本可用区,无需手动切换业务,即可保证数据的正常访问,从而实现机房级别的同城容灾。

  • AZ计算节点高可用:如果实例是同城冗余存储类型,当计算机房发生故障时,如果目标可用区的计算资源充足,可以通过手动切换可用区的方式将计算节点迁移至正常可用区,以此来规避计算机房的故障,提升计算层的高可用性。

技术原理

  • 本地冗余存储:当实例的存储冗余类型为本地冗余存储时,实例默认部署在同一个Region的一个可用区,当该可用区的机房不可用时,会导致相关数据不可访问,存储和计算都无法实现跨可用区高可用。

  • 同城冗余存储:当实例的存储冗余类型为3AZ同城冗余存储(同城容灾)时,该存储类型可以将数据冗余存储在同一Region多个可用区,当某个可用区的机房不可用时,同城冗余仍然能保障数据的正常访问,提供机房级别的存储和计算同城容灾能力。

与本地冗余存储相比,同城冗余存储具有更高的可用性和容灾切换能力,同时存储费用会有所上升,具体情况请参见计费概述。其余费用保持不变。

3AZ的同城容灾分为存储容灾计算容灾,其技术原理如下:

存储容灾原理

存储容灾:3AZ同城冗余存储模式下,会将实例的数据存储在同一个Region的多个可用区。实例所在的可用区为主可用区,其余可用区为底层物理机已部署的可用区。

说明

可用区是指底层物理机器所在的可用区,系统会根据实例所在的主可用区自动选择其余可用区,您无需关注具体是哪个可用区。

  • 当实例所在可用区正常服务时:

    • 数据写入:多个可用区同时写入,只有当所有可用区都写入完成,才返回结果,如果有一个失败,那么所有可用区的写入都一起失败,存储系统会强保证写入的原子性。

    • 数据查询:会优先从实例所在的可用区查询数据。

  • 当实例所在可用区发生故障时:

    • 数据写入:写入会自动不写该可用区,会选择另外一个正常可用区继续写,系统始终保证底层是多副本,极端情况下至少会有一个可用区提供正常服务。

    • 数据查询:会自动路由到最近的副本可用区查询数据,保证服务的连续性和可用性。

  • 当实例所在可用区故障恢复后:

    • 数据写入:继续写原来的可用区,故障期间新写的数据,系统会自动从副本可用区异步复制新数据到该可用区。

    • 数据查询:存储引擎读数据时会自动路由,优先选择实例所在可用区的数据,如果实例所在可用区没有最新数据,那么会自动路由到副本可用区读取数据,以此来保证数据的正确性。因此也无需关心原故障的可用区何时能复制好故障期间的新数据,系统会通过自动路由的方式自动保证数据的新鲜度、正确性。

3AZ同城冗余存储模式下,系统能做到存储的高可用和容灾自动切换,无需手动操作就能保证业务的可用性。

image

计算容灾原理

只有当实例是3AZ同城冗余存储时,计算才能实现容灾切换的能力。但不同于存储的3AZ容灾(系统自动切换可用区和自动路由),因为计算本身不存储数据,当计算机房发生灾难时,需要在管控台手动选择计算故障切换可用区的功能,让计算的可用区切换到正常的可用区,从而保证计算的可用性。

说明

切换计算可用区时,如果目标可用区资源不足,可能无法切换。系统不保证计算资源100%充足。建议您及时提交工单或加入实时数仓Hologres交流群,反馈给Hologres技术支持。

购买与使用同城容灾实例

新购实例时请选择存储冗余类型同城冗余存储(同城容灾)

说明
  • 计费情况:会按照同城冗余存储的单价收费,相比普通实例只增加存储费用,详情请见计费概述

  • 存量实例默认为本地冗余存储(单AZ存储),仅支持3.0.19及以上版本的实例升级为3AZ存储实例,详情请参见普通实例转换为3AZ同城容灾实例

image

实例购买成功后,在实例详情页的存储资源查看实例的存储冗余类型同城冗余存储,当发生可用区故障时,可以根据容灾恢复指引操作。同时您可以像使用本地冗余存储的实例一样正常使用该类型的实例。

容灾恢复指引

存储容灾恢复指引

当实例所在的可用区发生存储机房故障时,您将会收到Hologres关于故障情况的短信或邮件通知。Hologres会进行一次恢复操作,具体如下:

  1. Hologres会自动进行存储的可用区切换,无需业务做任何操作,业务自动恢复。

  2. 切换存储的可用区后,会继续将数据写入正常可用区,不受故障可用区影响,查询会自动路由到与实例最近的可用区上存储的数据,业务无需做任何的改造,若故障期间有作业运行失败,请执行重跑操作。

  3. 您只需关注业务运行情况,确保业务整体恢复正常。

image

计算容灾恢复指引

若实例的存储冗余类型为同城冗余存储(同城容灾),Hologres提供手动切换计算可用区的能力来实现多AZ计算节点高可用,从而快速恢复业务。

当实例所在的计算可用区发生故障时,您将会收到Hologres关于故障的短信或邮件通知。您可以手动执行如下操作进行恢复:

  1. 您可以前往Hologres管理控制台,在实例列表页面单击目标实例ID,进入实例详情页面。

  2. 在实例左侧导航栏单击备份与容灾,并选择同城容灾页签。

  3. 在计算容灾区域,单击计算故障切换可用区image

  4. 如果目标可用区计算资源充足,您可以在计算故障切换可用区的对话框中选择对应的计算容灾可用区,然后单击确定,进行计算节点的可用区迁移。

    迁移完成后,实例的Endpoint等基础配置均不会改变,当实例状态为运行中时,若有失败作业请及时重跑恢复,并持续关注业务运行情况,直至全部恢复。

重要
  • 仅存储冗余类型为同城冗余存储(同城容灾)的实例支持手动切换计算可用区,实现计算容灾,若您的实例为本地冗余存储,请参照普通实例转换为3AZ同城容灾实例进行操作。

  • 在手动切换计算可用区时,如果目标可用区计算资源不足,将无法切换,请及时提交工单或加入实时数仓Hologres交流群,反馈给Hologres技术支持。

  • 手动迁移计算可用区后,实例的Endpoint、网络配置等基础配置均不会改变。

  • 手动迁移计算可用区后,不会额外产生计算费用。

普通实例转换为3AZ同城容灾实例

若实例的存储冗余类型为本地冗余存储,表示实例的数据仅存储在同一个Region的一个可用区,当该可用区的存储机房不可用时,会导致相关数据不可访问。

若您的业务需要具备同城容灾能力,请提交工单加入实时数仓Hologres交流群,由Hologres运维人员后台进行转换。但需注意:

  • V3.0.19及以上版本的Hologres实例支持同城冗余存储,若您的实例版本低于V3.0.19,请您使用实例升级或加入实时数仓Hologres交流群,申请升级实例,详情请参见如何获取更多的在线支持?

  • 转换过程的影响:

    • 操作过程中,实例将会停写不停读,若您的作业有自动Failover,可以无需手动停止作业。

    • 转换的时间与实例中的表数量有关,预计大部分实例能在10分钟内完成操作。具体时间请Hologres技术支持人员进行评估。

  • 转换完成后,存储费用会根据同城冗余存储的单价进行计费,存储费用将会上涨,请及时关注账单。