# 使用主机迁移服务（SMS）将服务器迁移至Flexus L实例
#### 应用场景
本实践介绍如何使用主机迁移服务（SMS）将其他云服务器迁移至同地区或跨地区的华为Flexus应用服务器L实例。
#### 迁移须知
- 一旦开始迁移，禁止对目的端Flexus应用服务器L实例操作，包括但不限于关机、切换操作系统、重装系统等，否则将会造成迁移中断或失败。
- 首次全量迁移完成后，如果您仍然想迁移新增的数据，请勿对目的端Flexus应用服务器L实例重装或切换操作系统，否则将迁移失败。
 
#### 约束与限制
- 仅支持将X86架构服务器迁移至Flexus应用服务器L实例。
- SMS服务仅支持迁移服务器整机数据，不支持单独迁移云服务器的系统盘或者数据盘。
- 仅支持迁移最多一个数据盘的云服务器，不支持迁移多个数据盘的云服务器。并确保目的端Flexus应用服务器L实例系统盘或数据盘容量不小于源端。
关于SMS的使用须知和约束限制详见[使用须知](https://support.huaweicloud.com/productdesc-sms/sms_01_0010.html)、[约束与限制](https://support.huaweicloud.com/productdesc-sms/sms_01_0012.html)。
#### 资源和成本规划
| 资源      | 数据规划                                                                                                                              | 说明                                  | 成本                                                                                                                                 |
|:---|:---|:---|:---|
| 源端服务器 | 服务器名称：source-server 操作系统：CentOS 7.9                                                              | 源端服务器可以是华为云服务器，也可以是其他云平台或线下物理服务器。 | 如果您的源端服务器未配置弹性公网IP，需要购买弹性公网IP，此时涉及费用。                                                                                              |
| 目的端服务器 | 服务器名称：destination_server 操作系统： Huawei Cloud EulerOS 2.0 | 目的端服务器为华为Flexus应用服务器L实例。           | Flexus应用服务器L实例需付费购买。                                                                                                              |
| SMS服务  | -                                                                                                                                   | SMS服务为您免费提供服务器迁移服务。               | 主机迁移服务本身免费，但迁移过程中会创建按量付费资源（包括云硬盘、云硬盘快照、流量）并产生少量费用，具体费用请参见[计费说明](https://support.huaweicloud.com/productdesc-sms/sms_01_0016.html)。 |
   
#### 操作流程
| 操作步骤                                                                     | 说明                                                                                       |
|:---|:---|
| [准备工作]                          | 使用SMS服务前，请准备好账号、权限及源端、目的端服务器环境，以确保顺利完成迁移。                                                 |
| [步骤一：在源端待迁移服务器安装并启动SMS-Agent] | 您需要在源端服务器上安装迁移Agent并且输入目的端Flexus应用服务器L实例所在华为账号的AK/SK。迁移Agent启动成功后会收集源端服务器信息并自动发送给主机迁移服务。 |
| [步骤二：在华为云SMS控制台设置目的端迁移配置]         | 迁移前，您需要设置目的端服务器，该目的端用来接收源端的数据。                                                            |
| [步骤三：开始迁移服务器]                  | 将源端服务器所有数据都复制到目的端，复制速度取决源端服务器出网带宽和目的端服务器入网带宽（两者取较小者）。                                   |
| [步骤四：查看并检查迁移结果]               | 查看源端服务器是否迁移成功，并安装一键式重置密码插件和主机安全Agent。                                                    |
| [步骤五：制作并切换镜像]                  | 通过制作并切换镜像，可更改Flexus应用服务器L实例资源卡片上的镜像名称，并且在Flexus应用服务器L实例重装系统时，避免回退至Flexus应用服务器L实例迁移前的操作系统。 |
   
 #### 准备工作
使用SMS服务前，请参考以下步骤准备好账号、权限及源端、目的端服务器环境，以确保顺利完成迁移。
1. **已[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)，登录华为云完成[实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0071343161.html)**。
2. **已获取华为账号的迁移权限** 。
   如果您使用**华为账号** 登录，默认拥有迁移权限，无需配置迁移权限；如果您使用IAM用户登录，可参考[创建用户组并授权](https://support.huaweicloud.com/sms_faq/sms_faq_0012.html#section1)进行授权。
   
3. **已获取目的端账号的AK/SK** 。
   迁移时使用访问密钥即AK/SK（Access Key ID/Secret Access Key）进行鉴权认证。请在目的端账号创建并获取AK/SK，具体操作请参见[新增访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html#section1)。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/public_sys-resources/caution_3.0-zh-cn.png)
   主机迁移服务不支持使用企业联邦用户（虚拟IAM用户）的AK/SK进行鉴权认证。
   
4. **源端服务器账号密码要求** 。
   如果您的源端服务器非华为云的服务器，请您牢记源端服务器账号密码。迁移服务器后，在目的端服务器安装一键式重置密码插件时，如果您知晓源端服务器账号密码，操作将较为简便，否则操作将较为复杂。
   
5. **账号余额不少于100元（充值、代金券皆可）** 。
   建议您目的端账户余额不少于100元（充值、代金券皆可），避免迁移过程中欠费，导致迁移失败。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/public_sys-resources/note_3.0-zh-cn.png)
   主机迁移服务本身免费，但迁移过程中会创建按量付费资源并产生少量费用，具体费用请参见[计费说明](https://support.huaweicloud.com/productdesc-sms/sms_01_0016.html)。
   
6. **操作系统要求** 。
   - 主机迁移服务支持迁移的源端服务器操作系统列表请参见[Windows兼容性列表](https://support.huaweicloud.com/productdesc-sms/sms3_01_0011.html)、[Linux兼容性列表](https://support.huaweicloud.com/productdesc-sms/sms3_01_0012.html)。
   
   - 目的端服务器的操作系统类型需要和源端的OS类型（指Linux或Windows类型）保持一致。
    
7. **迁移网络要求** 。
   1. 源端能连接到华为云API Gateway（安全组放通端口：443），具体操作请参见[源端能连接到API Gateway](https://support.huaweicloud.com/sms_faq/sms_faq_0001.html#section1)。
      ![](https://support.huaweicloud.com/bestpractice-flexusl/public_sys-resources/note_3.0-zh-cn.png)
      源端出网方向端口，建议全部开放。
      
   
   2. 源端能连接到目的端。具体操作请参见[源端能连接到目的端](https://support.huaweicloud.com/sms_faq/sms_faq_0001.html#section2)。
      本例使用弹性公网IP连接，**源端** 和**目的端**均需要提前购买和配置正确的弹性公网IP。其中，目的端Flexus应用服务器L实例在创建后已经默认分配一个固定弹性公网IP。
      
   
   3. 目的端服务器所属安全组需要开放入方向端口：
      - Windows系统需要开放TCP的8899端口、8900端口和22端口。
      
      - Linux系统文件级迁移开放22端口，块级迁移开放8900端口、22端口。
      
      
      具体操作请参见[配置安全组](https://support.huaweicloud.com/usermanual-flexusl/security_admin_0004.html)。
      ![](https://support.huaweicloud.com/bestpractice-flexusl/public_sys-resources/caution_3.0-zh-cn.png)
      - 以上端口，建议只对源端服务器开放。
      
      - 防火墙开放端口与操作系统开放端口保持一致。
        
    
8. **源端服务器环境、剩余空间及其他要求。**
   源端服务器剩余空间要求：
   - Windows：当分区大于等于600MB，该分区的可用空间小于320MB时不能迁移；当分区小于600MB，该分区的空间小于40MB时不能迁移。
   
   - Linux：根分区可用空间小于200MB时不能迁移。
   
   
   源端服务器环境要求：
   - 源端服务器时间与标准时间一致，避免源端Agent注册失败。
   
   - 当源端服务器为Linux系统时，执行rsync -v查看是否安装Rsync库。
     当未安装Rsync库，执行如下命令安装Rsync库：
     - CentOS：执行yum -y install rsync。
     
     - Ubuntu：执行apt-get -y install rsync。
     
     - Debian：执行apt-get -y install rsync。
     
     - SUSE：执行zypper install rsync。
     
     - 其他平台系统：参见官网安装相关文档。
       ![](https://support.huaweicloud.com/bestpractice-flexusl/public_sys-resources/note_3.0-zh-cn.png)
       当前主流服务器系统已默认安装Rsync库，无需手动安装。
       
       
    
 
 #### 步骤一：在源端待迁移服务器安装并启动SMS-Agent
- 如果源端是linux系统，请参考[安装Linux版的SMS-Agent](https://support.huaweicloud.com/qs-sms/sms3_02_0006.html)。
- 如果源端是windows机器，请参考[安装Windows版的SMS-Agent](https://support.huaweicloud.com/qs-sms/sms3_02_0005.html)。
**常见问题**
1. 在Linux源端待迁移服务器安装SMS-Agent时，如果出现rsync未安装的错误提示，请根据[安装Rsync库]先安装rsync，再重新安装SMS-Agent。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001997606581.png "点击放大")
   
2. 当出现如下错误提示时，请检查访问密钥是否输入正确，或者是否删除了访问密钥。
   图1错误提示   
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001961045648.png "点击放大")
   图2访问密钥   
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001961045636.png "点击放大")
   
   
 
 #### 步骤二：在华为云SMS控制台设置目的端迁移配置
1. 登录**目的端Flexus应用服务器L实例** 所在的华为云[SMS控制台](https://console.huaweicloud.com/sms3.0/?locale=zh-cn#/sms/server)，选择左侧"迁移服务器"。
2. 在迁移服务器列表页面，找到待迁移的源端服务器，单击"设置目的端"，进入迁移配置页面。 在完成步骤一后，在SMS服务控制台的"迁移服务器"列表中，将会显示源端服务器记录。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001997565969.png "点击放大")
   
3. 设置基本配置。 基本配置保持默认设置：使用公网迁移，不限制带宽大小，不调整磁盘分区，迁移后目的端Flexus应用服务器L实例自动开机。
   各项参数说明详见[设置迁移目的端](https://support.huaweicloud.com/qs-sms/sms3_02_0009.html#section2)。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001961045652.png "点击放大")
   
4. 设置目的端配置后，单击右下角"下一步：确认配置"。
   - 区域：选择之前购买好的Flexus应用服务器L实例的区域。
   
   - 服务器选择：选择"已有服务器"，并选中之前购买好的Flexus应用服务器L实例。
     - 仅支持迁移最多一个数据盘的云服务器，不支持迁移多个数据盘的云服务器。并确保目的端Flexus应用服务器L实例系统盘或数据盘容量不小于源端。
     
     - 目的端服务器的操作系统类型需要和源端的OS类型保持一致（指Linux或Windows类型）。
     
     - 确保目的端服务器所在安全组配置准确。如果是Windows系统，开放TCP的8899端口、8900端口和22端口；如果是Linux系统，开放TCP的22端口。
      
   
   
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001961045640.png "点击放大")
   执行此步骤时，如果出现如下提示，添加提示的端口，刷新页面后，重新执行本步骤。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001960885836.png)
   
5. 在"确认配置"界面，确认信息无误后，单击"保存配置"或"保存配置并开始迁移"。
   - 单击"保存配置"后，仔细阅读"迁移条件须知和风险提示"后，单击"是"。后续请根据[步骤三：开始迁移服务器]完成迁移。
   
   - 单击"保存配置并开始迁移"后，仔细阅读"迁移条件须知和风险提示"后，单击"是"，随即自动开始迁移。后续请跳转[步骤3查看迁移状态和详情]按步骤执行。
   
   
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001997565973.png "点击放大")
   
 
 #### 步骤三：开始迁移服务器
1. 登录**目的端Flexus应用服务器L实例** 所在的华为云[SMS控制台](https://console.huaweicloud.com/sms3.0/?locale=zh-cn#/sms/server)，选择左侧"迁移服务器"。
2. 在迁移服务器列表页面，找到待迁移的源端服务器，单击"操作"列"开始"，进入迁移配置页面。 或勾选待迁移的服务器，单击上方"开始"按钮批量迁移。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001997565961.png "点击放大")
   
3. 开始迁移后，单击源端服务器名称，可查看迁移状态和详情。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001960885848.png "点击放大")
   
4. "迁移实时状态"为"已完成"，说明已启动目的端，整个迁移操作已完成。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001997565977.png "点击放大")
   
5. （可选）如果您的源端服务器首次全量迁移完成后有增量数据，您可以使用同步功能，将源端增量数据同步到目的端。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001997606577.png "点击放大")
   ![](https://support.huaweicloud.com/bestpractice-flexusl/public_sys-resources/note_3.0-zh-cn.png)
   首次全量迁移完成后，如果您仍然想迁移新增的数据，请勿对目的端服务器重装或切换操作系统，否则将迁移失败。
   
 
 #### 步骤四：查看并检查迁移结果
1. 在目的端Flexus应用服务器L实例查看服务器操作系统。 单击Flexus应用服务器L实例资源卡片上的"远程登录"，可看到操作系统已经变更为源端服务器的CentOS系统及内核信息，表示迁移成功。
   输入源端服务器的用户名密码，可直接登录，您可查看其它信息。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001997606573.png)
   
2. （可选）为Flexus应用服务器L实例安装一键式密码重置插件。 如果您的源端服务器为非华为云镜像的服务器，迁移后请为目的端服务器安装一键式密码重置插件。安装一键式密码重置插件后，在您遗忘密码时可重置密码，否则无法使用重置密码功能。请参考如下指导安装插件：
   - [使用Linux私有镜像创建/切换Flexus L实例后，无法重置密码怎么办？（遗忘私有镜像初始密码）](https://support.huaweicloud.com/flexusl_faq/faq_passwd_0002.html)
   
   - [使用Linux私有镜像创建/切换Flexus L实例后，无法重置密码怎么办？（已知私有镜像初始密码）](https://support.huaweicloud.com/flexusl_faq/faq_passwd_0003.html)
    
3. （可选）检查HSS服务状态。
   - 如果您的目的端Flexus应用服务器L实例未包含HSS服务，请忽略此步骤。
   
   - 在您的目的端Flexus应用服务器L实例包含HSS服务的情况下，如果您迁移服务器后，HSS为"未防护"异常状态请参考[使用私有镜像创建/切换服务器后，主机安全（HSS）服务未启动怎么办？](https://support.huaweicloud.com/flexusl_faq/faq_os_0008.html)启用HSS。
     图3HSS为"未防护"异常状态   
     ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001960885832.png "点击放大") 
    
 
 #### 步骤五：制作并切换镜像
迁移完成后，目的端Flexus应用服务器L实例控制台仍然显示迁移前的操作系统名称（Huawei Cloud EulerOS 2.0），如[下图]。同时，如果目的端Flexus应用服务器L实例在迁移后重装操作系统，将会回退至原操作系统（Huawei Cloud EulerOS 2.0）非迁移后的操作系统（CentOS 7.9），源端服务器数据也将丢失。
基于此两种情况，请根据本节指导，及时对Flexus应用服务器L实例创建私有镜像并切换至该私有镜像。切换镜像后，可解决此两种问题。
![](https://support.huaweicloud.com/bestpractice-flexusl/public_sys-resources/notice_3.0-zh-cn.png)
一旦切换镜像，将无法同步源端服务器增量数据。请确保无增量数据后再制作并切换镜像。
图4目的端Flexus应用服务器L实例镜像名称   
![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001961045644.png "点击放大")
1. 进入[IMS控制台](https://console.huaweicloud.com/ecm/?&locale=zh-cn#/ims/createImageUnite)，在"创建私有镜像"页面，配置如下镜像信息。
   - 区域：服务器所在区域，请保持此默认配置。
   
   - 创建方式：创建私有镜像，请保持此默认配置。
   
   - 镜像类型：系统盘镜像，请保持此默认配置。
   
   - 镜像源：迁移系统的Flexus应用服务器L实例中云服务器名称。
   
   - 名称：填写便于识别的镜像名称，例如CentOS 7.9_source-server-image。
   
   - 协议：阅读并勾选协议。
   
   
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001960885840.png "点击放大")
   
2. 单击"立即创建"，根据界面提示创建私有镜像。
3. 私有镜像创建完成后，返回Flexus应用服务器L实例[控制台](https://console.huaweicloud.com/smb/?/resource/list)，在Flexus应用服务器L实例右上角单击"切换镜像"。
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001997565965.png "点击放大")
   
4. 设置切换操作系统的相关配置后，单击"立即切换"。
   - 选择待切换的镜像：选择[步骤1]创建的私有镜像CentOS 7.9_source-server-image。
   
   - 变更规格前请先将云服务器关机，或根据页面提示勾选"立即关机"。
   
   - 阅读并勾选"协议许可"。
   
   
   ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001960885844.png "点击放大")
   
5. 检查控制台镜像名称是否更改。 ![](https://support.huaweicloud.com/bestpractice-flexusl/zh-cn_image_0000001997606569.png "点击放大")
   
 
