SFS容量型文件系统迁移至其他文件系统
方案概述
用户可以将SFS容量型文件系统中的数据迁移至通用文件系统或SFS Turbo文件系统中。
此方案通过创建一台Linux操作系统的云服务器,来连接SFS容量型文件系统和其他文件系统的通信。
约束与限制
- 仅支持使用Linux系统的云服务器进行数据迁移。
- Linux系统云服务器、SFS容量型文件系统和其他文件系统需在同一VPC下。如果目标端是通用文件系统,需配置VPC终端节点,具体操作,请参见配置VPC终端节点。
- 支持实现增量迁移,即只迁移发生变化的数据。
前提条件
- 已创建一台操作系统为Linux的云服务器。
- 已创建SFS容量型和其他文件系统,并获取到文件系统的挂载地址。
资源规划
本章节介绍案例中使用的资源信息。具体如表1所示。
操作步骤
- 登录弹性云服务器管理控制台。
- 登录已创建好的Linux系统云服务器,用于同时访问SFS容量型文件系统和其他文件系统。
- 输入以下挂载命令,用于访问文件系统1。文件系统1是SFS容量型文件系统。
mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统1挂载地址 /mnt/src
- 输入以下挂载命令,用于访问文件系统2。文件系统2可以是通用文件系统或SFS Turbo文件系统。
mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统2挂载地址 /mnt/dst
- 在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工具。
- 执行以下命令,进行数据同步。
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:复制源端的空目录到目的端。
等待数据完成同步后,可前往目标文件系统查看是否已成功迁移。
验证
- 登录已创建好的Linux系统云服务器。
- 在目的端服务器执行以下命令,验证文件同步情况。
cd /mnt/dst ls | wc -l
数据量与源端服务器中的一致时,表示数据迁移成功。