更新时间:2026-04-02 GMT+08:00
分享

服务器迁移

什么是服务器迁移

服务器迁移支持将X86物理服务器以及私有云、公有云平台上的虚拟机无缝迁移到华为云。支持迁移到的目的端服务器类型包括弹性云服务器 ECS、Flexus L实例、Flexus X实例、专属主机以及专属云。

服务器迁移适用于少量服务器的迁移场景,需要在每台源端服务器上手动安装迁移Agent,并为每台源端服务器单独配置和创建迁移任务。大批量服务器迁移场景,请使用“服务器批量迁移”批量创建迁移任务进行迁移。

服务器迁移工作原理

服务器迁移的工作原理,如图1所示。

图1 服务器迁移工作原理

工作原理说明,参见表1

表1 工作原理说明

步骤

说明

1

用户手动下载迁移Agent并将其安装在源端服务器上。

2

在源端服务器上启动迁移Agent,迁移Agent将向云上服务端注册其连接状态,并将源端服务器的信息上报给服务端,以完成迁移可行性检查。

3

用户在迁移中心MgC控制台的“服务器迁移”页面为源端服务器设置目的端并开始迁移(即创建服务器迁移任务)。

4

迁移Agent在源端服务器上接收并执行由服务器迁移任务发送的迁移指令。

5

自动执行源端服务器系统盘迁移。

6

自动执行源端服务器数据盘迁移。

7

迁移完成后,启动目的端服务器。

使用须知和约束限制

在创建服务器迁移任务之前,请仔细阅读并了解迁移网络、迁移前、迁移过程以及迁移后的使用须知,详细信息请参见SMS使用须知

服务器迁移任务存在的约束与限制与主机迁移服务SMS相同,详细信息请参见服务器规格、系统限制迁移限制

计费说明

迁移中心MgC和主机迁移服务SMS本身均不收费,但在进行数据迁移时,会使用到弹性云服务器ECS、云硬盘EVS和弹性公网EIP等相关服务,会产生相应费用。详细的计费说明请参见SMS计费说明

操作流程

服务器迁移的完整操作流程,请参见表2

表2 服务器迁移操作流程

步骤

说明

准备工作

  • 账号权限准备:提前准备源端待迁移主机的登录账号和目的端华为云迁移账号与权限。
  • 创建应用迁移项目:在获取目的端华为云账号和权限后,需要在迁移中心MgC控制台创建用于服务器迁移的项目。
  • 检查源端环境:检查源端服务器环境和剩余空间是否满足迁移要求。
  • 检查源端网络:检查源端网络是否满足迁移条件。根据实际网络环境进行配置,以满足网络要求。
  • 检查系统兼容性:检查源端待迁移主机的操作系统类型和版本是否在支持迁移的系统列表中。
  • (可选)创建目的端服务器:服务器迁移任务提供了“已有服务器”和“创建新服务器”两种方式来指定目的端服务器。在设置迁移目的端时,您可以选择这两种方式之一。如果您选择“已有服务器”进行迁移,则需要预先创建目的端服务器。

步骤一:导入源端服务器

在源端服务器上安装并启动迁移Agent。迁移Agent分为Windows版本和Linux版本,请根据源端服务器实际系统类型和版本进行选择。

步骤二:设置迁移目的端

迁移Agent启动成功后,在MgC控制台的“服务器迁移”页面配置迁移目的端,包括设置迁移任务参数和选择目的端服务器等。

步骤三:启动服务器全量复制

在完成迁移任务的配置后,运行迁移任务以启动全量数据复制,将源端服务器的数据完全复制到目的端服务器。

步骤四:测试目的端服务器

全量复制完成后,验证迁移后目的端服务器的数据是否与源端服务器一致,以及应用/服务是否能够正常运行。

步骤五:增量数据同步和校验

