
# 使用须知
#### 迁移前须知
- 迁移系统版本较老的服务器（如Windows 2008），可能出现系统内核无法兼容的情况，需提前做好评估，明确是否适合直接迁移，以免迁移后业务无法运行。
- 迁移前，需要关闭源端服务器中可能导致SMS-Agent启动失败的软件（如**杀毒软件** 、**安全防护软件**）。如果不确定是否有冲突的软件，迁移前请做好数据备份。
- **Linux块级迁移**目前处于公测阶段，建议只在测试场景下使用。
- 主机迁移服务在迁移前会自动向源端主机注入virtio驱动。然而，如果源端主机缺少mkinitrd/mkinitramfs/dracut等内核镜像生成工具，可能会导致驱动注入失败，从而引起迁移后目的端启动异常情况。为确保迁移后目的端能够成功启动，建议在迁移前手动安装virtio驱动。您可通过以下命令检查相关工具是否已安装：
  ```
  command -v mkinitrd
  ```
  ```
  command -v mkinitramfs
  ```
  ```
  command -v dracut
  ```
  如果上述任一命令返回正常结果，则无需手动安装virtio驱动。如果返回为空或"command not found"，则需要安装相应的工具包或手动安装virtio驱动。
  
- 迁移前、后目的端与源端的差异请参见[迁移后目的端与源端相比有哪些变化？](https://support.huaweicloud.com/sms_faq/sms_faq_0008.html)
- 对于Windows主机，在源端启动迁移Agent之后，如果源端磁盘发生调整（包括新增磁盘或分区、对分区进行扩容或缩容等），则迁移任务无法对调整后的磁盘数据进行增量数据同步。如果需要同步该磁盘的增量数据，必须重启源端主机，卸载迁移Agent，然后重新安装并执行迁移流程。
 
#### 迁移网络须知
- 主机迁移对网络安全的要求请参见[主机迁移的网络安全配置与条件有哪些？](https://support.huaweicloud.com/sms_faq/sms_faq_0001.html)
- 目的端服务器的安全组规则要求请参见[如何配置目的端服务器安全组规则？](https://support.huaweicloud.com/sms_faq/sms_faq_0011.html)
- 迁移过程中会占用一定的源端主机资源，如内存，CPU，磁盘IO和网速等，请您根据实际业务场景设置合适的网络限流。Linux源端限流依赖系统自带的TC(TrafficControl)组件，如果TC组件未安装或者异常可能存在限流失效的情况。
 
#### 迁移时长
- 因迁移速度受网络带宽，磁盘IO，CPU和内存占用率，文件大小、数量等因素影响，主机迁移服务无法准确的评估出迁移时长，迁移任务中"剩余迁移时间预测"仅供参考。更多迁移时长与迁移速度的说明请查看[迁移时长](https://support.huaweicloud.com/sms_faq/sms_faq_0030.html)相关问题解答。
- 建议30天内完成数据迁移和业务割接。
- 由于增量同步受**源端文件数目** ，**有效簇连续性** 以及**源端增量数据大小**等多方面因素影响，因此主机迁移服务无法评估和保障同步时长。
 
#### 迁移过程操作须知
- 迁移过程中，**禁止** 对目的端服务器的系统、磁盘进行操作，包括但不限于**切换操作系统** 、**重装系统**等。
- 迁移过程中，**禁止**将目的端服务器和磁盘的计费模式转为包年/包月。
- 迁移过程中，会对目的端服务器的磁盘进行格式化并重新分区，请迁移前做好数据备份以及确认目的端服务器磁盘可被格式化。
- 迁移Windows主机过程中，**禁止重启源端主机**。重启会导致源端主机与SMS控制台断开连接，需要删除迁移任务重新创建。
- 迁移过程中，Windows迁移和Linux块级迁移禁止重启SMS-Agent。
- 迁移过程中，Linux文件级迁移重启SMS-Agent支持断点续传，但仍然有出现异常的风险，非必要，建议不要重启SMS-Agent。
- 迁移过程中，系统会产生一个按需计费的SMS临时磁盘以保证迁移正常进行，迁移完成后系统会自动卸载并删除该磁盘。如果在迁移期间，手动删除了未完成的任务，需要您手动删除该临时磁盘，以免产生额外费用。
- 如果迁移过程中出现报错，请及时收集迁移日志，以供技术人员定位问题。 查询迁移日志的方法参见[如何查找SMS的运行日志？](https://support.huaweicloud.com/sms_faq/topic_0000001123807667.html)
  
 
#### 迁移后须知
- 主机迁移服务属于系统迁移，可以保证迁移前后数据一致性，但无法确保迁移后业务能正常运行。应用能否成功部署，需要用户根据实际情况进行调整，SMS只负责数据迁移，不负责用户的业务调整。
- 主机迁移服务提供了数据一致性校验功能，您可以在配置目的端或进行增量同步时，启用并配置该功能，对源端数据和目的端数据进行一致性校验。该功能暂不支持BTRFS文件系统的主机。
 
#### 迁移端口安全须知
迁移期间，SMS将使用迁移所需端口在源端服务器与目的端服务器之间建立传输通道。为降低迁移过程中的安全风险，SMS已内置如下安全控制机制：
- 代理镜像仅在迁移期间使用，迁移结束后会自动卸载。
- 目的端ECS已禁用SSH密码登录，仅允许基于证书/密钥的SSH登录方式。
- 默认SSH端口为22端口，当前部分区域已支持修改默认端口。
请在目的端ECS安全组中仅开放SMS迁移必需端口（22、8899、8900），并将访问源限制为源端服务器IP。请勿开放其他无关端口，也不建议将源地址配置为"0.0.0.0/0"。
![](https://support.huaweicloud.com/productdesc-sms/public_sys-resources/caution_3.0-zh-cn.png)
- 若未按照要求限制源地址IP或开放无关端口，可能导致目的端ECS暴露在不必要的访问范围内，增加被扫描、爆破或攻击的风险。因未正确配置安全组规则导致的安全风险，由客户自行承担。
- 若迁移过程中涉及rsync组件，请使用最新且稳定版本的rsync，并按照rsync官方安全加固指南完成相关安全配置。因使用旧版本、存在已知漏洞版本或未按官方安全要求完成配置导致的安全风险，由客户自行承担。
 
#### 目的端配置修改
Linux主机首次全量迁移时，为了适配华为云并确保目的端主机能够正常启动，会修改目的端主机以下目录中的部分参数配置。增量同步的时候，为了保证这些目录下的参数配置不被源端数据覆盖或修改，这些目录的数据默认不会同步：
```
/proc/*,
/sys/*,
/lost+found/*,
/tmp/_MEI*,
/var/lib/ntp/proc/*,
/boot/*,
/boot/efi/*,
/etc/fstab,
/etc/*,
/etc/X11/*,
/root/initrd_bak/*,
/lib/modules/*,
/boot/grub2/x86_64-efi/*,
/boot/grub2/i386-pc/*
```
#### Linux迁移限速功能要求
Linux迁移限速功能依赖于源端服务器上安装的**tc** 命令以及**cbq** 或**htb**内核模块。以下是检查这些依赖项的方法：
1. 检查tc命令：在Linux终端中输入以下指令，如果系统返回tc功能列表，则表示已安装tc命令。
   ```
   # tc
   ```
   
2. 检查cbq模块：在Linux终端中输入以下指令，如果系统返回相关输出，则表示cbq模块已加载。
   ```
   lsmod | grep sch_cbq
   ```
   
3. 如果cbq模块不存在，则检查htb模块：在Linux终端中输入以下指令，如果系统返回相关输出，则表示htb模块已加载。
   ```
   lsmod | grep sch_htb
   ```
   
 
