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

创建迁移任务

功能介绍

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

URI

POST /v3/tasks

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

最小长度:1

最大长度:16384

表2 请求Body参数

参数

是否必选

参数类型

描述

name

String

任务名称

最小长度:0

最大长度:255

type

String

任务类型

枚举值:

  • MIGRATE_FILE
  • MIGRATE_BLOCK

start_target_server

Boolean

迁移后是否启动目的端虚拟机

缺省值:true

os_type

String

操作系统类型

最小长度:0

最大长度:255

source_server

SourceServerByTask object

源端服务器信息

target_server

TargetServerByTask object

目的端虚拟机信息

migration_ip

String

迁移ip,如果是自动创建虚拟机,不需要此参数

最小长度:0

最大长度:255

region_name

String

region的名称

最小长度:0

最大长度:255

region_id

String

region id

最小长度:0

最大长度:255

project_name

String

项目名称

最小长度:0

最大长度:255

project_id

String

项目id

最小长度:0

最大长度:255

vm_template_id

String

自动创建虚拟机使用模板

最小长度:0

最大长度:255

use_public_ip

Boolean

是否使用公网ip

缺省值:true

syncing

Boolean

复制或者同步后是否会继续持续同步,不添加则默认是false

缺省值:false

表3 SourceServerByTask

参数

是否必选

参数类型

描述

id

String

源端服务器id

最小长度:0

最大长度:255

表4 TargetServerByTask

参数

是否必选

参数类型

描述

btrfs_list

Array of BtrfsFileSystem objects

btrfs信息,数据从源端获取

disks

Array of TargetDisks objects

磁盘信息

name

String

名称

最小长度:0

最大长度:255

vm_id

String

虚拟机id

最小长度:0

最大长度:255

volume_groups

Array of VolumeGroups objects

卷组,数据从源端获取

表5 BtrfsFileSystem

参数

是否必选

参数类型

描述

name

String

文件系统名称

最小长度:0

最大长度:255

label

String

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

最小长度:0

最大长度:255

uuid

String

文件系统的uuid

最小长度:0

最大长度:255

device

String

btrfs包含的设备名称

最小长度:0

最大长度:255

size

Long

文件系统数据占用大小

最小值:0

最大值:9223372036854775807

nodesize

Long

btrfs节点大小

最小值:0

最大值:9223372036854775807

sectorsize

Integer

扇区大小

最小值:0

最大值:2147483647

data_profile

String

数据配置(RAD)

最小长度:0

最大长度:255

system_profile

String

文件系统配置(RAD)

最小长度:0

最大长度:255

metadata_profile

String

元数据配置(RAD)

最小长度:0

最大长度:255

global_reserve1

String

Btrfs文件系统信息

最小长度:0

最大长度:255

g_vol_used_size

Long

Btrfs卷已使用空间大小

最小值:0

最大值:9223372036854775807

default_subvolid

String

默认子卷ID

最小长度:0

最大长度:255

default_subvol_name

String

默认子卷名称

最小长度:0

最大长度:255

default_subvol_mountpath

String

默认子卷挂载路径/BTRFS文件系统的挂载路径

最小长度:0

最大长度:255

subvolumn

Array of BtrfsSubvolumn objects

子卷信息

表6 BtrfsSubvolumn

参数

是否必选

参数类型

描述

uuid

String

父卷的uuid

最小长度:0

最大长度:255

is_snapshot

String

子卷是否为快照

最小长度:0

最大长度:255

subvol_id

String

子卷的id

最小长度:0

最大长度:255

parent_id

String

父卷id

最小长度:0

最大长度:255

subvol_name

String

子卷的名称

最小长度:0

最大长度:255

subvol_mount_path

String

子卷的挂载路径

最小长度:0

最大长度:255

表7 TargetDisks

参数

是否必选

参数类型

描述

device_use

String

磁盘类型,普通磁盘,OS所在磁盘,BOOT所在磁盘

缺省值:NORMAL

