文档首页/ 弹性文件服务 SFS/ 最佳实践/ 弹性文件服务数据迁移/ SFS容量型文件系统迁移至其他文件系统
更新时间:2024-07-15 GMT+08:00

SFS容量型文件系统迁移至其他文件系统

方案概述

用户可以将SFS容量型文件系统中的数据迁移至通用文件系统或SFS Turbo文件系统中。

此方案通过创建一台Linux操作系统的云服务器,来连接SFS容量型文件系统和其他文件系统的通信。

约束与限制

  • 仅支持使用Linux系统的云服务器进行数据迁移。
  • Linux系统云服务器、SFS容量型文件系统和其他文件系统需在同一VPC下。若目标端是通用文件系统,需配置VPC终端节点,具体操作,请参见配置VPC终端节点
  • 支持实现增量迁移,即只迁移发生变化的数据。

前提条件

  • 已创建一台操作系统为Linux的云服务器。
  • 已创建SFS容量型和其他文件系统,并获取到文件系统的挂载地址。

资源规划

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

表1 资源规划

产品

配置示例

说明

弹性云服务器 ECS

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

操作系统:Linux

区域:中国-香港

VPC名称:VPC1

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

操作步骤

  1. 登录弹性云服务器管理控制台。
  2. 登录已创建好的Linux系统云服务器,用于同时访问SFS容量型文件系统和其他文件系统。
  3. 输入以下挂载命令,用于访问文件系统1。文件系统1是SFS容量型文件系统。

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

  4. 输入以下挂载命令,用于访问文件系统2。文件系统2可以是通用文件系统或SFS Turbo文件系统。

    mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统2挂载地址 /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-*

    rclone工具不保留源端的文件权限或属组信息,有相关需求请使用rsync工具。

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

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

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

    • /mnt/src :源路径
    • /mnt/dst:目标路径
    • --transfers:传输文件的并发数目。
    • --checkers:扫描本地文件的并发数目。
    • -P:数据拷贝进度。
    • --links:复制源端的软链接,目的端保持为软链接的形式。
    • --copy-links:复制源端软链接指向的文件内容,目的端变成文件的形式,不再是软链接。
    • --create-empty-src-dirs:复制源端的空目录到目的端。

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

验证

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

    cd /mnt/dst
    ls | wc -l

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