CreateReplicationJob - 创建一个迁移任务

调用CreateReplicationJob为迁移源创建一个迁移任务。

接口说明

  • 您只能为在线(Available)状态的迁移源创建迁移任务。
  • 每个迁移源仅能关联一个未完成状态的迁移任务。未完成状态包括 Ready(未开始)、Running(运行中)、Stopped(已暂停)、Waiting(等待中)、InError(出错)和 Expired(已过期)。
  • 每个阿里云账号可创建 1000 个迁移任务。
  • 迁移目标类型为镜像时,需指定 ImageName、SystemDiskSize、DataDisk 参数。
  • 使用 VPC 内网迁移时,VSwitchId 参数为必填,VpcId 参数为可选。
  • 支持迁移源的迁移目标为 Docker 容器镜像,实现低成本容器化应用迁移。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
smc:CreateReplicationJobcreate
  • ReplicationJob
    acs:smc:{#regionId}:{#accountId}:replicationjob/*
  • SourceServer
    acs:smc:{#regionId}:{#accountId}:sourceserver/{#SourceServerId}

请求参数

名称类型必填描述示例值
RegionIdstring

迁移源要迁入的目标阿里云地域 ID。

例如,您需要迁移源服务器至杭州,则相应的阿里云地域 ID 为cn-hangzhou。您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou
ClientTokenstring

保证请求幂等性。您可以从客户端生成一个不超过 64 个 ASCII 字符的参数值,并将值赋予 ClientToken,保证重试请求的幂等性。更多详情,请参见如何保证幂等性

123e4567-e89b-12d3-a456-426655440000
Namestring

迁移任务名。迁移任务的名称需满足以下要求:

  • 任务名称必须唯一。
  • 长度为 2~128 个英文或中文字符,必须以大小字母或中文开头,不能以http://https://开头,可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。
testMigrationTaskName
Descriptionstring

迁移任务描述。

长度应为 2~128 个英文或中文字符,必须以大小字母或中文开头,不能以http://https://开头,可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。

This_is_a_migration_task
SourceIdstring

迁移源 ID。

s-bp1e2fsl57knvuug****
TargetTypestring

迁移任务交付的目标类型。取值范围:

  • Image:迁移成功后,SMC 为您的迁移源生成阿里云镜像。
  • ContainerImage:迁移成功后,SMC 为您的迁移源生成 Docker 容器镜像。
  • TargetInstance:迁移成功后,SMC 将您的迁移源直接迁移至目标实例。当您设置该参数值时,您需要同时指定InstanceId参数。
Image
ScheduledStartTimestring

迁移任务的执行时间。该参数值的设置需满足以下要求:

  • 遵循 ISO8601 标准,并需要使用 UTC+0 时间,格式为 YYYY-MM-DDThh:mm:ssZ。例如,2018-01-01T12:00:00Z,表示北京时间 2018 年 01 月 01 日 20 点 00 分 00 秒。
  • 该参数值必须晚于当前时间,并且需要设置在 30 天以内。
说明 如果该参数值为空,则 SMC 不会启动迁移任务,需要您调用 StartReplicationJob 启动任务。
2019-06-04T13:35:00Z
ValidTimestring

迁移任务的过期时间。取值范围:迁移任务创建时间+7 天~迁移任务创建时间+90 天。

  • 过期时间须遵循 ISO8601 标准,并需要使用 UTC+0 时间,格式为 YYYY-MM-DDThh:mm:ssZ。例如,2018-01-01T12:00:00Z,表示北京时间 2018 年 01 月 01 日 20 点 00 分 00 秒。
  • 过期时间设置为空,表示任务无限期有效。
  • 任务到期后会被标记为过期状态,保存 7 天,7 天后系统会自动清理。

默认值:迁移任务创建时间+30 天(表示迁移任务的默认有效期为创建后 30 天)。

2019-06-04T13:35:00Z
ImageNamestring

迁移任务交付的目标阿里云镜像名称。目标镜像的名称需满足以下要求:

  • 同一阿里云地域下,镜像名称必须唯一。
  • 长度为 2~128 个英文或中文字符,必须以大小字母或中文开头,不能以http://https://开头,可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。
说明 迁移任务运行过程中,若当前地域已经存在相同名称的镜像,则系统默认给镜像名称添加迁移任务 ID(JobId)作为后缀,如:ImageName_j-2zexxxxxxxxxxxxx。
testAliCloudImageName
InstanceIdstring

目标实例 ID。

i-bp1f1dvfto1sigz5****
SystemDiskSizeinteger

目标阿里云服务器 ECS 的系统盘大小,单位为 GiB。取值范围:20~2048。

说明 该参数取值需要大于迁移源系统盘实际占用大小,例如,源系统盘大小为 500 GiB,实际占用 100 GiB,则该参数取值需大于 100 GiB。
80
VpcIdstring

已配置高速通道服务或者 VPN 网关的 VPC ID。

vpc-bp1vwnn14rqpyiczj****
VSwitchIdstring

指定 VPC 下的虚拟交换机 ID。

使用 VPC 内网迁移时,该参数为必填参数。

vsw-bp1ddbrxdlrcbim46****
ReplicationParametersstring

复制驱动器的参数信息。参数信息为 JSON 格式键值对,键值固定。最大长度:2048 个字符。

复制驱动器是指,复制源服务器数据到中转实例时所使用的工具。不同复制驱动器支持参数可能不同。复制驱动器 SMT 目前支持以下参数:

  • bandwidth_limit:传输速度带宽限制。
  • compress_level:传输压缩率。
  • checksum:是否开启 checksum 校验。

复制驱动器的取值,请参见 DescribeSourceServers 的返回参数SourceServers.ReplicationDriver

{"bandwidth_limit":0,"compress_level":1,"checksum":true}
NetModeinteger

数据传输网络模式。取值范围:

  • 0:表示公网传输模式。此时要求您的源服务器能够访问公网,迁云数据从公网传输。
  • 2:表示内网传输模式,选用此模式必须设置 VSwitchId 参数(VpcId 参数可以不设置,服务内部可以通过接口反查出来)。

默认值:0。

0
RunOnceboolean

创建一次性迁移任务还是增量迁移任务。取值范围:

  • true(默认值):一次性迁移任务。任务创建后,仅执行一次。

  • false:增量迁移任务。任务创建后,按照您设置的Frequency参数值周期性自动执行。使用增量迁移任务,可在业务不暂停的情况下,同步源服务器的增量数据至阿里云,并为源服务器生成任务运行时刻的全量数据镜像。

说明 该参数值只能在创建迁移任务时指定。参数值一经指定,则无法更改。
true
Frequencyinteger

增量迁移任务运行的时间间隔,单位:小时。取值范围:1~168。

RunOnce参数值为 false 时,该参数为必填参数。

默认值:无。

12
MaxNumberOfImageToKeepinteger

增量迁移任务默认保留的最大镜像数。取值范围:1~10。

RunOnce参数值为 false 时,该参数为必填参数。

默认值:无。

10
InstanceTypestring

中转实例的实例规格。

调用 DescribeInstanceTypes 可查询云服务器 ECS 提供的实例规格。

  • 指定该参数后,系统会选择该实例规格创建中转实例。若该实例规格库存不足,则迁移任务创建失败。
  • 不指定该参数时,系统默认会按照一定顺序选择实例规格来创建中转实例,详情请参见SMC FAQ 中转实例规格有哪些
ecs.c6.large
LaunchTemplateIdstring

实例启动模板 ID。

lt-bp16jovvln1cgaaq****
LaunchTemplateVersionstring

实例启动模板的版本。

1
InstanceRamRolestring

实例 RAM 角色名称。

SMCAdmin
ContainerNamespacestring

Docker 的命名空间。关于 Docker 容器镜像详情请参见容器镜像服务

testNamespace
ContainerRepositorystring

Docker 的镜像仓库。关于 Docker 容器镜像详情请参见容器镜像服务

testRepository
ContainerTagstring

Docker 的镜像标签。关于 Docker 容器镜像详情请参见容器镜像服务

CentOS:v1
LicenseTypestring

许可证类型。取值范围:

  • 空值:无许可证。
  • BYOL:自带许可。

更多信息,请参见SMC FAQ

BYOL
DataDiskarray<object>

数据盘信息列表。

object

数据盘信息列表。

Indexinteger

目标阿里云服务器 ECS 的数据盘顺序。初始值为 1。取值范围:1~16

说明 您只能为迁移源中存在的数据盘创建目标数据盘。
1
Partarray<object>

分区列表。

object

分区列表。

SizeByteslong

目标数据盘 N 分区 N 的大小。单位:Byte。默认为源数据盘分区大小。

说明
  • 分区空间大小不能超过数据盘空间大小,并且在同一数据盘下所有分区空间大小之和不能超过数据盘空间大小。
    • DataDisk.N.Part.N.Device不为空时,该参数也不能为空。
    254803968
    Blockboolean

    数据盘 N 分区 N 是否开启块复制。取值范围:

    • true。
    • false。

    默认值:true。

    true
    Devicestring

    目标数据盘 N 分区 N 对应的分区设备标识。N 的实际取值请参考迁移源的分区设备标识。

    说明 DataDisk.N.Part.N.SizeBytes不为空时,该参数也不能为空。
    0_1
    Sizeinteger

    目标阿里云服务器 ECS 的数据盘大小,单位为 GiB。取值范围:20~32768。

    说明 该参数取值需要大于迁移源数据盘实际占用大小。例如,源数据盘大小为 500 GiB,实际占用 100 GiB,则该参数取值需大于 100 GiB。
    100
    Tagarray<object>

    标签列表。

    object

    标签列表。

    Keystring

    迁移任务的标签键。N 的取值范围:1~20

    一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以aliyunacs:http://或者https://开头。

    TestKey
    Valuestring

    迁移任务的标签值。N 的取值范围:1~20。

    一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以aliyunacs:http://或者https://开头。

    TestValue
    SystemDiskPartarray<object>

    系统盘分区信息。

    object

    系统盘分区列表。

    SizeByteslong

    系统盘分区 N 大小。单位:Byte。默认为源系统盘分区大小。

    说明
  • 分区空间大小不能超过系统盘空间大小,并且在系统盘下所有分区空间大小之和不能超过系统盘空间大小。
    • SystemDiskPart.N.Device不为空时,该参数也不能为空。
    254803968
    Blockboolean

    系统盘分区 N 是否开启块复制。取值范围:

    • true。
    • false。

    默认值:true。

    true
    Devicestring

    目标系统盘分区 N 设备标识。N 的实际取值请参考迁移源的分区设备标识。

    说明 SystemDiskPart.N.SizeBytes不为空时,该参数也不能为空。
    0_1
    JobTypeinteger

    迁移任务的类型。取值范围:

    • 0:服务器迁移。
    • 1:操作系统迁移。
    • 2:跨可用区迁移。
    • 3:VMware 无代理迁移。
    0
    ResourceGroupIdstring

    资源组 ID。

    rg-acfmw3ty5y7****
    Disksobject

    磁盘信息。

    Systemobject

    系统盘信息。

    Sizeinteger

    迁移源系统盘的大小,单位:GiB。取值范围为 20~32768。

    说明 参数取值需要大于源服务器数据盘实际占用大小。例如,源数据盘大小为 500 GiB,实际占用 100 GiB,则该参数取值需大于 100 GiB。
    100
    LVMboolean

    是否使用 LVM。取值:

    • true:使用 LVM。

    • false:不使用 LVM。

    不支持开启 LVM:

    • 迁移源为 Windows 系统时,不支持开启 LVM。
    • 系统盘无启动分区,不支持开启 LVM。

    开启 LVM 后,以下场景该功能不生效:

    • 迁移源不支持 lvm2、未安装 lvm2 软件包。

    • 迁移源为内核版本在 3.x 及以下的 Debian 系统,且挂载了 XFS 文件系统的磁盘。

    true
    Partarray<object>

    系统盘分区信息。

    object

    系统盘分区信息。

    SizeByteslong

    系统盘分区大小。单位:Byte。

    254803968
    Blockboolean

    系统盘分区是否开启块复制。

    true
    Pathstring

    系统盘分区路径。

    /boot
    Dataarray<object>

    数据盘分区信息。

    object

    数据盘分区信息。

    Sizeinteger

    迁移源的数据磁盘大小。单位:GiB。

    80
    LVMboolean

    数据盘是否使用 LVM。取值:

    • true:使用 LVM。

    • false:不使用 LVM。

    DiskIdstring

    数据盘 ID。

    d-2ze8hyowhdgd6ou2m5z6
    Partarray<object>

    数据盘分区信息。

    object

    数据盘分区信息。

    SizeByteslong

    数据盘分区大小。单位:Byte。

    21474836480
    Blockboolean

    数据盘分区是否开启块复制。取值:

    • true:数据盘分区开启块复制。
    • false:数据盘分区不开启块复制。
    true
    Pathstring

    数据盘分区路径。

    /home/date

    返回参数

    名称类型描述示例值
    object

    返回参数信息。

    RequestIdstring

    请求 ID。

    C8B26B44-0189-443E-9816-D951F59623A9
    JobIdstring

    迁移任务 ID。

    j-bp17bclvg344jlyt****

    示例

    正常返回示例

    JSON格式

    {
      "RequestId": "C8B26B44-0189-443E-9816-D951F59623A9",
      "JobId": "j-bp17bclvg344jlyt****"
    }

    错误码

    HTTP status code错误码错误信息描述
    400ReplicationJobDataDiskIndex.InvalidThe specified replication job contains data disk index not found in source server.迁移任务包含的数据盘索引在迁移源中不存在。
    400VSwitchIdVpcId.MismatchThe specified VSwitchId and VpcId does not match.指定的VSwitchId和VpcId不匹配。
    400InvalidSecurityGroupId.IncorrectNetworkTypeThe network type of the specified security group does not support this action.安全组网络类型不支持该操作,请检查安全组网络类型。
    400InvalidSecurityGroupId.VPCMismatchThe specified security group and the specified virtual switch are not in the same VPC.指定的安全组和交换机不在一个专有网络。
    400QuotaExceeded.ReplicationJobThe maximum number of replication jobs is exceeded. Please submit a ticket to raise the quota.迁移任务的数量已超过最大允许值,请提交工单。
    400ReplicationJobName.DuplicateThe specified replication job name already exists.迁移任务名称已存在,请修改迁移任务名称。
    400SourceServerState.InvalidThe specified source server status: %s is invalid. This operation can only be performed in the following status: %s.迁移源的状态:%s 是无效的。该操作只能在以下状态进行:%s。
    400ImageName.UsedByReplicationJobThe specified imageName: "%s" was used by another replication job in the current region.镜像名称“%s”被当前地域的另一个迁移任务使用。
    400InvalidOsMigrationType.NotMatchedThe SourceOsType: %s and TargetOsType: %s are not matched. The supported TargetOsType list is: %s.源操作系统类型:%s 和目标操作系统类型:%s 不匹配。支持的目标操作系统类型列表是:%s。
    403EntityNotExist.RoleThe account is unauthorized. Please assign the role AliyunServiceRoleForSMC to your account.账号不具备操作权限,请赋予账户AliyunServiceRoleForSMC角色。
    403RealNameAuthenticationErrorYou must perform real-name verification for your account.账户未实名认证,请先进行实名认证
    500InternalErrorAn error occurred while processing your request. Please try again. If the problem still exists, please submit a ticket.内部错误,请重试。如果多次尝试失败,请提交工单。

    访问错误中心查看更多错误码。

    变更历史

    变更时间变更内容概要操作
    2024-09-27OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
    2024-03-28OpenAPI 错误码发生变更查看变更详情