You need to enable JavaScript to run this app.
文档中心
文件存储 vePFS

文件存储 vePFS

复制全文
下载 pdf
最佳实践
vePFS 文件系统之间数据迁移
复制全文
下载 pdf
vePFS 文件系统之间数据迁移
本文介绍 vePFS 文件系统之间如何进行数据迁移。​
工具简介​
您可以通过 fpsync 或 rclone 工具进行文件系统之间的数据迁移。​
​
工具​
说明​
注意事项​
fpsync​
  • fpsync 是一款专为高性能同步设计的工具,其核心原理为 fpart 与 rsync 的组合运用:通过 fpart 将待迁移的文件列表分割为多个分区,并调用多个 rsync 进程并行处理这些分区,从而提升大文件集的迁移效率。​
  • fpsync 基于多进程机制,能加速文件传输过程,适用于本地或局域网环境下需要高速迁移的场景。​
  • fpsync 只具备分区的功能,实际的数据迁移工作需由 rsync 完成,因此 fpsync 需要通过选项-o向 rsync 传递参数以完成相关操作。​
  • rsync 版本必须大于等于 3.2.3 才能保证迁移文件的属性不变。​
rclone​
  • Rclone 是一款功能强大的开源命令行工具,支持对接各种云存储系统。​
  • Rclone 不仅支持本地文件系统间的数据迁移,也支持与各类云存储服务(兼容S3协议的对象存储)及网络存储协议(NFS、SMB)进行数据迁移。​
  • 并行数优化:您可以通过设置参数--transfers(默认值为 4)和--checkers(默认值为 8)调整并发数。​
  • 带宽控制:参数--bwlimit 10M 表示限制最高传输速度为 10MB/s。​
​
方案对比​
通过 fpsync 或 rclone 迁移文件系统数据的方案对比说明如下表所示,您可以按需选择。​
​
特性​
fpsync​
rclone​
迁移方向​
单向。​
  • 单向。​
  • 双向:需要手动执行两次数据迁移操作。​
云存储支持​
仅支持本地或通过 SSH 协议访问远程的文件系统之间的数据迁移。​
全面支持各类云存储服务(例如 AWS S3、Google Drive、Dropbox 等)之间的数据迁移。​
冲突处理​
通过配置相关参数,可支持多种覆盖策略。​
按时间戳或校验和选择较新的数据进行迁移。​
并行传输​
支持多线程:通过选项-o向 rsync 传递参数以完成相关操作。​
支持多线程:通过设置参数--transfers(默认值为 4)调整并发数。​
符号链接处理​
  • rsync 版本必须大于等于 3.2.3。​
  • 仅支持相对路径的符号链接迁移。​
  • 绝对路径的符号链接其本身会被迁移,但迁移后链接目标将维持不变,仍指向原始绝对路径。​
​
  • 仅支持相对路径的符号链接迁移。​
  • 绝对路径的符号链接其本身会被迁移,但迁移后链接目标将维持不变,仍指向原始绝对路径,您可以选择将原始绝对路径中的文件数据迁移至目的端。​
断点续传​
支持。​
支持。​
加密传输​
依赖 SSH。​
内置加密(通过crypt功能实现)。​
GUI 支持​
不支持,需要通过命令行使用。​
支持,可通过rclone webgui命令启用。​
​
操作指南​
fpsync​
  • 安装 fpsync 工具​
  • 根据不同的操作系统,选择合适的命令安装 fpsync 工具。​
  • ​
    CentOS、Rocky、RedHat 操作系统
    veLinux、Ubuntu、Debian 操作系统
    ​
    ​
    # 安装 fpart​
    yum install -y fpart​
    ​
    # 安装 rsync​
    yum install -y rsync​
    ​
    ​
    ​
  • 源码编译安装示例如下。​
  • ​
    # 安装 fpart​
    wget https://github.com/martymac/fpart/archive/refs/tags/fpart-1.4.0.tar.gz​
    tar -zxvf fpart-1.4.0.tar.gz​
    cd fpart-fpart-1.4.0/​
    autoreconf -i ​
    ./configure​
    make ​
    make install​
    ​
    # 安装 rsync​
    # 先移除低版本 rsync​
    yum -y remove rsync​
    ​
    # 安装依赖​
    yum -y install epel-release​
    yum -y install make​
    yum -y install gcc g++ gawk autoconf automake python3-pip​
    yum -y install acl libacl-devel​
    yum -y install attr libattr-devel​
    yum -y install xxhash-devel​
    yum -y install libzstd-devel​
    yum -y install lz4-devel​
    yum -y install openssl-devel​
    yum -y install libX11-devel​
    python3 -mpip install --user commonmark​
    ​
    # 源码编译安装,此步骤需绑定公网 IP​
    wget https://download.samba.org/pub/rsync/src/rsync-3.3.0.tar.gz​
    tar -zxvf rsync-3.3.0.tar.gz​
    cd rsync-3.3.0​
    ./configure --disable-xxhash​
    make​
    make install​
    ​
  • 常用命令​
  • 通过 fpsync 工具迁移数据的常用命令如下。​
  • ​
    命令​
    说明​
    fpsync -o "-r -U -t" /src/ /dst/​
    递归同步,迁移数据的访问时间atime和修改时间mtime保持不变。​
    fpsync -v -n 16 -f 10000 /data/src/ root@host:/data/dst/​
    通过 SSH 协议将本地数据迁移至远程服务器。​
    fpsync -l​
    查询迁移任务详细信息。​
    fpsync -r $jobID​
    断点续传迁移任务。​
    ​
  • 参数说明​
  • fpsync 需要通过选项-o向 rsync 传递参数以完成相关操作,如下均为 rsync 的参数。​
  • ​
    参数​
    简写​
    功能描述​
    --checksum​
    -c​
    使用校验和--checksum,而不是修改时间mtime和文件大小size判断是否迁移数据。​
    --archive​
    -a​
    归档模式同步,尽可能保证所有文件属性一致,相当于-A -X -U -t。​
    --recursive​
    -r​
    递归同步子目录。​
    --links​
    -l​
    保留符号链接, 仅能保留相对路径符号链接。​
    --copy-links​
    -L​
    将符号链接转换为硬链接迁移,可以用于迁移绝对路径符号链接。​
    --hard-links​
    -H​
    保留硬链接。​
    --acls​
    -A​
    保留 ACL。​
    --xattrs​
    -X​
    保留扩展属性​
    --perms​
    -p​
    保留文件权限。​
    --times​
    -t​
    保留文件修改时间。​
    --crtimes​
    -N​
    保留文件创建时间。​
    --group​
    -g​
    保留文件所属组。​
    --owner​
    -o​
    保留文件所有者(仅超级用户可用)。​
    --executability​
    -E​
    保留可执行权限。​
    --bwlimit​
    无​
    传输带宽限制。​
    --max-size=SIZE​
    无​
    不迁移大于 SIZE 的文件。​
    --min-size=SIZE​
    无​
    不迁移小于 SIZE 的文件。​
    --exclude=PATTERN​
    无​
    定义排除模式,使用正则表达式。​
    ​
