更新时间:2023-11-21 GMT+08:00

批量创建保护实例

功能介绍

批量创建保护实例。保护实例创建完成后,系统默认容灾站点云服务器名称与生产站点云服务器名称相同,但ID不同。如果需要修改云服务器名称,请在保护实例详情页面单击云服务器名称,进入云服务器详情页面进行修改,可参考更新保护实例名称接口。

约束与限制

  • 保护组的状态为available或者protected。
  • 使用挂载了共享云硬盘的生产站点服务器创建保护实例时,请确保共享云硬盘挂载的服务器都在待创建保护实例的服务器列表中。
  • 云服务器不能已经被创建保护实例。
  • 云服务器必须与保护组在同一个VPC。
  • 由弹性伸缩组伸缩时所创建的云服务器,在对该云服务器做容灾保护后,当弹性伸缩组缩容时,不支持对该云服务器执行删除操作。
  • 创建保护实例时,如果生产站点服务器为Windows云服务器且设置为密钥方式登录,请确保生产站点服务器使用的密钥对存在,否则可能导致云平台无法创建容灾站点云服务器,从而导致创建保护实例失败。

    如果生产站点云服务器对应的密钥对已被删除,请重新创建相同名称的密钥对。

  • 创建保护实例时,选择的生产站点云服务器如果加入了企业项目,保护实例创建成功后,容灾站点云服务器不会自动加入企业项目,如有需要请手动将容灾站点云服务器加入到企业项目。
  • 创建保护实例完成并对生产站点的服务器做容灾保护后,生产站点服务器中的“主机名”、“名称”、“安全组”、“委托”、“云服务器组”、“标签”和“自动恢复”配置项修改不会再自动同步到容灾站点的服务器上。您可以在控制台页面上手动将这些配置项的修改添加到容灾站点的服务器上。

URI

  • URI格式

    POST /v1/{project_id}/protected-instances/batch

  • 参数说明

    参数名称

    是否必选

    参数类型

    说明

    project_id

    String

    项目ID。

    获取方法请参见获取项目ID