枚举值:

  • NORMAL
  • OS
  • BOOT

disk_id

String

磁盘id,自动创建虚拟机不用设置

最小长度:0

最大长度:255

name

String

名称,根据磁盘顺序设置为disk X

最小长度:0

最大长度:255

physical_volumes

Array of PhysicalVolumes objects

物理卷信息

size

Long

大小

最小值:0

最大值:9223372036854775807

used_size

Long

使用大小

最小值:0

最大值:9223372036854775807

表8 PhysicalVolumes

参数

是否必选

参数类型

描述

device_use

String

分区类型,普通分区,启动分区,系统分区

最小长度:0

最大长度:255

file_system

String

文件系统类型

最小长度:0

最大长度:255

index

Integer

顺序

最小值:0

最大值:2147483647

mount_point

String

挂载点

最小长度:0

最大长度:255

name

String

名称,windows表示盘符,Linux表示设备号

最小长度:0

最大长度:255

size

Long

大小

最小值:0

最大值:9223372036854775807

used_size

Long

使用大小

最小值:0

最大值:9223372036854775807

uuid

String

GUID,可从源端查询

最小长度:0

最大长度:255

表9 VolumeGroups

参数

是否必选

参数类型

描述

components

String

Pv信息

最小长度:0

最大长度:255

free_size

Long

剩余空间

最小值:0

最大值:9223372036854775807

logical_volumes

Array of LogicalVolumes objects

lv信息

name

String

名称

最小长度:0

最大长度:255

size

Long

大小

最小值:0

最大值:9223372036854775807

表10 LogicalVolumes

参数

是否必选

参数类型

描述

block_count

Integer

块数量

最小值:0

最大值:4294967296

缺省值:0

block_size

Long

块大小

最小值:0

最大值:1048576

缺省值:0

file_system

String

文件系统

最小长度:0

最大长度:255

inode_size

Integer

inode数量

最小值:0

最大值:4294967296

mount_point

String

挂载点

最小长度:0

最大长度:256

name

String

名称

最小长度:0

最大长度:1024

size

Long

大小

最小值:0

最大值:9223372036854775807

used_size

Long

使用大小

最小值:0

最大值:9223372036854775807

free_size

Long

剩余空间

最小值:0

最大值:9223372036854775807

响应参数

状态码: 200

表11 响应Body参数

参数

参数类型

描述

id

String

创建成功返回的任务id

最小长度:0

最大长度:255

请求示例

创建迁移任务(创建新服务器)

POST https://{endpoint}/v3/tasks

{
  "name" : "MigrationTask",
  "type" : "MIGRATE_FILE",
  "os_type" : "LINUX",
  "start_target_server" : true,
  "use_public_ip" : true,
  "migration_ip" : "192.168.0.1",
  "region_name" : "region_name",
  "region_id" : "region_id",
  "project_name" : "project_name",
  "project_id" : "b276e6fb38c74aa2ba4598f049745ce9",
  "source_server" : {
    "id" : "16c03428-ff9a-4f36-84aa-583e41499bb2"
  },
  "target_server" : {
    "vm_id" : "1900aab8-90c4-462c-b4c5-acdafc8fbeca",
    "name" : "Auto-tar-chengxiao",
    "disks" : [ {
      "name" : "/dev/vda",
      "disk_id" : "76a59f9f-5901-4913-a9a5-f6742baa308c",
      "size" : 42949672960,
      "device_use" : "BOOT",
      "physical_volumes" : [ {
        "uuid" : null,
        "index" : 0,
        "name" : "/dev/vda1",
        "device_use" : "OS",
        "file_system" : "ext4",
        "mount_point" : "/",
        "size" : 42947575808,
        "used_size" : 5346484224
      } ]
    } ],
    "volume_groups" : [ ],
    "btrfs_list" : [ ]
  }
}

响应示例

状态码: 200

OK

{
  "id" : "8abda8635e09d185015e09d188dd0001xx"
}

状态码

状态码

描述

200

OK

错误码

请参见错误码