评估迁移时间与测试传输速度

迁移周期主要分为迁移前、迁移过程中、迁移后三部分。迁移周期时长与待迁移服务器的数量和实际数据量成正比,建议您根据实际迁移测试演练进行评估。本文主要介绍迁移过程中这一阶段所需时间的评估方式和传输速度的测试方法。

背景信息

在SMC迁移过程中,SMC服务会先在您的阿里云账号下准备一台临时中转实例(如果是迁移到目标实例,则把目标实例当作中转实例),再将源服务器数据传输到中转实例的云盘,并将中转实例云盘数据制作成阿里云ECS镜像,具体原理请参见迁移原理。因此,迁移时间等于数据传输时间与镜像制作时间之和,详情请参见评估迁移时间

整个迁移过程中,源服务器到中转实例的传输速度是迁移时间的首要决定因素。传输速度的测试方法,请参见测试传输速度

数据传输速度小于实际测出的速度时,可能原因及处理方式如下表所示。

可能原因

处理方式

源服务器和中转实例处于不同地域或不同国家。跨地域、跨国际的网络传输相比同地域传输有时较慢。

测试源服务器和阿里云目标区域实例的网络。如果确定为跨地域的原因,您可以:

  • 迁移源服务器到阿里云相同地域并生成镜像,再复制镜像到目标地域。复制镜像的具体操作,请参见复制自定义镜像

  • 排查是否为网络服务商问题。

迁移时使用的是源服务器的出网带宽和中转实例的入网带宽。中转实例的带宽有所限制,默认入方向公网带宽上限是100 Mbps,因此默认情况下,公网传输的最大速度是100 Mbps。

重要

当迁移到目标实例时,如果目标实例使用的是EIP(弹性公网IP),目标实例的公网入口带宽会受到EIP公网出口带宽限制。具体规则如下:

  • 当EIP出口带宽小于等于10 Mbps时,实例入口带宽是10 Mbps。

  • 当EIP出口带宽大于10 Mbps时,实例入口带宽默认等于EIP出口带宽。

您可以通过以下任一方式进行处理:

  • 方式一:通过ECS控制台找到中转实例或目标实例,将实例的固定公网IP转换为按量付费的弹性公网IP后,再将按量付费的弹性公网IP的带宽峰值升配到200 Mbps。弹性公网IP的带宽峰值在升配时需要支付一定的费用。更多信息,请参见专有网络类型ECS固定公网IP转为弹性公网IP以及变更EIP带宽

  • 重要

    当实例的固定公网IP转换为弹性公网IP后,无法再转回固定公网IP,并且弹性公网IP不会随实例的释放而释放。因此您需要在迁移完成后,手动释放按量付费的弹性公网IP,避免产生额外收费。具体操作,请参见释放按量计费EIP实例

  • 方式二:如果源服务器能够访问某一阿里云地域下的专有网络VPC,建议您在迁移任务中,使用内网传输的方式进行迁移。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。您可以通过VPN网关、高速通道物理专线、智能接入网关将源服务器和云上VPC打通。更多信息,请参见连接本地IDC

源服务器性能瓶颈。例如,CPU、内存、磁盘性能等有限,导致SMC传输效率不高。

  • 提升源服务器性能瓶颈。例如,提升CPU、内存、磁盘性能等。

  • 通过禁用压缩传输提高传输效率。

    创建迁移任务 > 高级配置 > 压缩率编辑任务 > 压缩率中设置压缩率为0来禁用压缩传输。压缩传输会消耗CPU性能,一般只建议用于小带宽场景,在大带宽场景反而会降低传输速度。

源服务器磁盘里存在动态变化的大文件,如数据库数据文件或日志文件。

  • 可以考虑在合适的时间点暂停相关数据业务服务,确保迁移的过程中大文件不再动态变化后再试。

  • 使用过滤配置排除相关目录后再试。具体操作,请参见如何过滤、排除不需要迁移的文件或目录?。对于未迁移的文件或目录,后续可考虑用其他方案迁移。

源服务器存在大量小文件,如分布式文件系统海量数据、文件服务器等。

使用过滤配置排除相关目录后再试。具体操作,请参见如何过滤、排除不需要迁移的文件或目录?

对于未迁移的文件或目录,后续可以考虑用其他方案迁移。