将源端服务器增量数据同步到目的端,并验证增量数据是否完全同步。支持多次执行增量数据同步。在最后一次同步完成后(即不再需要进行数据同步时),可以通过“清理资源”功能,将迁移过程中产生的割接快照和同步快照进行删除,以避免持续产生不必要的费用。

步骤六:业务割接

将业务接入层切换至目的端服务器,使用目的端服务器向用户提供服务。

准备工作

在创建服务器迁移任务之前,请参照表3提前完成准备工作。

表3 准备事项的方法和要求

事项

方法和要求

获取源端账号和权限

请提前获取源端服务器的登录账号和密码,用于安装和启动迁移Agent。权限要求如下:

  • 源端为Windows服务器时,使用具有Administrator权限的账号。
  • 源端为Linux服务器时,使用具有Root权限的账号。

注册目的端华为云账号并配置权限

  1. 注册华为账号开通华为云并完成实名认证。如果您已开通华为云并进行实名认证,请忽略此步骤
    1. 访问华为云,单击“注册”。
    2. 根据提示信息完成注册开通,详细操作请参见注册华为账号并开通华为云
    3. 完成个人或企业账号实名认证。
  2. 创建IAM用户并授权。如果您使用华为账号(管理员账号)进行迁移,则跳过该步骤。
    1. IAM控制台创建用户组,并授予“SMS FullAccess”、"OBS OperateAccess"、“ECS FullAccess”、“VPC FullAccess”、“EVS FullAccess”和“MgC MigrateAccess”等系统策略。如果需要使用磁盘加密功能,还需要授予“EVS KMSAccess”系统策略。具体操作方法请参考创建用户组并授权

      如果系统策略不满足您的授权要求,您还可以选择创建自定义策略进行授权。自定义策略内容和创建方法,请参见自定义策略样例

    2. 创建IAM用户,并将其加入上一步创建的用户组。具体操作方法请参考创建用户并加入用户组
  3. 获取目的端账号的AK/SK。

    启动迁移Agent时,需要使用目的端账号的AK/SK进行鉴权认证。获取目的端账号AK/SK的方法请参见新增访问密钥

创建应用迁移项目

创建独立的迁移项目,将不同的操作场景进行区分和隔离,从而实现更好的组织管理和资源分配。具体操作,请参见创建应用迁移项目

检查源端服务器环境和剩余空间

  • 检查源端Windows服务器剩余空间是否满足以下条件:

    当分区大小大于或等于600MB时,该分区的可用空间必须不少于320MB才能进行迁移;当分区大小小于600MB时,该分区的可用空间必须不少于40MB才能进行迁移。

  • 检查源端Linux服务器环境和空间是否满足如下要求:
    • 根分区可用空间不小于200MB,小于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
      • 其他平台系统:参见官网安装相关文档。

检查网络环境

迁移网络需要满足以下要求:

  • 源端能连接到华为云API Gateway(端口:443),具体操作请参见源端能连接到API Gateway
    说明:

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

  • 源端能连接到目的端IP。
    • 若使用弹性公网IP连接,目的端需要提前购买和配置正确的EIP。确保源端可以通过目的端的EIP地址进行连接。
    • 若使用专线或者VPN,需提前购买和配置正确的专线或VPN。确保源端可以通过专线/VPN连接到目的端的IP地址。
  • 目的端服务器所属安全组需要开放22端口。具体操作请参见目的端服务器所属安全组开放端口要求
    注意:
    • 端口建议只对源端服务器开放。
    • 防火墙开放端口与操作系统开放端口保持一致。

检查源端服务器系统兼容性

请检查源端服务器的操作系统是否在服务器迁移任务支持迁移的系统列表中。服务器迁移任务支持的系统列表,请参见:

(可选)创建目的端服务器

