更新时间:2024-10-21 GMT+08:00
分享

切换OpenSearch集群可用区

CSS服务支持跨可用区的能力,在集群使用过程中遇到可用区资源不足或需要提升集群的高可用性时,可以通过切换可用区实现。

场景描述

切换可用区包含两大场景:可用区高可用改造和可用区平移切换。
  • 可用区高可用改造:适用于单AZ改造成两AZ、单AZ改造成三AZ或两AZ改造成三AZ的场景,目的是为了提升集群的高可用性。
  • 可用区平移切换:适用于从一个AZ完全迁移到另一个AZ的场景,目的是为了解决当前可用区资源不足的问题。

前提条件

  • 确保存在资源充足的可用区。
  • 集群处于“可用”状态,且无正在进行的任务。
  • 确认集群不存在非标操作。当集群进行过修改回程路由、系统参数、Kibana配置等这些非标操作时,这些操作无法被记录到系统中,因此在切换过程中将无法继承,切换后可能会影响业务。

约束限制

  • 为了保证业务的连续性,集群中数据节点和冷数据节点的个数之和要不小于3。
  • 切换过程中会逐一下线节点再新建节点,需要保证单节点下线后,其余节点的磁盘容量能够接纳该节点的所有数据。
  • 集群中索引的最大主备分片数能够被分配到剩余数据节点和冷数据节点中,防止切换过程中出现节点下线后副本无法分配的情况。即“索引的主备分片数的最大值+1 ≤ 切换前的数据节点数和冷数据节点之和”。
  • 切换前建议做好数据备份,防止升级故障数据丢失。
  • 当集群处于切换可用区过程中,部分节点的AZ属性可能已经更改,此时节点的可用区可能会显示出中间状态,等待任务结束后,集群的可用区显示将恢复正常状态。
  • 可用区高可用改造是基于原可用区进行扩展,切换时必须保留原可用区。如果是单AZ改造成两AZ或单AZ改造成三AZ的场景,必须所有节点一起改造;如果是两AZ改造成三AZ的场景,则既支持同时操作集群中所有类型的节点,也支持单独操作集群中某一类型的节点(例如,在已有两AZ的集群中,可以只对Master节点进行切换可用区,将Master节点形变为三AZ,而其他节点依旧是两AZ)。高可用改造会尽可能挪动最小的节点重建集群,改造完成后,因未挪动节点的yml配置更新,需要重启集群才能生效。
  • 可用区平移切换一次只能迁移一个可用区,切换时选择的可用区只能有一个不同。平移切换支持同时操作集群中所有类型的节点,或者单独操作集群中某一类型的节点(例如,在已有两AZ的集群中,可以只对Master节点进行平移切换,将Master节点从当前AZ迁移到另一个AZ,而其他节点依旧在当前AZ)。除了单AZ平移切换场景,其他的多AZ平移切换场景均需要重启集群生效。

切换可用区

  1. 登录云搜索服务管理控制台。
  2. 在左侧菜单栏,选择对应的集群类型,进入集群管理页面。
  3. 选择目标集群,单击操作列的“更多>形态变更”进入更改集群规格页面。
  4. 选择“切换可用区”页签。
  5. 在切换可用区页面,配置切换参数。
    表1 切换可用区的参数说明

    参数

    描述

    切换类型

    • 可用区高可用改造:支持单AZ改造成两AZ、单AZ改造成三AZ或两AZ改造成三AZ。

      高可用改造会尽可能挪动最小的节点重建集群,改造完成后,因未挪动节点的yml配置更新,需要重启集群才能生效。

    • 可用区平移切换:支持从一个AZ迁移到另一个AZ。

      除了单AZ平移切换场景,其他的多AZ平移切换场景均需要重启集群生效。

    当前节点类型

    选择进行AZ切换的节点类型。每次可选择一种节点类型进行操作,当集群有多种节点类型时,可选择“所有节点”进行全部切换。

    说明:

    如果是单AZ改造成两AZ或单AZ改造成三AZ的场景,只支持所有节点一起改造,因此只能选择“所有节点”

    当前AZ集合

    显示当前集群所在的可用区。

    目标AZ集合

    选择需要切换的目标可用区。

    • 可用区高可用改造:高可用区改造是基于原可用区进行扩展,因此“目标AZ集合”必须包含“当前AZ集合”且至少再选择一个可用区,最多选择3个可用区。
    • 可用区平移切换:一次切换任务只能迁移一个AZ,因此“目标AZ集合”只能有一个可用区和“当前AZ集合”不同。

    配置委托

    删除节点会释放网卡,需要VPC的操作权限。选择IAM委托,授权当前账号访问和使用VPC的权限。

    • 仅对接了IAM新平面时才显示该参数。
    • 当首次配置委托时,可以单击“自动创建委托”新建委托“css-upgrade-agency”直接使用。
    • 当已有自动创建的委托时,可以单击“委托一键授权”,删除委托中VPC Administrator系统角色和VPC FullAccess系统策略的权限,新增如下自定义策略授权委托到最小化权限。
      "vpc:subnets:get",
      "vpc:ports:*"
    • “自动创建委托”“委托一键授权”需要如下最小权限。
      "iam:agencies:listAgencies",
      "iam:roles:listRoles",
      "iam:agencies:getAgency",
      "iam:agencies:createAgency",
      "iam:permissions:listRolesForAgency",
      "iam:permissions:grantRoleToAgency",
      "iam:permissions:listRolesForAgencyOnProject",
      "iam:permissions:revokeRoleFromAgency",
      "iam:roles:createRole"
    • 使用委托需要如下最小权限。
      "iam:agencies:listAgencies",
      "iam:agencies:getAgency",
      "iam:permissions:listRolesForAgencyOnProject",
      "iam:permissions:listRolesForAgency"
  6. 配置完成后,单击“提交申请”。确认是否进行全量索引快照备份检测,单击“确定”启动切换任务。
    图1 全量索引快照备份检测
  7. “任务记录”列表,显示当前切换任务。当“任务状态”“运行中”时,可以展开任务列表,单击“查看进度”查看详细的切换进度。

    “任务状态”“失败”时,可以重试任务或者直接终止任务。

    • 重试切换任务:在任务列表的操作列,单击“重试”,重新切换可用区。
    • 终止切换任务:在任务列表的操作列,单击“终止”,结束切换可用区。

      当任务终止后,如果原节点还未切换成功,可以通过替换Elasticsearch集群指定节点尝试恢复节点。

      如果存在部分节点已经完成切换,此时集群的AZ形态已经发生变化,此时终止切换任务,可能无法再次按照上一次的切换请求进行命令下发,请谨慎执行终止切换任务。

相关文档