更新时间:2022-08-02 GMT+08:00

创建迁移任务

功能介绍

根据源端服务器创建一个迁移任务。

URI

POST /v1/sms/tasks

请求消息

请求参数

请求参数如表1所示。

表1 请求参数

参数

是否必选

参数类型

描述

name

String

任务名称(用户自定义)

只能由中文字符、英文字母、数字及“_”、“-”、“.”组成,且长度为[4-64]个字符。

type

String

任务类型

  • MIGRATE_FILE:文件级
  • MIGRATE_BLOCK:块级

os_type

String

操作系统类型,分为WINDOWS和LINUX

priority

int

进程优先级

  • 0:低
  • 1:标准(默认)
  • 2:高

speed_limit

int

迁移速率限制,单位MB

默认为0(不限制)

start_target_server

Boolean

迁移完成后是否启动目的端服务器

  • true:启动(默认值)
  • false:停止

uninstall_agent

Boolean

是否自动卸载源端服务器上的迁移Agent

  • true:卸载
  • false:不卸载(默认)

source_server

JSON

源端服务器的信息,参见表2

target_server

JSON

目的端服务器的信息,参见表3

migration_ip

String

目的端服务器的IP地址。

  • 公网迁移时请填写弹性IP地址
  • 专线迁移时请填写私有IP地址

region_name

String

目的端服务器的区域名称

region_id

String

目的端服务器的区域ID

project_name

String

目的端服务器所在项目名称

project_id

String

目的端服务器所在项目ID,参见获取项目ID

vm_template_id

String

模板ID

smn_info

JSON

SMN信息,参见表8

表2 source_server信息

参数

是否必选

参数类型

描述

id

String

源端服务器的ID

表3 target_server信息

参数

是否必选

参数类型

描述

vm_id

String

目的端服务器ID

name

条件必选

String

目的端服务器的名称

说明:
  • 选择已有虚拟机时为必选。
  • 迁移时创建服务器时为非必选。

disks

条件必选

JSON数组

磁盘信息,参见表6

说明:
  • 选择已有虚拟机时为必选。
  • 迁移时创建服务器时为非必选。

btrfs_list

JSON数组

BTRFS信息,参见表4

表4 btrfs_list数据结构

参数

参数类型

描述

name

String

文件系统名称,例如/dev/vdb1

label

String

文件系统标签,若无标签为空字符串

uuid

String

文件系统的uuid

device

String

btrfs包含的设备名称

default_subvolid

String

默认子卷ID

default_subvol_name

String

默认子卷名称

default_subvol_mountpath

String

默认子卷挂载路径

subvolumn

Json数组

子卷信息,参见表5

表5 subvolumn数据结构

参数

是否必选

参数类型

描述

uuid

String

子卷的父卷的uuid

is_snapshot

String

子卷是否为快照

subvol_id

String

子卷的id

parent_id

String

子卷的父卷id

subvol_name

String

子卷的名称

subvol_mount_path

String

子卷的挂载路径

表6 target_server中disks信息

参数

是否必选

参数类型

描述

name

String

磁盘名称

disk_id

String

此磁盘对应EVS卷的ID

size

long

磁盘大小

physical_volumes

JSON数组

该磁盘迁移后的分区信息,参见表7

表7 physical_volumes信息

参数

是否必选

参数类型

描述

name

String

分区名称

  • Windows如C
  • Linux如sd1

size

long

分区的大小,单位为字节

表8 smn_info信息

参数

是否必选

参数类型

描述

topic_urn

String

Topic urn

trigger_conditions

String

触发发送SMN的条件,值为SUCCESS,FAIL/SUCCESS/FAIL

language

String

语言选项

topic_name

String

Topic名称

响应消息

响应参数

响应参数如表9所示。

表9 响应参数

参数

参数类型

描述

id

String

任务id

示例

  • 请求示例
    • 创建Windows迁移任务
      {
          "name": "Windows Migration",
          "type": "MIGRATE_BLOCK",
          "priority": "1",	
          "speed_limit": "0",	
          "start_target_server": "true",	
          "os_type": "WINDOWS",
          "migration_ip":"x.x.x.x",
          "region_id":"my-kualalumpur-1",
          "project_name":"my-kualalumpur-1",
         "region_name":"MY-Kuala Lumpur",
          "project_id":"12222222111111121212121",
          "vm_template_id":"aaaa-bbbbb",
          "source_server":{
              "id":"35ef9d7a-b8e4-4126-9588-116952749de4"
          },
          "target_server": {
              "vm_id": "e198f4cc-e51a-43df-83d8-79bd41e00bed",  
              "disks": [
                  {
                      "name": "Disk 0",
                      "disk_id":"e198f4cc-e51a-43df-1234-79bd41e00bed",
                      "size": "85897247744",			
                      "physical_volumes": [
                          {
                              "name": "(Reserved)",	
                              "size": "104857088"
                          },
                          {
                              "name": "C:\\",
                              "size": "85792390656"
                          }
                      ]
                  },
      			{
                      "name": "Disk 1",
                      "disk_id":"e198f4cc-1234-43df-1234-79bd41e00bed",
                      "size": "214745218048",			
                      "physical_volumes": [
                          {
                              "name": "D:\\",	
                              "size": "109888667136"
                          },
                          {
                              "name": "F:\\",
                              "size": "104856550912"
                          }
                      ]
                  }
              ]
          }
      }
    • 创建Linux迁移任务
      {
          "name": "Linux Migration",
          "type": "MIGRATE_FILE",
          "priority": "1",	
          "speed_limit": "0",	
          "start_target_server": "true",	
          "os_type": "LINUX",
          "migration_ip":"x.x.x.x",
          "region_id":"my-kualalumpur-1",
          "project_name":"my-kualalumpur-1",
         "region_name":"MY-Kuala Lumpur",
          "project_id":"12222222111111121212121",
          "source_server":{
              "id":"35ef9d7a-b8e4-4126-9588-116952749de4"
          },
          "target_server": {
              "vm_id": "e198f4cc-e51a-43df-83d8-79bd41e00bed",  
              "disks": [
                  {
                      "name": "sda",
                      "disk_id":"e198f4cc-e51a-43df-1234-79bd41e00bed",
                      "size": "85897247744",			
                      "physical_volumes": [
                          {
                              "name": "sda1",	
                              "size": "104857088"
                          },
                          {
                              "name": "sda2",
                              "size": "85792390656"
                          }
                      ]
                  },
      			{
                      "name": "sdb",
                      "disk_id":"e198f4cc-1234-43df-1234-79bd41e00bed",
                      "size": "214745218048",			
                      "physical_volumes": [
                          {
                              "name": "sdb1",	
                              "size": "109888667136"
                          },
                          {
                              "name": "sdb2",
                              "size": "104856550912"
                          }
                      ]
                  }
              ]
          }
      }

  • 响应示例
    {
    "id": "170606111111"
    }

状态码

状态码请参见状态码