
# Rsync迁移SFS实施步骤
#### 方案概述
迁移数据时，可用的迁移工具多种多样。本节提供如以下表格中的迁移工具教程示例以及各迁移工具的特点和应用场景，本节选择使用rsync命令行工具迁移数据：通过mount方式挂载访问SFS Turbo，将本地NAS存储中的数据迁移至SFS Turbo。
表1迁移工具教程 
| **迁移工具**          | **特点**                                                                                                                                                                                                                                                                                                                               | **应用场景**                                 |
|:---|:---|:---|
| 使用SFTP客户端迁移数据     | - 支持众多操作系统平台。  - 提供图形化操作界面。                                                                                                                                                                   | 适用少量文件需要一次性上传至NFS文件系统和将NFS文件系统内的数据下载到本地。 |
| 使用rsync命令行工具迁移数据  | - 支持Linux/Windows/macOS操作系统，本地Linux或macOS系统可配置crontab向云上NAS自动备份数据。  - 上传下载后的文件元数据不变（包括属主及权限信息）。  - 支持数据增量同步。                            | 适用大量文件上传和下载或需要频繁上传和下载的任务。                |
| 使用Robocopy工具迁移数据  | - Windows自带工具。  - 支持多线程、断点续传。  - 适用10 T以上的上亿小文件，单个文件100K左右的海量数据迁移。  - 支持数据增量同步。   | 适用Windows操作系统海量数据多线程、断点续传 。              |
| 使用IIS FTP迁移数据     | - 支持众多操作系统平台。  - 提供图形化操作界面。                                                                                                                                                                   | 适用IIS服务访问NAS SMB文件系统。                    |
| 使用fpsync命令行工具迁移数据 | 多线程迁移数据。                                                                                                                                                                                                                                                                                                                             | 适用多线程迁移数据至NFS文件系统。                       |
   
迁移前准备工作主要有以下几个方面
#### 申请资源
表2资源清单 
| **产品**     | **配置示例**                                                                                                                                        | **说明**           |
|:---|:---|:---|
| 弹性云服务器 ECS | 规格：8vCPUs \| 16GB \| c7.2xlarge.2 操作系统：Linux 区域：华北-北京四 VPC名称：VPC1 | 已创建/mnt/dst的目录   |
| 弹性文件服务     | 通用型 \| SFS Turbo标准型 \| 500GB                                                                                                                    | NFS协议文件系统        |
| 专线DC       | 端口类型:1GE                                                                                                                                        | 通过专线将华为云上和线下环境打通 |
   
#### 操作步骤
**步骤一：安装rsync工具**
在Linux云服务器中执行以下命令安装rsync工具
```
sudo yum install rsync
```
图1安装rsync工具1   
![](https://support.huaweicloud.com/hcmpis-cmgrt/zh-cn_image_0000001767602504.png)
```
rsync -version
```
图2安装rsync工具2   
![](https://support.huaweicloud.com/hcmpis-cmgrt/zh-cn_image_0000001814282641.png)
**步骤二：获取本地NAS存储的挂载地址和访问文件系统的挂载地址**
1. 访问本地NAS存储
```
mount -t nfs -o vers=3,timeo=600,noresvport,nolock /mnt/src
```
2. 访问SFS Turbo文件系统
```
mount -t nfs -o vers=3,timeo=600,noresvport,nolock /mnt/dst
```
**步骤三：全量\&增量同步**
1. 执行以下命令，将本地目录以增量同步的方式，上传到华为云SFS Turbo
```
rsync -avP /mnt/src root@192.168.0.2.0:/mnt/dst
```
2. 命令中的参数请根据实际值修改，参数含义如下：
表3参数说明 
| **参数**    | **说明**                                |
|:---|:---|
| /mnt/src  | 需要上传的本地目录名。                           |
| root      | 上传目标NAS文件系统目录的属主。                     |
| 192.0.2.0 | 已挂载文件存储NAS文件系统的Linux/Windows ECS公网IP。 |
| /mnt/dst  | ECS实例中用来挂载SFS Turbo的路径。               |
   
图3增量同步   
![](https://support.huaweicloud.com/hcmpis-cmgrt/zh-cn_image_0000001767617118.png)
#### 数据验证
在目的端服务器执行以下命令，验证文件同步情况。数据量与源端服务器中的一致时，表示数据迁移成功。
```
cd /mnt/dst
ls | wc -l
```
