文档首页/ 主机迁移服务 SMS/ 最佳实践/ 创建Linux主机迁移任务
更新时间:2025-08-27 GMT+08:00
分享

创建Linux主机迁移任务

操作场景

主机迁移服务(Server Migration Service,SMS)是一种P2V/V2V迁移服务,可以帮您把X86架构的物理服务器或者私有云、公有云平台上的虚拟机迁移到华为云弹性云服务器/Flexus云服务器上。

本章节主要指导您在SMS控制台,快速创建针对Linux系统主机的迁移任务,以实现快速迁移。

操作视频

操作流程

操作步骤

说明

准备工作

  • 注册华为账号、开通华为云,并为账户充值。
  • 获取账号迁移权限。
  • 获取目的端账号的AK/SK。
  • 配置迁移网络和安全组规则。
  • 源端服务器环境和空间要求。

步骤一:在源端安装迁移Agent并启动

在源端服务器上安装并启动迁移Agent。

步骤二:设置迁移目的端

在SMS控制台设置目的端服务器。

步骤三:开始服务器全量复制

将源端服务器所有数据复制到目的端服务器。

步骤四(可选):同步增量数据

将源端增量数据同步到目的端。

准备工作

使用主机迁移服务前,请参考以下步骤准备好账号、权限及源端、目的端服务器环境。

  1. 注册华为账号并开通华为云,登录华为云完成实名认证
  2. 已获取账号迁移权限

    如果使用账号登录,默认拥有迁移权限,可无需配置迁移权限;如果使用IAM用户登录,可参考创建用户组并授权进行授权。

  3. 已获取目的端账号的AK/SK

    迁移时使用AK/SK进行鉴权认证,获取目的端账号的AK/SK操作请参见如何获取AK/SK?(账号)如何获取AK/SK?(IAM用户)

    主机迁移服务不支持使用企业联邦用户(虚拟IAM用户)的AK/SK进行鉴权认证。

  4. 账号余额不少于100元(充值、代金券皆可)
    建议您目的端账户余额不少于100元(充值、代金券皆可),避免迁移过程中欠费,导致迁移失败。

    主机迁移服务本身免费,但迁移过程中会创建按量付费资源并产生少量费用,具体费用请参见计费说明

  5. 源端操作系统要求

    主机迁移服务支持迁移的源端服务器操作系统列表请参见Linux兼容性列表

  6. 迁移网络要求
    1. 源端能连接到华为云API Gateway(端口:443),具体操作请参见源端能连接到API Gateway

      源端出网方向端口,建议全部开放。

    2. 使用IPv6进行迁移时,要求源端支持IPv4/IPv6双栈网络。
    3. 源端能连接到目的端。具体操作请参见源端能连接到目的端
      • 若使用弹性公网IP连接,目的端需要提前购买和配置正确的EIP。
      • 若使用专线或者VPN,需提前购买和配置正确的专线或VPN。
    4. 目的端服务器所属安全组需要开放如下端口:
      • Linux文件级迁移开放22端口。
      • Linux块级迁移开放8900端口、22端口。

      具体操作请参见目的端服务器所属安全组开放端口要求

      • 以上端口,建议只对源端服务器开放。
      • 防火墙开放端口与操作系统开放端口保持一致。
  7. 源端服务器环境、剩余空间及其他要求。
    • 源端服务器剩余空间要求:根分区可用空间小于200MB时不能迁移。
    • 源端服务器环境要求:源端服务器时间与标准时间一致,避免源端Agent注册失败。
    • 确保源端服务器安装了Rsync库(当前主流服务器系统已默认安装Rsync库,无需手动安装。您可以在源端服务器执行如下命令,查看是否安装了Rsync库。
      rsync -v
      如果未安装Rsync库,根据具体的系统执行对应命令安装Rsync库:
      • CentOS执行:
        yum -y install rsync
      • Ubuntu执行:
        apt-get -y install rsync
      • Debian执行:
        apt-get -y install rsync
      • SUSE执行:
        zypper install rsync
      • 其他平台系统:参见官网安装相关文档。

步骤一:在源端安装迁移Agent并启动

从主机迁移服务 SMS控制台,下载迁移Agent到源端服务器并安装,运行迁移Agent输入目的端服务器所在华为云账号的AK/SK,以及SMS域名。迁移Agent启动成功后会收集源端服务器信息并自动发送给主机迁移服务。

  1. 登录主机迁移服务管理控制台
  2. 在左侧导航树中,单击“迁移Agent”,进入“迁移Agent”页面。
  3. 选择Linux操作系统,单击Linux Agent下载窗格中的“下载Agent”后的图标,复制Agent的下载命令,前往源端服务器下载迁移Agent。

  4. 复制“sha256校验码”的下载命令,下载sha256校验码,对迁移Agent进行软件完整性校验,具体参见如何对迁移Agent进行软件完整性校验?

  5. 一致性校验完成后,执行以下命令,解压Agent软件包。

    tar -zxvf SMS-Agent.tar.gz

  6. 执行以下命令,进入源端服务器的SMS-Agent目录。

    cd SMS-Agent

  7. 若使用HTTP/HTTPS代理服务器,请执行8.

    若不使用HTTP/HTTPS代理服务器,请执行9.

    • 代理服务器为一种特殊网络服务,当您的源端无法通过公网访问华为云时,可以通过代理服务器访问华为云,代理服务器需用户自行配置。
    • 代理仅用于专线/VPN场景下源端到服务端的注册,不用于数据迁移过程。

  8. 配置HTTP/HTTPS代理服务器(可选)。

    1. 执行如下命令,进入config目录。
      cd SMS-Agent/agent/config
    2. 执行如下命令,打开并编辑auth.cfg文件。若迁移过程中不使用HTTP/HTTPS代理,禁止修改auth.cfg文件。
      vi auth.cfg

      示例:(以下仅为示例说明,具体代理服务器信息,请根据实际情况填写。)

      [proxy-config]
      enable = true
      proxy_addr = https://your-proxy-addr.com 
      proxy_port = 3128
      proxy_user = root
      use_password = true
      • enable:使用代理时,设置为true。
      • proxy_addr:代理服务器地址,允许源端服务器通过代理服务器访问主机迁移服务,非目的端地址。your-proxy-addr.com需要更换为您代理服务器的地址,协议需要根据代理服务器的实际情况配置,建议您将代理服务器协议配置为https。
      • proxy_user:代理有用户名的话,就填写用户名,如root;没有则不填。
      • use_password:代理有密码的话设置为true,否则false。
    3. 执行如下命令,保存auth.cfg文件并退出。
      :wq

  9. 执行以下命令,启动迁移Agent。

    ./startup.sh

  10. 请您仔细阅读显示的内容并输入“y”,按“Enter”。

    图1 输入y

  11. 根据提示,输入目的端服务器所在华为云账号的AK、SK,以及SMS域名。SMS域名可在SMS控制台的“迁移Agent”页面获取,如图3所示。

    图2 输入AK/SK
    图3 获取SMS域名

    如果您的账号已经开通企业项目,输入AK/SK后,Agent会查询有主机迁移权限的企业项目并罗列,供您选择。选择具体的企业项目后,主机迁移服务会将主机迁移到您指定的企业项目中。实现迁移时权限、资源和财务的隔离。更多详细介绍和操作步骤请参见将主机迁移至企业项目最佳实践。

    当出现如下界面时,表示Linux版的SMS-Agent启动成功,开始给主机迁移服务上传源端服务器信息。您可以前往SMS控制台的迁移服务器列表页面查看上报的源端服务器。
    图4 Agent启动成功

步骤二:设置迁移目的端

需要同时满足以下条件,才可以在SMS控制台的服务器列表中对源端服务器进行目的端设置:

  • 源端服务器状态为“连接正常”。
  • 迁移阶段为“可迁移性检查”。
  • 实时状态为“待设置目的端”。
  1. 登录主机迁移服务管理控制台
  2. 在左侧导航树中,单击“迁移服务器”,进入迁移服务器列表页面。
  3. 在迁移服务器列表中找到源端待迁移的服务器,单击迁移阶段/实时状态列的“设置目的端”或操作列的“更多 > 设置目的端”,进入迁移配置页面。

    如果在迁移服务器列表中没有看到源端服务器记录,请检查是否登录的是目的端华为云账号。

  4. 在“迁移配置”页面的基本配置页签,根据表1参数说明,设置相关参数。

    表1 设置基本配置参数

    区域

    参数

    子参数

    说明

    迁移参数模板

    选择迁移参数模板

    -

    系统会自动创建一个默认迁移参数模板,您也可以提前手动创建迁移参数模板。选择手动创建的迁移参数模板后,系统会根据模板的值自动设置网络类型网络限流值迁移方式是否持续同步是否调整分区区域_项目等参数

    网络配置

    网络类型

    公网

    若使用公网迁移,要求目的端服务器配置有“弹性IP”。

    网络类型”默认设置为公网。

    私网

    私网包括专线、VPN、对等连接、同VPC子网以及CC 云连接等,如选择私网则需要提前创建,迁移时会使用目的端私有IP。

    IP版本

    IPv4

    使用IPv4进行数据迁移。

    IPv6

    双栈网络下,可以选择使用IPv6进行主机迁移。使用IPv6进行迁移的准备工作和注意事项参见IPv6迁移最佳实践

    网络限流

    -

    根据要迁移的源端带宽大小及业务要求,设置限制带宽大小。

    设置为0时,代表不限流。

    以下场景下网络限流不可用:

    • 使用了IPv6迁移
    • 源端缺少TC模块

    超速阈值(%)

    -

    用于控制网络流量,防止网络传输速率超出设定的限制。当网络数据传输速率连续多次超过设置的超速阈值时,迁移任务会自动暂停。

    例如:网络限流设置为10 Mbps,超速阈值设置为10%,则当网络传输速率连续多次超过限流值的110%(即11 Mbps)时,任务会自动暂停。

    注意:

    该功能仅适用于迁移Linux系统主机,且以下场景不可用:

    • 使用了IPv6迁移
    • 源端缺少TC模块
    • SMS-Agent版本小于24.9.0

    迁移演练

    -

    -

    迁移演练功能可以帮助您在正式迁移前,充分了解迁移任务的可行性和潜在风险。包含检测安全组端口配置是否正确、域名连通性是否正常,以及是否具备迁移所需权限等关键要素,并针对性地提供修复建议,从而减少实际迁移中可能出现的问题和损失。

    开启此功能后,系统会在全量复制操作执行前,自动为您创建一个迁移演练任务。整个迁移演练过程通常需要5-15分钟。在此期间,按量收费资源将会产生一定的费用

    迁移演练任务的结果可以在任务详情中查看。具体查看方法请参考查看迁移演练状态和报告

    迁移配置(可选)

    迁移方式

    Linux块级

    Linux块级迁移是指全量复制和持续同步的最小粒度为磁盘逻辑单位"块"。这种方式同步效率高,但兼容性差。

    Linux文件级

    Linux文件级迁移是指全量复制和同步最小粒度为文件,这种方式同步效率低,但兼容性好。

    持续同步

    全量复制完成后,系统会自动启动目的端,无需用户进行操作若要同步新增数据,请单击操作列的“同步”,将增量数据同步至目的端服务器。

    全量复制完成后,会进入持续同步阶段,该阶段系统会定时自动同步源端增量数据到目的端,此时目的端并未启动,无法操作。如需退出该阶段,单击“启动目的端”即可。

    调整分区

    关闭

    目的端磁盘分区与源端保持一致。

    开启

    用来调整目的端磁盘分区。具体操作参见调整磁盘分区。

    迁移后主机状态

    关机

    选择关机,迁移完成后目的端服务器自动关机。

    开机

    选择开机,迁移完成后目的端服务器保持开机状态。

    多进程设置

    SMS-Agent会根据源端资源情况自动设置迁移进程数量。

    设置迁移同步最大进程个数,SMS-Agent根据设置的进程个数,启用多个进程执行迁移任务。仅适用Linux文件迁移,请参考如何设置多进程个数进行设置。

    专线中转IP配置

    -

    专线迁移场景下,可配置目的端中转IP。

    资源限制(可选)

    CPU限制

    -

    详细介绍请参见Linux迁移,设置Cgroup资源限制

    内存限制

    磁盘吞吐限制

    数据一致性

    勾选后,在全量复制完成后,自动进行数据一致性校验。默认使用快速校验(即比对文件大小和修改时间)。在进行增量同步时,可以再次调整校验策略。该功能暂不支持BTRFS文件系统的主机。

    • 启用哈希校验:通过计算和比较文件内容的哈希值进行校验。适合于单文件体积大且文件内容重要的场景,将增加源端CPU负载及源端磁盘IO负载,校验时间也更长。
      注意:
      • 被运作中的软件占用的文件无法进行哈希校验。
      • 勾选该选项后,必须指定校验目录,并且只校验指定目录下的文件内容。
    • 数据范围
      • 排除下列目录:填写不需要进行数据校验的目录路径,最多支持填写30个路径,路径之间用英文逗号隔开。例如:/root/data,/var。不填则校验所有目录文件。
      • 仅包含下列目录:只对填写的目录文件进行校验。
    须知:
    • 请务必输入正确路径,路径错误或路径下不存在文件时,校验结果中会显示校验文件数量为0。
    • 需要校验的数据量越大,则一致性校验的用时越长,建议仅对关键目录进行校验。
    • 为避免校验数据量过大,以下路径将被默认排除:
      • Linux系统的/bin,/boot,/dev,/home,/etc,/lib,/media,/proc,/sbin,/selinux,/sys,/usr,/var,/run,/tmp目录。
      • Windows系统的分区根目录,如:C:\,O:\。

      如果默认排除的目录中有需要校验的目录,可以参考修改默认排除的目录进行处理。

  5. 单击右下角的“下一步:目的端配置”,进入目的端配置页签。
  6. 目的端基础配置区域,选择目的端服务器所在区域。

  7. 目的端规格区域,选择目的端服务器。对目的端服务器的要求请参见目的端服务器要求

    • 选择“已有服务器”。

      在已有服务器列表中,根据“推荐目的端”的规格,勾选满足要求的服务器作为目的端服务器。需要注意:目的端服务器在迁移过程中将被格式化和重新分区。请确保在迁移前对选择的目的端主机完成了数据备份,并确认磁盘可被格式化。

    • 选择“创建新服务器”。

      系统会自动推荐和选择:服务器名称、可用区、虚拟机规格、磁盘信息、弹性公网IP、虚拟私有云、子网与安全组等参数配置,您也可以单击“修改配置”,手动调整以上参数配置。

      • 虚拟机配置模板选择“自动推荐”时,虚拟私有云、子网、安全组、可用区、磁盘类型等配置系统会自动推荐,并在迁移时自动创建。在自动推荐的基础上,您也可以进行手动调整。
        • 虚拟私有云为系统自动创建时,创建策略如下:

          若源端IP是192.168.X.X,则推荐创建的VPC网段是192.168.0.0/16,同时创建一个子网,网段也是192.168.0.0/16。

          若源端IP是172.16.X.X,则推荐创建的VPC网段是172.16.0.0/12,同时创建一个子网,网段也是172.16.0.0/12。

          若源端IP是10.X.X.X,则推荐创建的VPC网段是10.0.0.0/8,同时创建一个子网,网段也是10.0.0.0/8。

        • 安全组为系统自动创建时,创建策略如下:

          如果是Windows创建开放8899、8900和22端口的安全组规则。

          如果是Linux文件级迁移创建开放22端口的安全组规则。

          如果是Linux块级迁移创建开放8900和22端口的安全组规则。

      • 虚拟机配置模板选择自定义模板时,虚拟私有云、子网、安全组、可用区、磁盘类型根据模板确定,也可以手动调整。自定义模板创建参见创建虚拟机配置模板
      • 磁盘高级设置。
        • 数据盘支持的磁盘模式包括:VBD类型(默认)、SCSI类型。关于磁盘模式的详细介绍请参见磁盘模式及使用方法
        • 数据盘支持创建“共享盘”,关于共享磁盘的详细介绍请参见共享云硬盘及使用方法
        • 支持将新建服务器的系统盘和数据盘设置为加密盘。关于磁盘加密的详细介绍请参见加密云硬盘及使用方法。使用该功能,需要先创建委托授权EVS访问KMS。授权成功后,设置以下参数:
          • 从KMS密钥中选择

            在下拉菜单中选择密钥名称。您可以选择使用的密钥如下:

            默认密钥: 成功授权EVS访问KMS,系统会创建默认密钥“evs/default”。

            自定义密钥: 即您已有的密钥或者新创建密钥,创建方式请参见创建密钥

          • 输入KMS密钥ID

            输入来自其他用户的共享密钥ID,请确保密钥位于目的端区域。共享方式请参见创建密钥授权

          • 迁移过程中禁用、删除等使密钥不可用的操作都会导致迁移失败,请确保迁移过程中密钥处于启用状态。
          • 加密磁盘创建完成后不支持修改。
          • 当前密钥共享仅支持授权给账号,不支持授权给用户。
          • 使用KMS加密模式,超过免费配额会收取相应费用。详情参见数据加密服务计费说明

  8. 目的端参数配置完成后,单击右下角“下一步:确认配置”,进入确认配置页签。
  9. (可选)单击“保存为虚拟机配置模板”,弹出“创建虚拟机配置模板”窗口,如图5所示,输入模板名称,单击“确定”,可将配置信息保存为模板。

    在目的端配置时,只有服务器选择“创建新服务器”时,才能单击“保存为虚拟机配置模板”。

    图5 创建虚拟机配置模板窗口

  10. 确认信息无误后,单击“保存配置”按钮,弹出“是否保存配置”窗口,如图6所示。仔细阅读“迁移条件须知和风险提示”后,单击“确定”。在迁移服务器列表,查看任务状态,当任务状态为待启动,迁移阶段为目的端设置,迁移实时状态为已就绪,说明目的端已配置完成。即可进行下一步开始服务器全量复制。

    图6 是否保存配置

步骤三:开始服务器全量复制

全量复制会把源端服务器所有数据都复制到目的端,复制速度取决源端服务器出网带宽和目的端服务器入网带宽(两者取较小者)。

开始服务器复制后,禁止重启源端及Agent,否则会导致迁移失败。

  1. 迁移服务器列表页面找到待迁移的服务器,单击“迁移阶段/实时状态”或“操作”列的“开始”,右侧弹出“开始”窗口,单击“确定”,开始全量复制。

    或勾选待迁移的服务器,单击服务器列表上方的“开始”,右侧弹出“开始”窗口,单击“确定”,开始全量复制。
    图7 开始全量复制

    在全量复制过程中,系统默认将您的目的端锁定并不可操作,迁移完成后将自动解锁目的端服务器。如您在迁移过程中,需要操作目的端,可解锁目的端,具体操作参见解锁目的端

  2. 单击源端服务器名称,可以查看迁移进度。

    • 如果在设置迁移目的端时,“持续同步”参数配置选择“”,则全量复制完成后系统会自动启动目的端。当“迁移阶段/实时状态”均为已完成时,代表目的端服务器已启动。
    • 如果在设置迁移目的端时,“持续同步”参数配置选择“”,当全量复制完成后任务会进入“持续同步”状态(即“迁移阶段/实时状态”均为持续同步)。该状态下,系统会自动把源端新增或修改的磁盘数据持续同步到目的端。如果需要停止持续同步并启动目的端,请参考启动目的端进行手动启动。
    • 启动目的端后,如果您的源端服务器有增量数据,您还可以使用同步功能,将源端增量数据同步到目的端。
    • 在主机迁移并割接完成后,通常还需要您根据业务需要对目的端服务器进行一些额外的配置调整。详细介绍请参考主机迁移完成后还需要手动修改哪些配置项?

步骤四(可选):同步增量数据

启动目的端后,如果源端服务器有增量数据,可以使用同步功能,将源端增量数据同步到目的端。

  1. 在迁移服务器列表页面找到需要进行同步的服务器,在“操作”列,单击“同步”。

  2. 在弹出的“同步”窗口,仔细查看同步说明,主机迁移服务提供了校验数据一致性功能,如果您需要启用该功能,请参考如何校验源端与目的端的数据一致性?进行配置。确认同步增量数据后,单击“确定”。

    在主机迁移完成并且不再需要进行数据同步时,您可以选择将迁移过程中产生的割接快照和同步快照进行删除。详细介绍请参考清理资源

  1. 迁移配置页面的基础配置页签,展开“迁移配置(可选)”,开启“调整分区”,单击“调整磁盘分区”,弹出“磁盘分区调整”窗口。
  2. 卷组配置。

    • 如源端有LVM逻辑卷组,需要先设置好逻辑卷大小,再调整物理卷大小。
    • 如果源端没有LVM逻辑卷,可以跳过。
    图8 卷组配置

  3. 单击“下一步:磁盘调整”按钮,进行磁盘配置。
  4. 单击“磁盘调整”按钮,根据实际需求调整磁盘大小。调整完成后,可以在窗口底部查看待迁移磁盘总览,如Linux磁盘分区调整所示。

    • 如果调整分区大小超过当前磁盘大小时,请先单击“磁盘调整”,调大磁盘大小后再进行分区调整。
    • 如果调整分区大小后,小于当前磁盘大小,如有必要,可单击“磁盘调整”,调小磁盘大小。
    图9 Linux磁盘分区调整

  5. 调整完成后,单击“下一步 确认调整”,确认磁盘调整无误后,单击“确定”,完成磁盘分区的调整。

    确定后,调整分区功能无法重新设置为“关闭”。如果想要恢复原始磁盘分区设置,请在服务器列表操作列,单击“更多 > 删除”,然后在源端重启Agent,之后重新进行目的端配置。

查看迁移演练状态和报告

在设置目的端时,如果开启了“迁移演练”功能,可以通过以下步骤查看迁移演练状态和报告。

  1. 在迁移服务器列表,单击源端服务器名称,右侧弹出任务详情窗口。
  2. 在任务进展页签,选择“任务跟踪”,可以查看迁移演练的实时状态和阶段。

  3. 在任务详情窗口的上方,单击演练状态后的“查看报告”,在右侧弹出迁移演练报告窗口中可以查看演练详情和检查项结果。

相关文档