主机迁移的网络安全配置与条件有哪些?
背景说明
在使用主机迁移服务时,需要在被迁服务器上安装SMS-Agent。迁移过程中,源端要与SMS服务及目的端进行通信。
图 主机迁移服务网络示意图
源端能连接到天翼云API Gateway
主机迁移服务依赖部分服务:IAM、ECS、EVS、IMS、VPC、SMS、OBS、DNS,在迁移过程中要确保源端agent能调用目的端服务器所在region相关依赖服务的API。在 SMS-Agen/config
中的 cloud-region.json
文件中,可以查看依赖服务的URL。
当源端服务器无法设置DNS服务器地址时,需要在本地DNS配置文件中 (Windows C:\Windows\System32\drivers\etc\hosts
;Linux /etc/hosts
)配置url对应的ip,保证url能被正常解析。各API的IP地址可以通过 ping url
获得。
源端能连接到目的端
- 若使用弹性公网IP连接,目的端需要提前购买和配置正确的EIP。使源端能连接到目的端IP。
- 若使用专线或者VPN,需提前购买和配置正确的专线或VPN。使源端能连接到目的端IP。
目的端服务器所属安全组开放端口要求
- 目的端服务器为windows系统时需要放开 8899、8900 、22端口。服务器为linux系统时,Linux系统开放8900、22端口。
- 当目的端设置了网络ACL时,并关联了目的端服务器所在的子网。需要在网络ACL中,放开相应的端口。
新建迁移任务需要对目的端服务器做哪些准备?
迁移前,若选择迁移到已有服务器,请做以下准备工作:
- 确保天翼云上有满足如何选择目的端服务器?所示要求的弹性云服务器。
- 确保源端服务器可以访问目的端服务器(即弹性云服务器),即要有可用的EIP,或者配置VPN、专线。
- 确保目的端服务器所在VPC安全组配置准确。需配置目的端服务器所在VPC安全组,如果是Windows系统需要开放TCP的8899端口、8900端口和22端口;如果是Linux系统,块级迁移开放8900端口和22端口,文件级迁移开放22端口。
- 迁移过程中禁止操作目的端弹性云服务器(包括关机、重启、挂载磁盘、卸载磁盘、修改密码等),否则会导致迁移失败。
如何配置目的端服务器安全组规则?
- 登录管理控制台。
- 单击控制台左上角,选择区域和项目。
- 选择“计算 > 弹性云主机”。
- 在弹性云服务器列表,单击待变更安全组规则的弹性云服务器名称。系统跳转至该弹性云服务器详情页面。
- 选择“安全组”页签,并单击,查看安全组规则。
- 单击“更改安全组规则”。系统跳转至安全组页面。
- 在“入方向规则”页签下,单击“添加规则”,配置安全组入方向的访问规则。
- 单击“确定”,完成安全组规则配置。
“与目的服务器建立SSH连接失败”该如何处理?
当目的迁移任务执行失败时,提示“sms.3802 与目的服务器建立SSH连接失败”。迁移时,源端会和目的端服务器建立一个SSH连接用于传输数据。如果无法成功建立SSH连接,则会提示该错误。建议您参考本章节操作步骤排查SSH无法连接的原因。
- 检查目的端是否被关机
- 检查目的端安全组22端口是否被关闭或指定了一个非源端IP
- 检查是否安装ssh客户端
- 检查迁移过程中目的端是否更换了VPC或者IP
- 检查源端防火墙出口方向是否有安全拦截
- 检查源端或目的端主机是否存在安全告警或者EIP被冻结
- 检查源端/root/.ssh/known_hosts记录的公钥和目的端的公钥是否不一致
- 检查目的端sshd服务是否正常运行或监听端口是否被改为其他非22端口
- 检查是否使用了与目的端服务器未联通的内网进行迁移
“无法连接目的虚拟机,请检查目的虚拟机IP是否可达,或者8899、8900端口是否开放”该如何处理?
当连接目的端服务器失败时,提示“sms.1807 sms.2802 无法连接目的虚拟机,请检查目的虚拟机IP是否可达,或者8899、8900端口是否开放”。windows系统迁移时,目的端服务器需要开放8899端口与服务端通信,开放8900端口与源端通信。如果建立通信失败,则会提示该错误。建议您参考本章节操作步骤排查“无法连接目的虚拟机”的原因。
- 检查源端网络是否可以连通目的端
- 检查目的端安全组是否开放8899、8900端口
- 检查目的端网络ACL是否禁用了8899、8900端口
- 目的端Peagent异常
“源端主机网络繁忙,无法连接api网关”该如何处理?
Agent无法正常启动,Linux系统提示“SMS.0201 Failed to start sms agent! Please check the network connection with below commands!
”,Windows系统提示“SMS.0201 源端主机网络繁忙,无法连接api网关”。该问题通常是由于源端没有通公网,无法与SMS/IAM/ECS/EVS/IMS/VPC/OBS等服务通信导致。需要排查源端网络。
迁移Agent与主机迁移服务自动断开连接时,如何重新建立连接?
服务器迁移实时状态显示连接断开,导致大部分操作无法进行。
问题原因
- 源端Agent停止运行。
- 源端Agent长时间不操作(默认为30天,可通过
config/g-property.cfg
的heartmonitorday
参数配置),导致Agent主动与服务断开连接。 - 源端Agent与SMS服务网络连接异常。
- 系统被注销或退出了远程登录(部分机器远程登录退出会自动注销),导致SMS-Agent-Py3/SMS-Agent-Py2进程退出。
- 当源端时间与标准时间相差超过15分钟时,会导致AK/SK权鉴失败。例如:源端NTP时间服务器配置错误。
源端服务器为Windows操作系统(Windows Server 2019/Windows Server 2016/Windows Server 2012/Windows 10/Windows 8.1)时
- 登录源端服务器,在右下角寻找Agent图标,检查Agent是否正常运行。
- 如果Agent已经退出,请重启Agent。
- 如果Agent正常运行,请执行2。
- 在Agent操作界面,检查是否可以单击“启动”按钮。
- 如果可以启动,表示Agent主动与sms服务断开连接,请单击“启动”,重新连接sms服务。
- 如果不能启动,请执行3。
- 检查源端服务器与服务接口的连通性。如果不能连通,请检查是否配置错误的dns,或者是否设置了防火墙导致域名无法访问;如果可以连通,并且正在数据传输阶段。请检查源端出口带宽,如果带宽低于10Mbps,可能是数据传输占满带宽,导致Agent与sms服务连接超时,请提高源端出口带宽到10Mbps以上,再继续迁移。
- 处理完成后,大约等待1分钟以后,登录目的端管理控制台。
- 单击“服务列表”,选择“迁移 > 主机迁移服务”。进入“主机迁移服务”页面。
- 在左侧导航树中,选择“迁移服务器”。在“迁移实时状态”列查看该源端的连接状态。
源端服务器为Windows操作系统(Windows Server 2008/Windows 7)时
-
登录源端服务器,查找SMSAgentDeploy.exe进程,检查Agent是否正常运行。
- 如果SMSAgentDeploy.exe进程不存在,请重启Agent后执行2。重启Agent需要重新迁移。
- 如果SMSAgentDeploy.exe进程存在,请执行2。
-
进入SMS-Agent安装目录,执行agent-cli.exe,并执行status,检查Agent连接状态。
- 如果状态为True,请执行4。
- 如果状态为False,表示Agent主动与服务断开连接,请执行3。
-
输入“
connect
”,重新连接源端服务器与主机迁移服务。当回显信息中的“Connected between sms agent and sms server”
为True时,表示源端服务器与主机迁移服务已恢复连接。 -
检查源端服务器与服务接口的连通性。如果不能连通,请检查是否配置错误的dns,或者是否设置了防火墙导致域名无法访问;如果可以连通,并且正在数据传输阶段。请检查源端出口带宽,如果带宽低于10Mbps,可能是数据传输占满带宽,导致Agent与sms服务连接超时,请提高源端出口带宽到10Mbps以上,再继续迁移。
-
处理完成后,大约等待1分钟以后,登录目的端管理控制台。
-
单击“服务列表”,选择“迁移 > 主机迁移服务”。进入“主机迁移服务”页面。
-
在左侧导航树中,选择“迁移服务器”。在“迁移实时状态”列查看该源端的连接状态。
源端服务器为Linux操作系统时
-
使用PuTTY或者SSH客户端,登录待迁移的源端服务器。
-
执行
ps -ef | grep -v grep | grep linuxmain
检查Agent是否正常运行。- 如果没有linuxmain进程,请重新启动Agent。
- 如果有linuxmain进程,请执行3。
-
在SMS-Agent目录下执行
./agent-cli.sh
,进入agent-cli
操作界面,然后执行status
,检查Agent连接状态。- 如果状态为True,执行步骤5。
- 如果状态为False,表示Agent主动与服务断开连接,请执行4。
-
输入“
connect
”,重新连接源端服务器与主机迁移服务。当回显信息中的“Connected between sms agent and sms server”
为True时,表示源端服务器与主机迁移服务已恢复连接。 -
检查源端服务器与服务接口的连通性。如果不能连通,请检查是否配置错误的dns,或者是否设置了防火墙导致域名无法访问;如果可以连通,并且正在数据传输阶段。请检查源端出口带宽,如果带宽低于10Mbps,可能是数据传输占满带宽,导致Agent与sms服务连接超时,请提高源端出口带宽到10Mbps以上,再继续迁移。
-
处理完成后,大约等待1分钟以后,登录目的端管理控制台。
-
单击“服务列表”,选择“迁移 > 主机迁移服务”。进入“主机迁移服务”页面。
-
在左侧导航树中,选择“迁移服务器”。在“迁移实时状态”列查看该源端的连接状态。
迁移进度卡住或过慢该怎么办?
迁移过程中,进度条变化很慢或者没变化。该现象可能由多个原因造成,如网络带宽、源端存在大量小文件、linux文件迁移同步阶段差异比较等。
解决方案
- 检查源端及目的端带宽,迁移过程中尽可能提高带宽。在不影响业务的情况下,尽可能提供充裕的带宽给迁移进程。
- 检查源端是否存在大量小文件,请尽可能清理一些可删除文件。
- Linux文件级迁移同步过程中,如果同步进度长时间在6%,请耐心等待,迁移进程正在对目的端和源端进行差异比较并同步。
- 检查管理控制台上“迁移实时状态”是否为“连接断开”。如果连接正常,请耐心等待。如果连接失败,请参考迁移Agent与主机迁移服务自动断开连接时,如何重新建立连接?。
源端连通专线/VPN或内网VPC对等连接,还需要连通公网吗?
源端服务器和目的端服务器之间连通专线/VPN或内网VPC对等连接只用于数据流的传输,源端服务器和主机迁移服务端之间控制流需要通过公网传输,因此源端必须连通公网。
图 主机迁移工作原理
1、控制流:源端服务器和主机迁移服务端之间迁移指令的交互过程。
迁移指令交互包括:
步骤②:源端服务器上的迁移Agent向主机迁移服务注册自身连接状态,并将源端服务器信息上报到主机迁移服务,完成迁移可行性检查。
步骤④:迁移Agent获取并执行主机迁移服务发送的迁移指令。
2、数据流:源端服务器上磁盘数据的迁移过程。
磁盘数据迁移包括:
步骤⑤:迁移源端服务器系统盘。
步骤⑥:迁移源端服务器数据盘。
迁移过程中是否可以释放/修改弹性公网IP(EIP)?
不可以。
使用主机迁移服务公网迁移,源端迁移Agent会记录迁移开始时的目的端EIP,并在迁移和同步过程中通过该EIP进行数据传输。在迁移/同步过程中,释放/修改目的端EIP,会造成迁移/同步任务失败。
在迁移正常完成后,并且确认后续不再进行数据同步,才可以释放/修改目的端EIP。
“域名解析失败”该如何处理?
创建迁移任务后,开始迁移时,错误&风险提示“SMS.0302 域名%s解析失败”。出现该问题是因为有域名解析失败,只有所有域名解析成功,源端服务器才能与主机迁移服务建立联系,进行迁移。如果有域名解析失败,则会提示该错误。
导致域名解析失败的原因有:
- 本地网络故障。
- 云解析服务器的解析记录异常。
- 域名解析记录在DNS被修改或者缓存。
“域名联通失败”该如何处理?
问题描述
创建迁移任务后,开始迁移时,错误&风险提示“SMS.0303 域名%s联通失败”。
问题分析
迁移时,需要所有域名联通,如果有域名联通失败,则会提示该错误。
导致域名联通失败的原因有:
- 网络处于异常状态,比如超时、断网、网络不通等情况下可能会导致域名联通失败。
- 防火墙安全拦截。
- 源端存在安全告警或者EIP被解绑/冻结。
- 安全组出方向规则关闭。
解决方案
- Ping一下其他域名。若能Ping通,则排除网络异常;若Ping不通,请检查本地网络状态。
- 检查源端防火墙出口方向是否有安全拦截,如果有拦截,放行后继续迁移。
- 检查源端是否存在安全告警或者EIP被解绑/冻结。如果存在解绑情况,可选择重新绑定或使用VPC/内网;如果存在冻结情况,请联系ECS或EIP服务技术支持。
- 检查源端是否关闭出方向规则。
迁移网络质量评估
背景
进行主机迁移时,迁移时长与网络质量息息相关,经常出现由于网络质量不佳,引起迁移过程中的报错。因此SMS提供了网络质量评估功能,帮助您在数据迁移前,提前预知当前迁移的网络环境质量。
注意
网络质量检测将持续4-5分钟。为了准确检测网络质量,检测时采用不限速机制(即设置目的端时的网络限流不会对网络检测生效),请您评估检测时,是否会因占用较多网络资源,影响您源端业务。
网络质量检测需要开放安全组的ICMP协议端口。
选择网络质量评估
设置迁移目的端时,在“ 迁移配置 ”页面的基本配置页签,“ 是否检测网络质量 ”参数选择“ 是 ”,在首次全量迁移过程中,会生成一个“ 迁移网络质量评估 ”的子任务。
检测结果说明
“ 迁移网络质量评估 ”子任务检测了 丢包率 、 抖动 、网络时延和带宽四个主要的网络指标,以及内存占用率和CPU占用率这两个间接影响因素。每一项指标的检测结果会用绿(好)、黄(中)、红(差)不同颜色来分别表示质量情况。检测完成后,会给出网络质量评估结果以及 预估迁移时长 。
说明
该检测结果仅代表“迁移网络质量评估”子任务检测时间段的网络状态,不代表迁移全程的网络质量。
预估迁移时长是不限速状态下的预估时长,仅提供参考。源端小文件多、网络波动、磁盘读写、设置网络限流等因素都会影响迁移时长,实际剩余迁移时长请参考任务列表中的剩余时间。