高性能弹性文件服务 SFS Turbo
高性能弹性文件服务 SFS Turbo
- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- API参考
- SDK参考
- 常见问题
- 故障排除
- 文档下载
- 通用参考
链接复制成功!
通过云专线迁移数据至SFS Turbo(rsync工具)
方案概述
用户可以将本地NAS存储中的数据,通过云专线和rsync工具迁移至云上SFS Turbo文件系统中,进行云上业务拓展。
此方案通过在云上创建一台Linux操作系统的云服务器,来连接本地NAS存储以及云上SFS Turbo文件系统的通信,并通过这台服务器将本地NAS存储中的数据迁移至云上。
将云上NAS存储数据迁移至SFS Turbo文件系统中也可以参考本方案,云上NAS和SFS Turbo文件系统需要配置在同一个VPC下。
约束与限制
- 支持拷贝特殊文件,如连接文件、设备等。
- 支持单文件断点续传。
- 支持保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性。
- 支持使用rcp、rsh、ssh等方式来配合传输文件。
- 支持实现增量迁移,即只迁移发生变化的数据。
- 如果存在迁移多层级目录且小文件数量较多的情况时,rsync迁移效率将会非常低,建议使用多进程脚本解决或rclone工具迁移。
前提条件
- 已经完成云专线的购买和配置,详情请参考《云专线服务用户指南》。
- 已创建一台操作系统为Linux的云服务器。
- 已创建SFS Turbo文件系统,并获取到文件系统的挂载地址。
- 已经获取到本地NAS存储的挂载地址。
- 本地NAS和云服务器已完成互信关系建立。
资源规划
本章节介绍案例中使用的资源信息。具体如表1所示。
操作步骤
- 登录已创建好的Linux系统云服务器,用于同时访问本地NAS存储和SFS Turbo文件系统。
- 输入以下挂载命令,用于访问本地NAS存储。
mount -t nfs -o vers=3,timeo=600,noresvport,nolock,tcp 本地NAS挂载地址 /mnt/src
- 输入以下挂载命令,用于访问SFS Turbo文件系统。
mount -t nfs -o vers=3,timeo=600,noresvport,nolock,tcp 文件系统挂载地址 /mnt/dst
- 在Linux云服务器中执行以下命令安装rsync工具。
yum install rsync
图1 安装rsync工具说明:
源端服务器和目的端服务器均需要安装rsync工具,否则将会报错。
- 安装完成后,可以输入以下命令查询rsync工具的安装和版本情况。
rsync -version
图2 查看工具安装情况 - 您可以执行rsync命令迁移存量数据或迁移增量数据。
- 迁移存量数据:执行以下命令,将源端服务器/mnt/src目录中的数据全量同步迁移至目的端服务器/mnt/dst目录(SFS Turbo文件系统)中。
rsync -avP /mnt/src/ /mnt/dst/
您还可以执行以下命令,利用rsync并发复制上传数据。
threads=${线程数量};src=/mnt/src/;dest=/mnt/dst/;rsync -av -f"+ */" -f"- *" $src $dest && (cd $src && find . -type f | xargs -n1 -P$threads -I% rsync -av % $dest/% )
例如,线程数量为10,命令如下:
threads=10;src=/mnt/src/;dest=/mnt/dst/;rsync -av -f"+ */" -f"- *" $src $dest && (cd $src && find . -type f | xargs -n1 -P$threads -I% rsync -av % $dest/% )
- 迁移增量数据:执行以下命令,将存量数据迁移开始后的增量数据同步到目标SFS Turbo文件系统中。
rsync -avP --delete /mnt/src/ /mnt/dst/
注意:
--delete表示从目标SFS Turbo文件系统中删除已在源目录中被删除的数据,请您谨慎使用,避免意外删除目标SFS Turbo文件系统中的数据。
- 迁移存量数据:执行以下命令,将源端服务器/mnt/src目录中的数据全量同步迁移至目的端服务器/mnt/dst目录(SFS Turbo文件系统)中。
验证结果
- 登录已创建好的Linux系统云服务器。
- 在目的端服务器执行以下命令,验证文件同步情况。
cd /mnt/dst ls | wc -l
- 数据量与源端服务器中的一致时,表示数据迁移成功。
父主题: SFS Turbo数据迁移实践