
# SMS.0807 源端与目的端网络出现异常
#### 问题描述
迁移任务执行失败，控制台界面提示"SMS.0807：源端与目的端网络出现异常"。
#### 问题分析
在迁移过程中的全量复制阶段，源端会和目的端建立连接并且创建子进程进行数据传输。当系统检测到连接断开时，子进程会尝试自动重新建立连接。如果超过重试次数连接仍未恢复，则会出现该错误提示。请根据以下原因进行排查和处理：
#### 源端和目的端连接断开
网络在传输过程中异常断开，可以按如下原因进行排查：
1. **检查目的端是否被关机** 。
   
   1. 登录华为云[弹性云服务器管理控制台](https://console.huaweicloud.com/ecm/?agency#/ecs/manager/vmList)。
   
   2. 在弹性云服务器列表，查看目的端服务器状态。
      - 如果状态为"关机"，单击操作列的"更多 \> 开机"，然后重启迁移任务。
      
      - 如果状态为"运行中"，则进行下一步排查。
       
   
   
   
   
2. **检查源端主机安全组，防火墙，ACL规则是否在迁移过程中被修改。**
   
   检查源端到目的端的网络中是否存在安全组、防火墙或ACL规则的拦截。
   - 如果存在，请调整规则以允许源端访问目的端的IP地址。主机迁移的网络要求请参见[主机迁移的网络安全配置与条件有哪些？](https://support.huaweicloud.com/sms_faq/sms_faq_0001.html)调整后，可以按照如下方法确认连通性：
     在源端主机使用SSH或Telnet等工具测试源端到目的端的网络连通性。命令格式如下：
     ```
     telnet {目的端IP地址} {端口}
     ssh -p {端口} {用户名}@{目的端IP地址}
     ```
     例如，测试目的端IP地址为192.168.0.x的22端口，则使用以下命令：
     ```
     telnet 192.168.0.x 22
     ssh -p 22 root@192.168.0.x
     ```
     确认网络连通后，重启迁移任务。
     
   
   - 如果不存在，请进行下一步排查。
   
   
   
   
3. 如果问题非网络连通性原因导致，可能是由于在执行SSH命令时，某些SSH相关配置文件出现异常或用户无相应权限（此异常通常出现在Linux文件级数据迁移子阶段进度为0的情况下）。请按照以下步骤进行处理： 
   1. 在源端服务器，打开日志文件 ../SMS-Agent/agent/Logs/f2f_migrate_error_\*.log。（例如：f2f_migrate_error_boot_.log）。
   
   2. 检查日志文件中是否包含"Bad owner or permissions on xxx"相关的异常信息。如果存在，说明执行迁移的用户对xxx文件无对应权限，请在任意路径下执行命令"ll xxx"，查看对应文件的权限及所属用户和所属组。如果权限不足或所属与迁移用户不一致，请进行修改（**需自行确认修改权限是否会对源端业务造成影响** ）。
      修改权限：chmod 600 xxx （例如：将xxx文件权限修改为600）
      修改所属：chown root:root xxx（例如：将xxx文件所属用户及所属组修改为root用户）
      
   
   3. 检查日志文件中是否包含"Bad configuration option: xxx"相关的异常信息。如果存在，说明SSH相关配置文件xxx中存在异常信息。请检查xxx文件，修复或注释错误配置。
   
   
   
   
4. 如果通过以上三步排查后任务仍然异常，可能是源端存在变化的稀疏文件，导致tar在处理这些文件时管道长时间未响应，最终导致超时。请根据以下步骤处理： 
   1. 在源端服务器打开日志文件 ../SMS-Agent/agent/Logs/f2f_migrate_error_\*.log。文件名为f2f_migrate_error_\*.log（例如：f2f_migrate_error_var_.log）。查找日志文件中是否包含"Broken pipe"相关的异常信息。如果存在，请执行下一步。
   
   2. 使用文本编辑器打开配置文件../SMS-Agent/agent/config/g-property.cfg，找到tar.exclude.dir配置项。
   
   3. 在tar.exclude.dir的值中新增 ",/var/\*"（注意使用英文逗号分隔）。 例如，tar.exclude.dir的原始值为：/path/to/exclude1,/path/to/exclude2，修改后的值应为：/path/to/exclude1,/path/to/exclude2,/var/\*
      
   
   4. 保存配置文件，重新启动迁移任务。
   
   
   
   
 
