
# SFS容量型文件系统迁移至SFS Turbo文件系统（CIFS协议）
#### 方案概述
本文将SFS容量型文件系统迁移至SFS Turbo文件系统，迁移目标是高效、安全地完成数据迁移，同时确保数据完整性和一致性，整个流程包含全量迁移（业务无影响）、第一次增量迁移（业务无影响）、解除SFS容量型文件系统挂载（需保持业务中断）、第二次增量迁移（保持业务中断），切换挂载服务（保持业务中断）。
图1SFS容量型文件系统迁移至SFS Turbo文件系统流程图
![](https://support.huaweicloud.com/bestpractice-sfs/zh-cn_image_0000002485361893.png "点击放大")
#### 约束与限制
- 仅支持使用Windows系统的云服务器进行数据迁移。
- Windows系统云服务器、SFS容量型文件系统和SFS Turbo文件系统需在同一VPC下、同属一个安全组中。
- SFS容量型文件系统使用CIFS协议，SFS Turbo文件系统使用SMB协议。
 
#### 准备工作
1. 创建SMB协议类型SFS Turbo文件系统，VPC、安全组与SFS容量型文件系统保持一致。
   - 创建SFS Turbo文件系统的具体操作请详见[创建SFS Turbo文件系统](https://support.huaweicloud.com/usermanual-sfsturbo/sfsturbo_01_0359.html)。
   
   - 如果没有VPC，则在同区域创建虚拟私有云VPC，然后再去创建SFS Turbo文件系统。
   
   - 如果账号没有安全组权限，创建SFS Turbo文件系统时请勾选"高级配置"中的"安全组"选项，并取消"放通安全组规则"勾选（该方式只能挂载同安全组的ECS实例）。
    
2. 准备一台可用的Windows的云服务器，云服务器的VPC及安全组和SFS容量型、SFS Turbo文件系统的VPC、安全组一致，保证云服务器与SFS容量型文件系统、SFS Turbo文件系统可以互通。 如果无可用的云服务器，可参考[快速购买和使用Windows ECS](https://support.huaweicloud.com/qs-ecs/ecs_01_0102.html)章节购买。
   
3. 登录云服务器并开启Workstation服务和TCP/IP NetBIOS Helper服务，具体操作请参考[windows系统挂载SMB协议文件系统](https://support.huaweicloud.com/usermanual-sfsturbo/sfsturbo_01_1012.html#section1)。
4. 在Windows的云服务器挂载SFS容量型文件系统和SFS Turbo文件系统。
   1. 获取挂载信息。 登录[弹性文件服务管理控制台](https://console.huaweicloud.com/sfs)。单击已创建的文件系统的名称，SFS容量型文件系统的挂载命令可在"挂载点信息 \> windows下挂载"获取。SFS Turbo文件系统的挂载命令在"基本信息 \> ipv4挂载命令 \> Windows挂载命令获取"。
      
   
   2. 登录[弹性云服务器管理控制台](https://console.huaweicloud.com/ecs)，进入弹性云服务器界面，登录已创建好的Windows云服务器。
      1. 打开CMD命令行窗口，执行命令将SFS容量型文件系统和SFS Turbo文件系统分别挂载到空闲盘符（分别以X，Y为空闲盘符为例执行如下命令）。 **net use** **X:**{SFS容量型文件系统挂载地址}
         **net use Y** **:**{SFS Turbo文件系统挂载地址}
         文件系统挂载地址，即*\\\\文件系统域名\\路径*。
         表1变量说明 
         | 变量     | 说明                                                                                                     |
         |:---|:---|
         | 文件系统域名 | 文件系统域名请从文件系统的挂载地址中获取。获取方式请参见[查看文件系统](https://support.huaweicloud.com/usermanual-sfs/sfs_01_0034.html)。 |
         | 路径     | 格式为share-xxxxxxxx，其中x是数字或字母。                                                                           |
            
         
      
      2. 执行**命令net use** ，如果回显包含如下所示类似信息，说明挂载成功。
         ```
         PS C:\Users\Administrator> net use  
         会记录新的网络连接。
         状态        本地        远程                         网络  
         -----------------------------------------------------------------
         OK           X:         \\sfs-nas1.xxx.myhuawei      xxx  
         OK           Y:         \\f8be395d-xxx-8aa8-6aa460   xxx  
         命令成功完成。
         ```
         
      
      3. 如挂载中出现"你不能访问此共享文件夹，因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。"
       
    
 
#### 资源规划
本章节介绍案例中使用的资源信息。具体如[表2]所示。
 表2资源规划 
| 产品         | 配置示例                                                                                                                                                                                                                                                                                                    |
|:---|:---|
| 弹性云服务器 ECS | 规格：通用计算型 \| x1.2u.2g \| 8vCPUs \| 16GiB 操作系统：Windows 区域：华北-北京四 VPC名称：VPC1 |
   
#### 操作步骤
1. 登录弹性云服务器管理控制台。
2. 以**VNC方式**登录已创建好的Windows系统云服务器。
3. 全量迁移：SFS容量型文件系统中的文件全量复制到SFS Turbo文件系统中。 
   使用Robocopy工具执行以下命令，进行数据同步。
   ```
   robocopy X:\ Y:\ /e /w:5 /z /mt:32
   ```
   ![](https://support.huaweicloud.com/bestpractice-sfs/public_sys-resources/note_3.0-zh-cn.png)
   - /e：拷贝所有子目录（包括空目录）。
   
   - /w：设置每次错误重试间隔秒数。
   
   - /z：开启断点续传。
   
   - /mt：并行的拷贝线程数量，默认值为8，取值1-128。
    
   
   
   
4. 第一次增量迁移：执行下方命令，将全量同步后的增量数据写入到SFS Turbo文件系统中。 
   ```
   robocopy X:\ Y:\ /e /w:5 /z /mt:32
   ```
   ![](https://support.huaweicloud.com/bestpractice-sfs/public_sys-resources/notice_3.0-zh-cn.png)
   记录本轮开始和结束时间。约等于客户需要中断业务的时间。
   
   
5. 解除SFS容量型文件系统挂载：为了避免不断有新的数据写入，需要在同步增量数据之前，在所有ECS和容器上停止使用源文件系统的业务应用。 
   ![](https://support.huaweicloud.com/bestpractice-sfs/public_sys-resources/caution_3.0-zh-cn.png)
   - 请务必确保所有执行业务的云服务器（云容器）节点解除挂载SFS容量型文件系统，否则后续迁移完可能有SFS容量型文件系统和SFS Turbo文件系统数据不一致的问题。
   
   - 请不要在执行迁移的ECS机器上解除SFS容量型挂载文件系统。
   
   - 本步骤执行过程中需保证业务中断。
    
   1. 登录到挂载SFS容量型文件系统的云服务器。
   
   2. 执行以下命令解除SFS容量型文件系统的挂载。
      ```
      net use 挂载盘符: /del
      ```
      
   
   
   
   
6. 第二次增量迁移：执行以下命令，将第一轮增量迁移后到中断业务期间产生的增量数据同步到SFS Turbo文件系统中。本轮同步后，SFS容量型和SFS Turbo文件系统中的数据即可完全一致。 
   ```
   robocopy X:\ Y:\ /e /w:5 /z /mt:32
   ```
   ![](https://support.huaweicloud.com/bestpractice-sfs/public_sys-resources/caution_3.0-zh-cn.png)
   - 保证SFS容量型文件系统和SFS Turbo文件系统中的数据完全一致。
   
   - 本步骤执行过程中需保证业务中断。
    
   
   
7. 执行以下命令检查迁移结果。 
   ```
   robocopy X:\ Y:\ /e /l /ns /njs /njh /ndl /fp /log:reconcile.txt
   ```
   如果两个文件系统中文件一致，则日志文件"reconcile.txt"记录为空。否则，日志文件会记录文件列表。
   ![](https://support.huaweicloud.com/bestpractice-sfs/public_sys-resources/note_3.0-zh-cn.png)
   - /e：仅列出目录（包括空目录）。
   
   - /l：不修改或复制文件，仅记录差异。
   
   - /ns：不在日志中包括文件大小。
   
   - /njs：不包括作业摘要。
   
   - /njh：不包括作业头。
   
   - /ndl：不在日志中包括文件夹。
   
   - /fp：在日志中包括文件的完整路径。
   
   - /log:reconcile.txt：将迁移结果写入reconcile.txt日志中。如果已存在，将覆盖现有日志。
    
   
   
8. 切换挂载服务：解除挂载SFS容量型文件系统并重新挂载到SFS Turbo文件系统，业务切到SFS Turbo文件系统上运行。 
   1. 登录到挂载SFS容量型文件系统的云服务器，执行以下命令解除SFS容量型文件系统的挂载：
      ```
      net use 挂载盘符: /del
      ```
      
   
   2. 执行以下命令挂载SFS Turbo文件系统：
      ```
      net use 挂载盘符: {SFS Turbo挂载地址}
      ```
      
   
   
   ![](https://support.huaweicloud.com/bestpractice-sfs/public_sys-resources/caution_3.0-zh-cn.png)
   - 请务必确保挂载参数和目录正确，否则可能会影响业务。
   
   - 切换至SFS turbo文件系统后，由于元数据存储与SFS容量型文件系统存在差异，数据大小可能会膨胀8%-10%，属于正常现象。
    
   
   
9. 客户可恢复业务，校验业务是否正常。
10. 观察一段时间业务运行情况后，释放释放SFS容量型文件系统资源的资源，防止额外收费。
 