rclone​
  • 安装 rclone 工具​
  • 根据不同的操作系统,选择合适的方式下载安装 rclone 工具。​
  • ​
    Linux、macOS 操作系统
    Windows 操作系统
    ​
    执行以下命令下载安装 rclone 工具。​
    ​
    curl https://rclone.org/install.sh | sudo bash​
    ​
    ​
    ​
  • 配置​
  • 执行以下命令交互式配置远程云存储服务,例如 AWS S3、Google Drive、Dropbox 等。​
  • ​
    rclone config​
    ​
  • 常用命令​
  • 通过 rclone 工具迁移数据的常用命令如下。​
  • ​
    命令​
    说明​
    rclone copy /src/ /dst/​
    复制文件。​
    rclone sync /src/ /dst/​
    同步文件。​
    rclone move /src/ /dst/​
    移动文件。​
    ​
  • 参数说明​
  • ​
    参数​
    简写​
    功能描述​
    --transfers​
    无​
    控制迁移文件的并行数,即同时迁移的文件数量,默认值为 4。​
    --checkers​
    无​
    控制文件检查的并行数,即扫描文件并决定是否需要迁移,默认值为 8。​
    --max-backlog​
    无​
    控制传输任务队列的最大长度,当队列满时,新任务会等待,默认值为 10000。​
    --checksum​
    -c​
    使用校验和--checksum,而不是修改时间mtime和文件大小size判断是否迁移数据。​
    --ignore-size ​
    无​
    忽略文件大小检查。​
    --links​
    -l​
    同步符号链接。仅支持相对路径的符号链接,若目的地址为对象存储,则保留一份扩展名为.rclonelink的新文件。​
    --copy-links​
    -L​
    将符号链接同步为一个新文件。​
    --safe-links​
    无​
    仅保留指向源目录内部的符号链接,外部链接会被忽略。​
    --ignore-links​
    无​
    完全忽略符号链接,不复制也不保留。​
    --metadata​
    -M​
    同步元数据。​
    -multi-thread-chunk-size​
    无​
    针对单个文件,限制多线程下载、上传的单个数据块大小。​
    --multi-thread-cutoff​
    无​
    针对单个文件,对超过此大小的单个文件使用多线程下载,默认值为 256 MiB。​
    --multi-thread-streams​
    无​
    针对单个文件,用于多线程下载的流数,默认值为 4。​
    --multi-thread-write-buffer-size​
    无​
    针对单个文件,多线程模式下用于写入的内存缓冲区大小,默认值为 128KiB。​
    -size-only​
    无​
    仅根据文件大小size跳过迁移,不考虑修改时间mtime或校验和--checksum。​
    ​
迁移示例​
前提条件​
执行数据迁移的两个文件系统需属于同一个 VPC 或已完成网络打通。​
操作步骤​
  1. 将两个文件系统绑定至同一个挂载服务,如下图所示。具体操作,请参见绑定文件系统。​
  • ​​​
  1. 添加复制文件的客户端,如下图所示。​
  • ​​​
  1. 根据不同的迁移工具,选择合适的命令迁移数据。​
  • ​
    fpsync
    rclone
    ​
    ​
    fpsync -o "-r -a" /src/test /dst/test​
    fpsync -l​
    ​
    如下图所示表示数据迁移成功。​
    ​​​
    ​
    ​
​
最近更新时间:2025.11.14 16:33:58
这个页面对您有帮助吗?
有用
有用
无用
无用