更新时间:2023-06-21 GMT+08:00

通过云专线迁移(rclone工具)

方案概述

用户可以将本地NAS存储中的数据,通过云专线和rclone工具迁移至云上SFS Turbo文件系统中,进行云上业务拓展。

此方案通过在云上创建一台Linux操作系统的云服务器,来连接本地NAS存储以及云上SFS Turbo文件系统的通信,并通过这台服务器将本地NAS存储中的数据迁移至云上。

将云上NAS存储数据迁移至SFS Turbo文件系统中也可以参考本方案,具体说明请参考云上NAS数据迁移至弹性文件服务

约束与限制

  • 仅支持使用Linux系统的云服务器进行数据迁移。
  • 文件UID和GID在同步操作后将不再保持一致。
  • 文件访问模式同步操作后不再保持一致。
  • 支持实现增量迁移,即只迁移发生变化的数据。
  • 通过 rclone 工具进行同步时,在执行命令之前写入的数据,可以完全同步;在执行命令之后写入的数据,不能保证完全同步。

前提条件

  • 已经完成云专线的购买和配置,详情请参考《云专线服务用户指南》
  • 已创建一台操作系统为Linux的云服务器。
  • 已创建SFS Turbo文件系统,并获取到文件系统的挂载地址。
  • 已经获取到本地NAS存储的挂载地址。

资源规划

本章节介绍案例中使用的资源信息。具体如表1所示。

表1 资源规划

产品

配置示例

说明

弹性云服务器 ECS

规格:8vCPUs | 16GB | c7.2xlarge.2

操作系统:Linux

区域:中国-香港

VPC名称:VPC1

已创建/mnt/src和/mnt/dst的目录

操作步骤

  1. 登录弹性云服务器管理控制台。
  2. 登录已创建好的Linux系统云服务器,用于同时访问本地NAS存储和云上SFS Turbo文件系统。
  3. 输入以下挂载命令,用于访问本地NAS存储。

    mount -t nfs -o vers=3,timeo=600,noresvport,nolock 本地NAS挂载地址 /mnt/src

  4. 输入以下挂载命令,用于访问云上文件系统。

    mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统挂载地址 /mnt/dst 

  5. 在Linux云服务器中执行以下命令安装rclone工具。

    wget https://downloads.rclone.org/v1.53.4/rclone-v1.53.4-linux-amd64.zip --no-check-certificate
    unzip rclone-v1.53.4-linux-amd64.zip
    chmod 0755 ./rclone-*/rclone
    cp ./rclone-*/rclone /usr/bin/
    rm -rf ./rclone-*

  6. 执行以下命令,进行数据同步。

    rclone copy /mnt/src /mnt/dst -P --transfers 32 --checkers 64 --links --create-empty-src-dirs

    参数说明如下,transfers和checkers数目可以根据系统规格自行配置:

    • --transfers:传输文件的并发数目。
    • --checkers:扫描本地文件的并发数目。
    • -P:数据拷贝进度。
    • --links:复制源端的软链接,目的端保持为软链接的形式。

      --copy-links:复制源端软链接指向的文件内容,目的端变成文件的形式,不再是软链接。

    • --create-empty-src-dirs:复制源端的空目录到目的端。

    等待数据完成同步后,可前往目标文件系统查看是否已成功迁移。

验证

  1. 登录已创建好的Linux系统云服务器。
  2. 在目的端服务器执行以下命令,验证文件同步情况。

    cd /mnt/dst
    ls | wc -l

  3. 数据量与源端服务器中的一致时,表示数据迁移成功。

云上NAS数据迁移至弹性文件服务

云上NAS和SFS Turbo文件系统只需配置在同一个VPC下,或使用云连接(CC)配置网络后,再参考以上操作步骤,即可进行云上NAS数据迁移至弹性文件服务中。

云连接配置操作请参考云连接用户指南