服务器迁移任务提供了“选择已有服务器”和“创建新服务器”两种方式来指定目的端服务器。在设置迁移目的端时,您可以选择这两种方式之一。

  • 如果您选择“已有服务器”进行迁移,则需要在创建迁移任务之前,请根据源端服务器的规格,提前在华为云ECS上购买目的端服务器,并配置虚拟私有云、安全组和弹性公网IP等。购买方法请参考快速购买和使用Linux ECS快速购买和使用Windows ECS
  • 如果您选择“创建新服务器”,则可以通过迁移任务自动购买目的端服务器,无需提前购买。

目的端服务器的要求请参见目的端服务器要求

步骤一:导入源端服务器

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

  1. 登录迁移中心管理控制台。在左侧导航栏的项目下拉列表中选择创建的应用迁移项目
  2. 在左侧导航栏选择主机迁移 > 服务器迁移,进入“服务器迁移”页面。
  3. 单击“导入源端服务器”按钮,进入迁移Agent的下载页面。
  4. 根据源端服务器的操作系统类型,选择并下载相应的迁移Agent版本进行安装。

  5. 迁移Agent安装并启动成功后,返回MgC控制台的“服务器迁移”页面,在迁移服务器列表中为源端服务器设置迁移目的端

步骤二:设置迁移目的端

