Help Center/ Scalable File Service/ Best Practices/ Migrating Data to SFS/ Migrating Data from SFS Capacity-Oriented to Another Type of File Systems
Updated on 2024-07-15 GMT+08:00

Migrating Data from SFS Capacity-Oriented to Another Type of File Systems

Solution Overview

You can migrate data from an SFS Capacity-Oriented file system to a General Purpose File System or an SFS Turbo file system.

In this solution, a Linux ECS is used to connect the SFS Capacity-Oriented file system and the destination file system.

Notes and Constraints

  • Only Linux ECSs can be used to migrate data.
  • The Linux ECS, SFS Capacity-Oriented file system, and the destination file system must be in the same VPC. If the destination file system is a General Purpose File System, you need to configure a VPC endpoint. For details, see Configure a VPC Endpoint.
  • Incremental migration is supported, so you can only migrate the changed data.

Prerequisites

  • You have created a Linux ECS.
  • You have created an SFS Capacity-Oriented file system and a destination file system and have obtained their mount points.

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, which can access both the SFS Capacity-Oriented and the destination file systems.
  3. Mount the SFS Capacity-Oriented file system, which is file system 1 in this example.

    mount -t nfs -o vers=3,timeo=600,noresvport,nolock [Mount point of file system 1] /mnt/src

  4. Mount the General Purpose File System or SFS Turbo file system, which file system 2 in this example.

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

  5. Install the rclone tool on the Linux ECS.

    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-*

    The rclone tool does not retain the file permissions or owner group information on the source. Use the rsync tool if you have such requirements.

  6. Synchronize data to the destination file system.

    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.

    • /mnt/src: source path
    • /mnt/dst: destination path
    • --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 destination file system to check whether data is migrated.

Verification

  1. Log in to the Linux ECS.
  2. Check the file synchronization results in the destination file system.

    cd /mnt/dst
    ls | wc -l

    If the data volume is the same as that in the source file system, data is migrated successfully.