文档首页/ 主机迁移服务 SMS/ 最佳实践/ 常见网络场景下的网络要求和配置方法
更新时间:2024-12-16 GMT+08:00

常见网络场景下的网络要求和配置方法

背景说明

主机迁移过程中,关于数据流向和网络要求是用户最关心和最常遇到的问题。华为云的SMS服务在迁移过程中主要涉及的流量分为两部分:控制流和数据流。

  • 控制流:控制流是指源端主机与云服务管理面之间的通信。为确保迁移过程的顺利进行,需要检查源端主机出方向是否有限制,并确保源端主机能够访问迁移过程中依赖的云服务,包括SMS、IAM、ECS、EVS、VPC、IMS等服务的域名。
  • 数据流:数据流涉及从源端到目的端的数据传输。为确保数据流的畅通,需要检查目的端服务器的安全组配置,确保目的端安全组对源端IP开放了指定的迁移端口。如果源端主机无法直接访问公网或与目的端直接通信,需要配置代理服务器。在这种情况下,需要额外考虑以下因素:
    • 代理服务器的配置,确保它能够正确转发源端主机的流量。
    • 代理服务器的安全组设置,确保对源端IP开放了代理端口。

源端可以访问公网,源端和目的端公网互通

  1. 在源端下载SMS-Agent并启动
  2. 设置目的端时选择公网迁移

    需要确保目的端安全组对源端公网IP开放指定迁移端口。安全组的配置方法请参考如何配置目的端服务器安全组规则?

源端可以访问公网,源端和目的端能直接内网互通

  1. 需要您自行确保源端和目的端内网能直接互通。
  2. 在源端下载SMS-Agent并启动
  3. 设置目的端时选择私网迁移

    需要确保目的端安全组对源端内网IP开放指定迁移端口。安全组的配置方法请参考如何配置目的端服务器安全组规则?

源端无法访问公网,源端和目的端能直接内网互通

  1. 准备一台能访问公网且与源端内网互通的代理服务器。代理机器的安全组要对源端内网IP开放代理端口。
  2. 在代理服务器安装代理软件(Linux推荐squid,Windows推荐wproxy)。
  3. 在源端下载SMS-Agent安装包,并修改SMS-Agent配置文件中的代理配置参数,然后启动SMS-Agent。详细操作介绍请参考配置代理服务器访问华为云
  4. 设置目的端时选择私网迁移

    需要确保目的端安全组对源端内网IP开放指定迁移端口。安全组的配置方法请参考如何配置目的端服务器安全组规则?

源端无法访问公网,源端和目的端不能直接互通

通过中转代理服务器转发管理面和数据面流量。要求该中转代理服务器能和源端服务器、华为云目的端服务器网络互通。

  1. 配置一台管理面代理服务器以访问云服务后端,方法请参考配置代理服务器访问华为云中的步骤1。
  2. 根据同时迁移的主机数量和数据量大小,创建至少一台数据流代理服务器并安装Nginx。可以执行如下命令进行安装:
    yum install nginx -y 
  3. 配置Nginx以转发数据流。以下操作以在CentOS 8上配置为例:
    1. 编辑/etc/ssh/sshd_config文件,找到 port 22这一行,去掉默认的#注释,并在下面新增一行Port 2222。

    2. 执行以下命令重启SSH服务,使配置生效:
      systemctl restart sshd.service
    3. 执行以下命令添加防火墙规则:
      iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
    4. 编辑/etc/ssh/sshd_config配置文件,找到 port 22这一行,重新加#恢复注释,然后执行以下命令重启sshd服务:
      systemctl restart sshd.service
    5. 修改/etc/nginx/nginx.conf配置文件。
      • Linux文件级迁移在文件末尾添加以下内容,要求和文件中的http{}同级。有多台主机迁移就添加多个映射,default backend1是映射本代理服务器不可缺少。
        stream {
            map $remote_addr $backend {
               default backend1;
               源端1号主机ip  backend2;
               源端2号主机ip  backend3;
            }
         
           server {
               listen 22;
               proxy_pass $backend;
           }
         
            upstream backend1 {  server 本代理主机ip:22; }
            upstream backend2 {  server 目的端1号主机ip:22; }
            upstream backend3 {  server 目的端2号主机ip:22; }
        }
      • Windows迁移在文件末尾添加以下内容,要求和文件中的http{}同级。有多台主机迁移就添加多个upstream backend_x_xx和map映射,配置样例如下:
        stream {
            # 1号机器
            upstream backend_1_22 {
                server 目的端机器1号机器ip:22;
            }
        
            upstream backend_1_8899 {
                server 目的端机器1号机器ip:8899;
            }
        
            upstream backend_1_8900 {
                server 目的端机器1号机器ip:8900;
            }
        
            # 2号机器
            upstream backend_2_22 {
                server 目的端机器2号机器ip:22;
            }
        
            upstream backend_2_8899 {
                server 目的端机器2号机器ip:8899;
            }
        
            upstream backend_2_8900 {
                server 目的端机器2号机器ip:8900;
            }
        
            map $remote_addr $backend_22 {
                1号源端服务器ip  "backend_1_22";
                2号源端服务器ip  "backend_2_22";
                default X:22;
            }
        
            map $remote_addr $backend_8899 {
                1号源端服务器ip  "backend_1_8899";
                2号源端服务器ip  "backend_2_8899";
                default X:8899;
            }
        
            map $remote_addr $backend_8900 {
                1号源端服务器ip  "backend_1_8900";
                2号源端服务器ip  "backend_2_8900";
                default X:8900;
            }
        
            server {
                listen 22;
                proxy_pass $backend_22;
            }
        
            server {
                listen 8899;
                proxy_pass $backend_8899;
            }
        
            server {
                listen 8900;
                proxy_pass $backend_8900;
            }
        }
    6. 执行以下命令检查Nginx配置文件是否更改正确:
      nginx -t

      当出现successful标识即代表成功。

    7. 配置文件检查无误后,启动Nginx服务:
      nginx
    8. 使用以下命令来查看Nginx是否正在监听指定的端口:
      netstat -ntpl
  4. 在源端下载SMS-Agent安装包,并修改SMS-Agent配置文件中的代理配置参数,然后启动SMS-Agent。详细操作介绍请参考配置代理服务器访问华为云中的步骤2。
  5. 设置目的端时,将代理服务器的内网IP填写到专线中转IP配置。

    需要确保中转代理服务器入方向端口对源端IP开放,目的端主机入方向端口对中转代理服务器IP开放。

    图1 填写专线中转IP配置

MgC主机批量迁移网络场景

MgC当前不支持完全无公网的迁移场景。

  1. 在与源端互通的内网环境中安装迁移工具Edge。安装方法和要求请参考安装Windows版本的Edge
  2. 参考MgC的线下主机迁移上云最佳实践,完成步骤二至步骤五的操作。

    需要确保目的端安全组对源端服务器开放指定迁移端口。安全组的配置方法请参考如何配置目的端服务器安全组规则?

  3. 创建主机迁移工作流
    • 如果源端可以访问公网,在迁移网络配置选择公网迁移。
      图2 公网迁移
    • 如果源端无法访问公网,您需要准备一台可以访问公网的代理服务器并安装代理软件,方法可参考配置代理服务器访问华为云中的步骤1。对该代理服务器的网络要求如下:
      • 该代理机器可以在源端内网,也可以在云上,只需和源端待迁移服务器内网互通即可。
      • 需要确保代理服务器入方向代理端口对源端IP开放。
      配置完代理服务器后,在迁移网络配置选择私网迁移,输入代理服务器的私网IP和代理软件指定的代理端口。
      图3 私网迁移