请求消息

  • 参数说明

    参数名称

    是否必选

    参数类型

    说明

    protected_instances

    Object

    保护实例的信息。

    详情请参见表1

    表1 protected_instances字段说明

    参数名称

    是否必选

    参数类型

    说明

    name_prefix

    String

    保护实例的名称前缀,批量创建保护实例时,为区分不同保护实例,创建过程中系统会自动在名称前缀后加"-0001"的类似标记,故此时名称前缀的长度为[1-59]个字符。只包含中文字符、英文字母(a~z、A~Z)、数字(0~9)、小数点(.)、下划线(_)、中划线(-)。

    description

    String

    保护实例的描述,最大支持长度为64个字符。不能包含左尖括号(<)或右尖括号(>)。

    server_group_id

    String

    需要加入的保护组ID。

    具体信息可参考查询保护组列表接口。

    cluster_id

    String

    专属分布式存储池ID。

    当容灾站点磁盘选择专属分布式存储时指定该字段。

    primary_subnet_id

    String

    容灾站点云服务器主网卡所在的子网subnetID,与neutron_network_id字段值一致。

    servers

    Array of objects

    用于创建保护实例的云服务器信息列表。

    详情请参见表2

    说明:

    默认支持的云服务器个数上限为5个。

    tenancy

    String

    在专属主机或共享池中创建容灾站点云服务器,默认为在共享池中创建。

    值为:shared或dedicated。

    shared:表示共享池。

    dedicated:表示专属主机。

    dedicated_host_id

    String

    专属主机id,此属性仅在tenancy值为dedicated时有效。

    若不指定此属性,系统将自动分配租户可以自动放置弹性云服务器的专属主机。

    tags

    Array of objects

    标签列表。

    详情请参见表3

    说明:
    • 针对所有创建的保护实例添加标签
    • 列表最多支持10个标签。
    表2 server_info字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    server_id

    String

    指定的生产站点云服务器ID。

    说明:

    接口调用成功后,容灾站点云服务器会自动创建。

    flavorRef

    String

    指定的容灾站点云服务器的flavor ID。

    说明:
    • 不指定此参数时,容灾站点云服务器的flavor ID默认和生产站点云服务器保持一致。
    • 不同规格的云服务器在性能上存在差异,可能会对云服务器上运行的应用产生影响。为保证切换/故障切换后云服务器的性能,建议容灾站点服务器的规格(CPU、内存)不低于生产站点云服务器的规格(CPU、内存)。
    表3 resource_tag字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    key

    String

    键。同一资源的key值不能重复。

    最大长度为36个UNICODE字符。key不能为空,不允许为空字符串。不能包含以下字符:非打印字符ASCII(0-31)特殊字符“*”,“<”,“>”,“\”,“=”,“,”,“|”,“/”键。不能为空。对于同一资源键值唯一。

    value

    String

    值。

    最大长度为43个UNICODE字符。value不能为空,可以为空字符串。不能包含以下字符:非打印字符ASCII(0-31)特殊字符“*”,“<”,“>”,“\”,“=”,“,”,“|”,“/”。

  • 请求样例
    POST https://{Endpoint}/v1/{project_id}/protected-instances/batch
    {  
             "protected_instances":{  
                   "name_prefix": "test_protected_instance_name",  
                   "description": "my description",
                   "server_group_id": "523ab8ad-3759-4933-9436-4cf4ebb20867",
                   "primary_subnet_id": "a32217fh-3413-c313-6342-3124d3491502",
                   "servers": [ 
                      { 
                          "server_id": "403b603d-1d91-42cc-a357-81f3c2daf43f", 
                          "flavorRef":"c3.medium.2" 
                      },
                      {
                           "server_id": "8f5dd226-6cc0-4fe8-9786-b8b3359b234b"
                      }
                   ],
                   "tenancy": "dedicated", 
                   "dedicated_host_id": "0bc41598-1b5a-4bd2-872a-82e6abb82e68",
                   "tags": [ 
                      { 
                          "key": "test", 
                          "value":"aaaaa" 
                      }
                   ],
             }  
      }

响应

  • 要素说明

    参数名称

    参数类型

    说明

    job_id

    String

    执行异步API命令下发成功的返回参数,任务执行结果请参考查询job状态接口。

  • 响应样例
    { 
       "job_id": "0000000062db92d70162db9d200f00bb" 
     }

    { 
         "error": { 
             "message": "XXXX",  
             "code": "XXX" 
         } 
     }

    其中error是泛指的错误,有badrequest、itemNotFound等,如报错为:

    { 
         "badrequest": { 
             "message": "XXXX",  
             "code": "XXX" 
         } 
     }

返回值

  • 正常

    返回值

    说明

    202

    服务器已接受请求。

  • 异常

    返回值

    说明

    400 Bad Request

    服务器未能处理请求。

    401 Unauthorized

    被请求的页面需要用户名和密码。

    403 Forbidden

    对被请求页面的访问被禁止。

    404 Not Found

    服务器无法找到被请求的页面。

    405 Method Not Allowed

    请求中指定的方法不被允许。

    406 Not Acceptable

    服务器生成的响应无法被客户端所接受。

    407 Proxy Authentication Required

    用户必须首先使用代理服务器进行验证,这样请求才会被处理。

    408 Request Timeout

    请求超出了服务器的等待时间。

    409 Conflict

    由于冲突,请求无法被完成。

    500 Internal Server Error

    请求未完成。服务异常。

    501 Not Implemented

    请求未完成。服务器不支持所请求的功能。

    502 Bad Gateway

    请求未完成。服务器从上游服务器收到一个无效的响应。

    503 Service Unavailable

    请求未完成。系统暂时异常。

    504 Gateway Timeout

    网关超时。