源端服务器安装并启动迁移Agent成功后,在MgC控制台的“服务器迁移”页面对源端服务器进行目的端设置,包括迁移任务参数设置和选择目的端服务器等。

  1. 在左侧导航栏选择主机迁移 > 服务器迁移,进入“服务器迁移”页面。
  2. 在服务器迁移列表中找到源端待迁移的服务器,单击“迁移阶段/实时状态”列的“设置目的端”或操作列的更多 > 设置目的端,进入“迁移配置”页面。

    如果在服务器迁移列表中未找到源服务器的记录,请参考“源端Agent注册后,为什么主机迁移服务控制台没有显示记录”进行排查。

  3. “迁移配置”页面的“目的端基础配置”区域,根据表4,设置相关参数。

    表4 基础配置参数说明

    参数

    子参数

    说明

    目的端区域

    -

    选择目的端服务器所在区域。

    目的端迁移端口

    -

    • 源端为Windows系统时,默认开放22端口、8900端口和8899端口。
    • 源端为Linux系统时,文件级迁移默认开放22端口,块级迁移默认开放22端口和8900端口。
    说明:

    开放端口的用途如下:

    • 22端口:传输链路初始化端口,用于建立传输通道。部分区域支持修改。
    • 8899端口:数据传输控制端口,用于传输任务控制信号。不支持修改。
    • 8900端口:块数据传输端口,用于传输数据。不支持修改。

    网络类型

    公网

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

    私网

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

    有关通过私网进行迁移的网络场景和解决方案,可以参考通过VPN、云专线、云连接打通SMS迁移网络

    IP版本

    IPv4

    默认使用IPv4进行数据迁移。

    IPv6

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

    注意:

    在选择IPv6进行迁移时,目的端仅支持选择已有的服务器,不支持通过服务端创建新服务器。

  4. 配置目的端规格。目的端服务器需要满足的要求,请参见目的端服务器要求

    目的端配置支持以下两种方式:

    • 已有服务器:在已有服务器列表中选择预先在华为云创建的服务器作为迁移目的端。详细介绍请参见选择已有服务器

      为确保迁移后目的端能够正常启动,已有服务器迁移会将目的端服务器进行格式化,并修改注册表和网络配置等信息。建议在迁移前进行数据备份。

    • 创建新服务器:通过配置目的端主机规格,服务端会根据配置的规格自动购买目的端服务器。详细介绍请参见创建新服务器

  5. (可选)配置资源限制。

    在“资源限制(可选)”区域,根据表5,设置相关参数。

    表5 资源限制参数配置说明

    参数

    说明

    CPU限制

    仅Linux系统迁移支持该配置,详细介绍请参见Linux迁移,设置Cgroup资源限制

    内存限制

    磁盘吞吐限制

    网络限流

    根据要迁移的源端带宽大小及业务要求,设置限制带宽大小。设置为0时,代表不限流。

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

    • 使用了IPv6迁移。
    • 源端服务器缺少TC(Traffic Control)模块。
    • 源端存在TC模块,但缺少CBQ (Class-Based Queueing)模块或HTB (Hierarchy Token Bucket)模块。

    超速阈值(%)

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

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

    注意:

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

    • 使用了IPv6迁移。
    • 源端服务器缺少TC(Traffic Control)模块。
    • 源端存在TC模块,但缺少CBQ (Class-Based Queueing)模块或HTB (Hierarchy Token Bucket)模块。
    • SMS-Agent版本小于24.9.0。

  6. 开启迁移演练。

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

    开启此功能后,系统会在全量复制操作执行前,自动为您创建一个迁移演练任务。整个迁移演练过程通常需要5-15分钟。在此期间,按量计费资源将会产生一定的费用。计费项请参见计费说明。迁移演练任务仅为模拟迁移,不会真正传输源端数据,因此产生的费用较低。

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

  7. 配置迁移参数。

    在“迁移参数”区域,根据表6,设置相关参数。

    Windows系统和Linux系统的参数存在差异,请根据实际界面的参数进行设置。

    表6 迁移参数配置说明

    参数

    子参数

    说明

    迁移后主机状态

    关机

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

    开机

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

    迁移方式

    Linux块级

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

    Linux文件级

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

    Windows块级

    Windows块级迁移是指全量复制和持续同步的最小粒度为磁盘逻辑单位"块"。当前,Windows默认使用块级迁移,且无法更改。

    多进程设置

    自动

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

    手动

    手动设置“迁移”和“同步”最大进程个数,SMS-Agent根据设置的进程个数,启用多个进程执行迁移任务。

    该设置仅适用Linux文件迁移,关于进程个数的计算和设置的详细介绍,请参考如何设置多进程个数

    持续同步

    -

    关闭时,迁移任务在完成全量复制后,系统会自动启动目的端,无需用户手动启动启动目的端后,如果需要同步源端增量数据,可以单击任务操作列的“更多 >同步”,将增量数据同步至目的端服务器。

    开启时,迁移任务在完成全量复制后,会进入持续同步阶段。在此阶段,系统会定时自动同步源端增量数据到目的端。此时,目的端尚未启动,且无法进行操作。如需退出该阶段,可以在迁移任务的“迁移阶段/实时状态”列,单击“启动目的端”来启动目的端服务器。

    数据一致性

    -

    关闭时,迁移任务在完成全量复制后,不进行数据一致性校验。在执行增量同步操作时,可以重新选择是否进行数据一致性校验。

    开启时,迁移任务执行完全量复制后,自动进行数据一致性校验。默认使用快速校验(即比对文件大小和修改时间)。在进行增量同步时,可以再次调整校验策略。该功能暂不支持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:\。

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

    调整分区

    -

    关闭时,目的端服务器的磁盘数量、分区大小与源端服务器保持一致。

    开启后,您可以手动调整目的端磁盘数量和分区大小。关于调整磁盘分区的详细信息和操作方法,请参见调整磁盘分区

    专线中转IP配置

    -

    仅适用于专线迁移场景,用于设置目的端中转IP。该场景下的网络配置方法,可参考源端无法访问公网,源端和目的端不能直接互通

  8. 保存配置并开始迁移。

    完成目的端参数配置后,在迁移配置页面右侧的“配置概要”区域确认参数配置。确认配置信息无误后,选择是否立即启动迁移任务以执行迁移:

    • 保存任务配置并立即启动迁移:
      1. 单击“保存配置并开始迁移”按钮,弹出“是否保存配置并开始迁移”窗口。
      2. 仔细阅读“迁移条件须知和风险提示”后,单击“确定”,保存迁移任务配置并启动迁移。返回服务器迁移列表,此时任务状态为“运行中”,代表迁移已启动。
    • 保存任务配置暂不启动迁移:
      1. 单击“保存配置”按钮,弹出“是否保存配置”窗口。
      2. 仔细阅读“迁移条件须知和风险提示”后,单击“确定”,保存任务配置。返回服务器迁移列表,此时任务状态为“待启动”,代表迁移尚未启动。

        如果要启动迁移,单击“迁移阶段/实时状态”列的“开始”,即可启动迁移。

