全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

非金山云数据迁移至KPFS

最近更新时间:2025-03-11 15:50:52

本文介绍如何通过juicefs sync工具实现非金山云数据迁移至金山云文件存储KPFS(容量型&标准型)。

费用说明

  1. 如果您使用云服务器或裸金属服务器作为数据传输的中转节点,则会根据实例配置收取费用。

  2. 如果您需要从公网下载数据至KPFS文件系统,弹性公网IP会收取流量费用。

前提条件

  1. 创建文件系统。

  2. 已创建同地域下的数据传输中转节点,可以是云服务器或裸金属,参考 创建云服务器实例、创建裸金属服务器。

  3. 云服务器或裸金属已绑定弹性IP,参考 云主机设置弹性IP裸金属服务器绑定弹性IP。

实施迁移

操作步骤

  1. 在执行迁移的云服务器或裸金属挂载KPFS文件系统,参考 快速上手-挂载文件系统

  2. 使用sync命令将您的数据同步至KPFS文件系统

    1. dirtosync:需要上传的本地目录名

    2. vol_name:KPFS文件系统名称

    3. prefix:可选,源路径和目标路径的前缀,可用于限定只同步某些路径中的数据。

      juicefs sync dirtosync/prefix  jfs://vol_name/prefix

性能提升参数

  1. 如下为可提升单机sync性能的关键参数(需根据待迁移文件大小 以及 执行迁移的云服务器或裸金属的性能灵活调整)

    1. --flush-wait=5s:持久化到KPFS后端的时间间隔,默认 5s。在大文件写入慢的情况下,过于频繁地调用持久化会导致碎片化,可以考虑增加时间间隔,如10s、30s

    2. --buffer--size:客户端读写缓冲区大小,单位 MiB,默认 300。在大文件同步情况下,可根据客户端实际可分配的内存资源情况提高读写缓冲区大小以提高同步性能,如1024、2048

    3. --threads:并发线程数,默认为 10。可根据需要设置 --threads 选项调大或减少线程数,增大并发数会增加资源占用,如果您的单机资源不足,可以考虑使用分布式同步

    4. --max-uploads:上传并发度,默认为 20。可提高该参数以提高同步性能(KPFS容量Ⅰ型及容量Ⅱ型建议至多调整为64,标准型建议至多调整为256)

juicefs sync  --flush-wait=30s --buffer-size=1024 --threads=50 --max-uploads=64 dirtosync/prefix  jfs://vol_name/prefix

分布式同步

  1. sync大量数据时,单机带宽往往会被占满出现瓶颈,针对这种情况,考虑使用多机并发sync

    1. Manager节点:作为主控节点执行sync 命令,通过 --worker 参数定义多个 Worker 节点(Manager 自身也参与sync),会根据 Worker 的总数量,动态拆分同步任务并分发给各个节点并发执行,单位时间内能处理的数据量更大,总带宽也成倍增加。

    2. Worker节点:执行数据sync

  2. 步骤如下:

    1. 步骤1:提前配置好 Manager 节点到 Worker 节点的 SSH 免密登录

      如果 Worker 节点的 SSH 端口不是默认的 22,请在 Manager 节点的 ~/.ssh/config 设置其端口号。Manager 会将 客户端程序分发到 Worker 节点,为避免兼容性问题,Manager 和 Worker 应使用相同类型和架构的操作系统。

    2. 步骤2:在Manager节点上挂载文件系统后运行sync指令,--worker为工作节点列表,使用逗号分隔。

juicefs sync --worker ip1,ip2  dirtosync/prefix  jfs://vol_name/prefix

运行这个命令后,当前节点与两个 Worker 节点 ip1ip2 将共同分担数据同步任务。同样的,您也可以参考性能提升参数部分进行性能调优。

纯净模式常规模式

纯净模式

点击可全屏预览文档内容