切换集群实例可用区
功能介绍
可用区(Availability Zone,AZ)指在同一区域(Region)下,电力、网络隔离的物理区域。同一地域内的可用区之间通过内网互通,但彼此在物理层面保持隔离,以降低单点故障风险。
多可用区部署是CSS服务提供的高可用性解决方案。通过在同一个地域内选择2个或3个不同的可用区部署集群,可有效防止数据丢失并降低服务中断风险。
该接口通过指定节点类型切换可用区。
接口约束
-
为了保证业务的连续性,集群中数据节点数和冷数据节点数之和要大于或等于3,即“数据节点数+冷数据节点数 ≥ 3”。
-
切换过程中会逐一下线节点再重建节点,需要保证单节点下线后,其余节点的磁盘容量能够接纳该节点的所有数据,且磁盘使用率小于80%。
-
为确保集群中索引的所有分片能够被分配到剩余数据节点或冷数据节点中,防止切换过程中出现节点下线后副本无法分配的情况,需要确认数据节点数和冷数据节点数之和要大于索引副本数的最大值加1,即“数据节点数 + 冷数据节点数 > 索引副本数的最大值 + 1”。
-
当集群处于切换可用区过程中,部分节点的AZ属性可能已经更改,此时节点的可用区可能会显示出中间状态,等待任务结束后,集群的可用区显示将恢复正常状态。
调用方法
请参见如何调用API。
URI
POST /v1.0/{project_id}/clusters/{cluster_id}/inst-type/{inst_type}/azmigrate
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
参数解释: 项目ID。获取方法请参见获取项目ID和名称。 约束限制: 不涉及 取值范围: 账户的项目ID。 默认取值: 不涉及 |
|
cluster_id |
是 |
String |
参数解释: 指定切换可用区的集群ID。获取方法请参见获取集群ID。 约束限制: 不涉及 取值范围: 集群ID。 默认取值: 不涉及 |
|
inst_type |
是 |
String |
参数解释: 指定切换可用区的节点类型。 约束限制: 在切换可用区前,建议备份所有关键数据,以免造成数据丢失。 取值范围:
默认取值: 不涉及 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
source_az |
是 |
String |
参数解释: 节点当前所在可用区。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
target_az |
是 |
String |
参数解释: 节点目标可用区。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
migrate_type |
是 |
String |
参数解释: 可用区迁移方式。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
|
agency |
是 |
String |
参数解释: 委托名称,重建节点时会重新绑定网卡,需要VPC的操作权限。选择IAM委托,授权当前账号访问和使用VPC的权限。 约束限制: 无法配置含特殊字符和中文字符的委托,允许使用的委托名称仅可包含a-zA-Z0-9-_字符。 取值范围: 不涉及 默认取值: 不涉及 |
|
indices_backup_check |
否 |
Boolean |
参数解释: 是否进行全量索引快照备份检测。建议选择进行全量索引快照备份检测,保证数据有备份,防止任务失败,数据丢失。 约束限制: 不涉及 取值范围:
默认取值: true |
响应参数
状态码:200
请求已成功。
无
请求示例
切换当前集群可用区。
POST https://{Endpoint}/v1.0/{project_id}/clusters/ea244205-d641-45d9-9dcb-ab2236bcd07e/inst-type/all/azmigrate
{
"source_az" : "cn-north-4c",
"target_az" : "cn-north-4a",
"migrate_type" : "az_migrate",
"agency" : "css-test-agency"
}
响应示例
无
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
请求已成功。 |
|
400 |
非法请求。 建议直接修改该请求,不要重试该请求。 |
|
403 |
请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 |
错误码
请参见错误码。