You need to enable JavaScript to run this app.
导航
跨账号迁移 vePFS 中的数据
最近更新时间:2023.11.30 20:47:22首次发布时间:2023.11.30 20:47:22

本文介绍如何将文件存储 vePFS 中的数据迁移至相同地域不同账号的 vePFS 中。

前提条件

  • ECS 和 TOS 带宽均满足数据流动需求。

    不同规格的 ECS 实例的网络带宽不同,建议您选择网络出入带宽 20Gbps 以上的 ECS 实例。ECS 规格详情,请参见 ECS 规格说明

  • 已创建对象存储 Bucket,具体步骤,请参见创建存储桶

  • 源端和目的端的文件存储 vepfs 均已挂载至 ECS,具体步骤,请参见挂载 vePFS

  • 已在 ECS 安装 tosutil 工具并完成初始化,具体步骤,请参见安装 tosutil初始化 tosutil

  • 已在 ECS 实例安装 tmux 工具,避免远程连接异常断开,导致数据同步中断。安装命令如下:

    #以 centos 系统为例
    yum install tmux -y
    

    tmux 常用命令如下。

    新建 tmux 窗口,sessioname 是变量,您自定义的会话名称
    # tmux new -s sessioname
    退出 tmux 窗口
    # tmux detach
    查看 tmux 窗口
    # tmux ls
    加载已经创建的 tmux 窗口,sessioname 是 "tmux ls" 查询到的会话名称
    # tmux a -t sessioname
    

数据迁移流程

alt

说明

如果您希望跨地域迁移数据,您可以先将源数据迁移到相同地域的 TOS 存储桶,然后通过跨区域复制功能,将数据复制到与目的 vePFS 相同地域的 TOS 存储桶,实现数据的跨地域迁移。跨区域复制的详细说明,请参见跨区域复制。

操作步骤

步骤一:将源端 vePFS 需要迁移的数据拷贝至对象存储

本文以 centos 系统的 ECS 实例为例,介绍如何将对象存储的数据拷贝至 vePFS。

  1. 登录 ECS 实例。

  2. 执行以下命令,切换到 tmux,避免迁移过程中会话断开。

    tmux new -s target1
    
  3. 执行以下命令,将 vePFS 中的数据拷贝至对象存储。

    ./tosutil cp /mnt/vepfs/sourcedir tos://bucketname/ -r -u -j=XX -p=XX
    

    主要参数说明如下。

    说明

    • 关于 tosutil 拷贝对象的详细说明,请参见拷贝对象

    • tosutil 支持通过 -j-p 参数调整并发数来优化传输性能,详细建议,请参见拷贝对象

    参数说明
    sourcedirvePFS 待拷贝的目录名称。
    bucketname对象存储目的 Bucket 名称。
    -r表示执行批量操作。
    -j批量任务的最大并发数,可以根据业务需求调整.
    -p每个分片任务的最大并发数,可以根据业务需求调整.

    -u

    增量下载对象存储中数据集,设置该参数后,每次下载时均会对比 TOS 与 vePFS 数据,只下载新增和更新的文件。

    注意

    vePFS 删除的数据不会在 TOS 删除。

    -nfj批量任务的处理普通文件或对象(非分片任务)的最大并发数,仅在批量操作时生效。
    -exclude上传或下载对不包含文件的名称匹配模式,支持 ?* 作为通配符。
  4. 查看数据上传结果。

    返回参数说明如下。

    参数说明
    Succeed count is上传 TOS 成功的文件数量,包含新增和已经存在跳过的文件。
    Failed count is上传 TOS 失败的文件数量。
    Skip count isTOS 中已经存在跳过的文件数。
    Succeed bytes is上传 TOS 成功的文件容量。
    Task id istosutil 上传的任务 ID,根据该 ID 可以查询下载成功和失败的文件清单。

    说明

    使用 tosutil 工具批量上传、下载对象存储文件时,任务执行完成后会生成成功和失败的任务清单,默认的存储文件夹为配置文件中的 defaultOutputDir 参数,默认路径/root/.tosutil_output,详细说明,请参见 tosutil 配置文件

步骤二:将对象存储的数据下载至目的端 vePFS

本文以 centos 系统的 ECS 实例为例,介绍如何将对象存储的数据拷贝至 vePFS。

  1. 登录 ECS 实例。

  2. 执行以下命令,切换到 tmux,避免迁移过程中会话断开。

    tmux new -s target1
    
  3. 执行以下命令,将对象存储 bucket 中的数据拷贝至 vePFS。

    ./tosutil cp tos://bucketname/sourcedir /mnt/vepfs/ -r -u -j=XX -p=XX
    

    主要参数说明如下。

    说明

    • 关于 tosutil 拷贝对象的详细说明,请参见拷贝对象

    • tosutil 支持通过 -j-p 参数调整并发数来优化传输性能,详细建议,请参见拷贝对象

    参数说明
    bucketname对象存储 Bucket 名称。
    sourcedir需要拷贝数据的目录名称。
    -r表示执行批量操作。
    -j批量任务的最大并发数,可以根据业务需求调整
    -p每个分片任务的最大并发数,可以根据业务需求调整
    -u增量下载对象存储中数据集,设置该参数后,每次下载时均会对比 TOS 与 vePFS 数据,只下载新增和更新的文件。
    -nfj批量任务的处理普通文件或对象(非分片任务)的最大并发数,仅在批量操作时生效。
    -exclude上传或下载对不包含文件的名称匹配模式,支持 ?* 作为通配符
    -flat上传或下载对象时不包含相对父目录。
  4. 查看加载数据集结果,示例返回如下。


    返回参数说明如下。

    参数说明
    Succeed count is下载 TOS 成功的文件数量,包含新增和已经存在跳过的文件。
    Failed count is下载 TOS 失败的文件数量。
    Skip count isvePFS 中已经存在跳过的文件数。
    Succeed bytes is下载 TOS 成功的文件容量。
    Task id istosutil 上传的任务 ID,根据该 ID 可以查询下载成功和失败的文件清单。

    说明

    使用 tosutil 工具批量上传、下载对象存储文件时,任务执行完成后会生成成功和失败的任务清单,默认的存储文件夹为配置文件中的 defaultOutputDir 参数,默认路径/root/.tosutil_output,详细说明,请参见 tosutil 配置文件