步骤三:启动服务器全量复制

全量复制会将源端服务器的所有数据复制到目的端。完成目的端设置后,即可启动全量复制。

请勿在服务器数据复制过程中重启源端服务器和迁移Agent,否则可能导致迁移失败。关于迁移过程中的更多注意事项,请参见迁移过程操作须知

  1. “服务器迁移”列表页面找到已完成目的端设置的服务器,单击“迁移阶段/实时状态”列的“开始迁移”,右侧弹出“开始”窗口。

  2. 单击“确定”,开始全量复制。
  3. 单击服务器名称,右侧弹出任务详情窗口,可以查看迁移速率和进度等信息。当任务状态显示为“已完成”时,表示全量复制已经结束,且目的端服务器已成功启动。

    如果在设置迁移目的端的迁移参数配置中“持续同步”选择了“开启”,全量复制完成后,任务会进入“持续同步”状态,系统会周期性的自动把源端增量数据同步到目的端服务器。在该状态下,“启动目的端”需要用户手动操作,方法请参考手动启动目的端

步骤四:测试目的端服务器

在目的端启动成功后,前往目的端服务器检查运行状态,登录并验证目的端与源端的数据一致性,同时启动服务以检查其是否正常运行。

  1. 在服务器迁移列表中,单击目的端列中的服务器名称,跳转到目的端服务器的详情页面,查看服务器的配置参数和运行状态。

  2. 通过VNC登录目的端服务器,登录方法请参考通过VNC登录Linux ECS通过控制台VNC登录Windows ECS

    目的端服务器的登录用户名和密码与源端相同。

  3. 对比源端和目的端文件列表,查看是否一致。
  4. 启动目的端服务器上的应用或服务,并检查其是否能够正常运行。

步骤五:增量数据同步和校验

在全量复制和测试目的端服务器的过程中,如果源端服务器有新增数据,可以使用同步功能将源端的增量数据同步到目的端。

增量数据同步可以多次执行,但在进行最后一次增量数据同步之前,需要停止源端服务器上的服务,以避免在同步过程中服务继续生成增量数据,从而导致两端数据不一致。

  1. 在服务器迁移列表页面找到需要进行同步的服务器,单击列表上方的“同步”按钮,或在“操作”列单击“更多 > 同步”
  2. 在弹出的“同步”窗口,仔细查看同步说明,主机迁移服务提供了校验数据一致性功能,如果您需要启用该功能,请参考如何校验源端与目的端的数据一致性?进行配置。确认同步增量数据后,单击“确定”

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

  3. 单击服务器名称,右侧弹出任务详情窗口,可以查看同步进度。当任务状态再次变为“已完成”时,代表增量数据同步完成。

步骤六:业务割接

迁移中心MgC不提供业务割接功能。以下为业务割接说明和建议。

在完成全量复制、测试目的端服务器、增量数据同步和校验等操作后,您可以选择将业务接入层切换到目的端服务器,以使用目的端服务器向用户提供服务。根据应用的等级,采取不同的割接方式。

  • 一次割接:适用于中、小型业务,利用业务的一次性停机窗口,进行全面割接。
  • 分批割接:针对大型业务,一次性割接会导致大面积停机,存在重大风险。因此,采取分批割接方式,将所有机器按照由易到难、业务系统统一迁移等原则,分成多个批次进行割接,每个批次的割接均按照一次割接的方式进行。

相关文档

相关文档