Help Center/ Scalable File Service/ Best Practices/ Migrating Data to SFS/ Using Direct Connect to Migrate Data (rclone)
Updated on 2023-06-21 GMT+08:00

Using Direct Connect to Migrate Data (rclone)

Solution Overview

You can migrate data from a local NAS to SFS Turbo using Direct Connect and the rclone tool.

In this solution, a Linux ECS is created to connect the local NAS and SFS Turbo, and data is migrated to the cloud using this ECS.

You can also refer to this solution to migrate data from an on-cloud NAS to SFS Turbo. For details, see Migrating Data from On-cloud NAS to SFS.

Limitations and Constraints

  • Only Linux ECSs can be used to migrate data.
  • The UID and GID of your file will no longer be consistent after data migration.
  • The file access modes will no longer be consistent after data migration.
  • Incremental migration is supported, so that only changed data is migrated.
  • If data is written to the file system after you have run the rclone command to migrate data, data inconsistency may occur.

Prerequisites

  • You have enabled and configured Direct Connect. For details, see Direct Connect User Guide.
  • You have created a Linux ECS.
  • You have created an SFS Turbo file system and have obtained the mount point of the file system.
  • You have obtained the mount point of the local NAS.

Resource Planning

Table 1 describes the resource planning in this solution.

Table 1 Resource planning

Resource

Example Configuration

Description

ECS

Specifications: 8 vCPUs | 16 GB | c7.2xlarge.2

OS: Linux

Region: CN-Hong Kong

VPC: VPC1

Ensure that the /mnt/src and /mnt/dst directories have been created.

Procedure

  1. Log in to the ECS console.
  2. Log in to the created Linux ECS to access the local NAS and SFS Turbo file system.
  3. Run the following mount command to access the local NAS:

    mount -t nfs -o vers=3,timeo=600,noresvport,nolock Mount point of the local NAS /mnt/src

  4. Run the following mount command to access the SFS Turbo file system:

    mount -t nfs -o vers=3,timeo=600,noresvport,nolock Mount point of the file system /mnt/dst 

  5. Run the following commands on the Linux ECS to install the rclone tool:

    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. Run the following command to synchronize data:

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

    The parameters are described as follows. Set transfers and checkers based on the system specifications.

    • --transfers: number of files that can be transferred concurrently
    • --checkers: number of local files that can be scanned concurrently
    • -P: data copy progress
    • --links: replicates the soft links from the source. They are saved as soft links in the destination.

      --copy-links: replicates the content of files to which the soft links point. They are saved as files rather than soft links in the destination.

    • --create-empty-src-dirs: replicates the empty directories from the source to the destination.

    After data synchronization is complete, go to the SFS Turbo file system to check whether data is migrated.

Verification

  1. Log in to the created Linux ECS.
  2. Run the following commands on the destination server to verify file synchronization:

    cd /mnt/dst
    ls | wc -l

  3. If the data volume is the same as that on the source server, the data is migrated successfully.

Migrating Data from On-cloud NAS to SFS

To migrate data from an on-cloud NAS to your SFS Turbo file system, ensure that the NAS and file system are in the same VPC, or you can use Cloud Connect to migrate data.

For details about how to configure Cloud Connect, see Direct Connect User Guide.