
# 配置SFS通用文件系统容灾
#### 方案概述
为了快速恢复业务数据（如生产执行文件、团队协作文档），减少停机损失，或以更优成本构建基础容灾能力，并通过异地备份形成分层防护体系，建议采用SFS同可用区备份方案。该方案需要准备两个通用文件系统：一个用于日常业务，另一个用于容灾备份。业务通用文件系统的数据可以手动或定时备份到容灾通用文件系统中。整个流程包括全量迁移（不影响业务）、增量迁移（不影响业务）、配置定时迁移任务（不影响业务）和检查迁移结果（不影响业务）。
#### 约束与限制
- 仅支持使用Linux系统的云服务器进行数据迁移。

- Linux系统云服务器和2个SFS 通用文件系统需在同一VPC下。
- 通用文件系统使用NFS协议。
 
#### 准备工作
1. 创建VPC终端节点。手动创建VPC终端节点的详细操作请参阅[创建VPC终端节点](https://support.huaweicloud.com/usermanual-sfs/sfs_01_0134.html)，自动创建VPC终端节点的详细操作请参阅[创建通用文件系统](https://support.huaweicloud.com/usermanual-sfs/zh-cn_topic_0034428727.html)。
2. 创建NFS协议类型通用文件系统，VPC与现有的通用文件系统保持一致。
   - 创建通用文件系统的具体操作请详见[创建通用文件系统](https://support.huaweicloud.com/usermanual-sfs/zh-cn_topic_0034428727.html)。
   
   - 如果没有VPC，则在同区域创建虚拟私有云VPC，然后再去创建通用文件系统。
    
3. 准备一台可用的Linux的云服务器，云服务器的VPC和2个通用文件系统的VPC一致，保证云服务器与2个通用文件系统系统可以互通。 如果无可用的云服务器，可参考[快速购买和使用Linux ECS](https://support.huaweicloud.com/qs-ecs/ecs_01_0103.html)章节购买。
   
 
#### 资源规划
表1资源规划 
| 产品         | 配置示例                                                                                                                                                                                                                                                                                                                    | 说明                      |
|:---|:---|:---|
| 弹性云服务器 ECS | 规格：8vCPUs \| 16GiB \| c7.2xlarge.2 操作系统：Linux 区域：华北-北京四 VPC名称：VPC1 | 已创建/mnt/src和/mnt/dst的目录 |
   
#### 操作步骤
1. 参考[挂载NFS协议类型文件系统到云服务器（Linux）](https://support.huaweicloud.com/usermanual-sfs/zh-cn_topic_0034428728.html)挂载2个通用文件系统。业务通用文件系统挂载至"mnt/src"目录，容灾通用文件系统挂载至"/mnt/dst"目录。
2. 执行以下命令安装迁移工具。 
   ```
   sudo yum install -y rsync
   ```
   
   
3. 迁移全量数据：业务通用文件系统中的文件全量复制到容灾通用文件系统中。 
   1. 在容灾通用文件系统中创建一个目录用于存放迁移数据。例如，dst/backup目录。
      ```
      mkdir /mnt/dst/backup
      ```
      
   
   2. 将业务文件系统中的数据迁移至容灾文件系统的backup目录中。
      ```
      rsync -avP /mnt/src/ /mnt/dst/backup/
      ```
      
   
   
   
   
4. 迁移增量数据：执行下方命令，将全量同步后的增量数据写入到容灾通用文件系统中。 
   ```
   rsync -avP --delete /mnt/src/ /mnt/dst/backup/
   ```
   
   
5. 使用crontab配置定期任务迁移增量数据。 
   1. 执行以下命令，进入crontab。
      ```
      crontab -e
      ```
      
   
   2. 配置定期增量迁移。
      在crontab中配置以下信息。其中，00表示分钟；02表示小时，即每天02:00进行增量迁移。您也可以根据实际情况进行替换。
      ```
      00 02 * * * rsync -avP --delete /mnt/src/ /mnt/dst/backup/ > /tmp/last_rsync_result.log 2>&1 &
      ```
      
   
   3. 执行以下命令，若返回[5.b]配置的信息，则配置成功。
      ```
      crontab -l
      ```
      
   
   
   
   
6. 迁移结果验证。 
   执行如下命令确认最近一次增量迁移的数据。
   ```
   cat /tmp/last_rsync_result.log
   ```
   
   
 