源服务器出网带宽速度较小

  • 临时调大源服务器出网带宽速度。

  • 创建迁移任务 > 高级配置 > 压缩率编辑任务 > 压缩率中设置压缩率(建议为7)来启用压缩传输。压缩传输可提升数据传输效率,但会消耗一定的CPU性能。但在大带宽场景不建议使用。

说明

本文中的示例仅供参考。

评估迁移时间

迁移过程中所需时间的评估方式如下图所示。其中:

  • 快照制作速度目前约为100 MB/s。

  • 实际网速的测试方法,请参见测试传输速度

evaluate_migration_time

假设有一台服务器系统,磁盘数据的实际占用量为10 GB,出口带宽为10 Mbps,则迁移时间估算如下:

  1. 换算单位。

    • 实际数据量为:10 GB=10*1,024=10,240 MB

    • 实际网速为:10 Mbps=10/8=1.25 MB/s

  2. 计算数据传输时间。

    数据传输时间为:10,240/1.25=8,192秒=2.27小时

  3. 计算镜像制作时间。

    镜像制作时间为:10,240/100=102秒=0.03小时

  4. 计算迁移时间。

    迁移时间为:2.27+0.03=2.3小时

测试传输速度

传输速度是指源服务器到中转实例的传输速度,由源服务器出口带宽速度和中转实例入口带宽速度共同决定。其中,中转实例入口带宽速度默认为100 Mbps。

例如:

  • 源服务器出口带宽为50 Mbps,中转实例入口带宽为100 Mbps,则实际测出的传输速度理论上不超过50 Mbps。

  • 源服务器出口带宽为150 Mbps,中转实例入口带宽为100 Mbps,则实际测出的传输速度理论上不超过100 Mbps。

说明

ECS控制台实例显示的带宽1 Mbps为中转实例的出口带宽,由于迁移时使用中转实例的入口带宽,所以1 Mbps不会影响实际迁移速度。

按照以下步骤使用iperf工具测试传输速度:

  1. 在阿里云目标地域创建一台按量付费ECS实例。

  2. 在实例上,完成以下操作:

    1. 安装iperf工具。

    2. 将iperf启动为服务端。

    3. 在实例安全组中添加规则放开iperf所需端口。

  3. 在源服务器系统中,完成以下操作:

    1. 安装iperf工具。

    2. 将iperf启动为客户端。目标服务端IP地址设置为步骤1中按量付费实例的公网IP地址。

Linux传输速度测试示例

以下示例步骤以CentOS 7为例。实际测试中,请以您的操作系统版本为准。

  1. 在阿里云目标地域创建一台按量付费的CentOS 7实例。

  2. 在实例安全组的入方向,添加规则并放行iperf所需端口。

    本示例中,使用iperf的默认端口TCP 5001。

  3. 远程连接CentOS 7实例。

  4. 在CentOS 7实例上,完成以下操作:

    1. 运行以下命令,安装iperf工具。

      yum -y install iperf3
    2. 运行以下命令,将iperf启动为服务端。

      iperf3 -s
  5. 在源服务器系统中,完成以下操作:

    1. 下载并安装iperf工具。

    2. 运行以下命令将iperf启动为客户端。

      将命令中的<实例IP>替换为已创建实例的公网IP地址。

      iperf3 -c <实例IP> -i 1 -d  
  6. 等待并记录iperf测试结果。

Windows传输速度测试示例

以下示例步骤以Windows Server 2008为例。实际测试中,请以您的操作系统版本为准。

  1. 在阿里云目标地域创建一台按量付费的Windows Server 2008实例。

  2. 在实例安全组的入方向,添加规则并放行iperf所需端口。

    本示例中,使用iperf的默认端口TCP 5001。

  3. 远程连接实例。

  4. 在Windows Server 2008实例上,完成以下操作:

    1. 下载并安装iperf工具

    2. 打开cmd窗口。

    3. 运行cd <iperf所在目录>命令进入工具目录。

    4. 运行iperf3.exe -s命令将iperf启动为服务端。

  5. 在源服务器系统中,完成以下操作:

    1. 下载并安装iperf工具

    2. 运行以下命令将iperf启动为客户端。

      将命令中的<实例IP>替换为已创建实例的公网IP地址。

      iperf3.exe -c <实例IP> -i 1 -d
  6. 等待并记录iperf测试结果。