You need to enable JavaScript to run this app.
导航

本地迁移与上传工具

最近更新时间2024.02.01 14:05:03

首次发布时间2021.02.23 10:42:29

media-migration 工具为 veImageX 文件批量迁移与上传工具,可以将一个文件夹中的文件递归式地上传到指定的 veImageX 服务中。您可以通过本文档来帮助您使用迁移工具将本地的海量历史数据快速迁移至 veImageX ,提高迁移效率和稳定性。

发布历史

发版历史更新内容
2023-05-25bugfix,修复文件去重逻辑
2023-04-11支持覆盖上传

2023-03-14

  • 支持大文件分片上传
  • -p 参数意义从文件名前缀修改为了 storekey 前缀。
  • 更好的日志信息和更多的细节优化

2021-04-08

  • 初始化不再计算文件数量
  • 支持使用文件或者 Sqlite3保存上传进度用于断点续传,移除 waitingUploadDir.log 文件
  • 支持设置上行、下行限速
  • 支持设置并发上传文件数量

2021-01-18

  • 初始化版本
  • 安全审核通过

功能说明

迁移工具的功能简述如下:

  • 支持上传指定根目录下所有文件,但不上传空文件夹。需要注意的是,本工具会处理 . 开头的项目;

  • 支持跨平台运行,支持 Linux、Windows 、Mac 操作系统和开源 OpenBSD 系统;

  • 支持断点续传,即使程序被关闭,也可以通过重新启动并使用相同的参数继续上传任务;

  • 支持并行上传,可将多个资源同时上传;

  • 支持上传限速;

  • 支持失败重传,可在上传失败的情况下二次重传。

适用场景

适用于在本地 IDC 或者在本地磁盘的数据使用本工具迁移到 veImageX 存储中,同时通过本地服务器挂载云存储的资源迁移 veImageX 存储也可以使用本工具。

说明

存量数据的上传建议使用本工具完成,而增量数据则建议直接上传至 veImageX 的服务进行托管。

  • 素材托管服务:支持任意合法资源的上传、分发和托管;

  • 图像处理服务:支持任意合法资源的上传、分发和托管,还支持对图像文件执行图像实时处理。

使用限制

  • 支持的最大并发量为 128。

  • 支持上传任意类型的合法文件资源。

  • 暂无限制可上传文件大小,具体迁移时间根据您实际环境条件决定。

迁移准备

Step 1:注册火山账号

  1. 进入火山引擎首页,单击页面右上角的免费注册

  2. 参照指引信息完成火山引擎账号的注册。

Step 2:开通 veImageX

  1. 登录火山引擎控制台

  2. 单击页面左上角的产品与服务,选择 veImageX 产品,进入开通页面。

  3. 单击立即开通按钮。

  4. 根据指引信息,开通 veImageX。

Step 3:创建 veImageX 服务

  1. 登录 veImageX 控制台

  2. 在左侧导航栏,选择服务管理 > 新建服务

  3. 在新建服务弹窗,根据提示信息,按照您的业务需求填写服务配置项,完成图片服务的创建。

    说明

    • 创建服务时需要根据您所需要的数据中心的位置来选择区域。通常业务范围在国内,地区选择国内即可。

    • 每个服务之间的资源是隔离的。如果您需要创建多个服务,则每个服务的服务 ID,将作为该服务的唯一标识。

    • 服务创建成功后,地区、服务类型不可变更。

  4. 返回新建服务页面,查看并记录 veImageX 服务的服务 ID。

Step 4:配置 CNAME

保证已添加的服务域名指向 veImageX 平台,您需要将域名解析到平台分配的 CNAME 地址。服务域名将在 24 小时内审核,审核通过后才会显示 CNAME 值,请耐心等待;如有问题,请联系我们

  1. 在服务管理的域名列表中找到添加的域名,复制对应的 CNAME 地址。

  2. 使用域名服务对应的 DNS 解析平台,添加域名 CNAME 解析记录。

  3. 您可使用 ping 或 dig 的方式查验域名解析结果。如果域名 CNAME 地址与域名管理页面结果一致,则表示成功解析,可以正常使用该域名。

  4. 返回服务管理页面,记录已经过 CNAME 解析的域名。

Step 5:获取 AK 和 SK

  1. 登录 veImageX 控制台

  2. 点击您的账号,在下方的菜单栏中单击 API 访问密钥

  3. 在密钥管理页面,点击 Secret Access Key 下方按钮,输入短信验证码后查看并记录 AccessKey ID 以及 AccessKey Secret Key。

Step 6:确认待迁移文件路径

请根据您的业务需求,提前获取迁移目标文件路径。

操作步骤

Step 1:下载迁移工具

请根据实际业务操作系统,下载相应的迁移工具。

操作系统系统架构下载地址
Windows386
media-migration-windows-386.zip
2.51MB
AMD 64
media-migration-windows-amd64.zip
2.59MB
MacAMD 64
media-migration-darwin-amd64.zip
2.60MB
ARM 64
media-migration-darwin-arm64.zip
2.46MB
Linux386
media-migration-linux-386.zip
2.39MB
AMD 64
media-migration-linux-amd64.zip
3.37MB
ARM
media-migration-linux-arm.zip
2.35MB
ARM 64
media-migration-linux-arm64.zip
2.28MB
MIPS
media-migration-linux-mips.zip
2.22MB
MIPS 64
media-migration-linux-mips64.zip
2.16MB
MIPS 64 LE
media-migration-linux-mips64le.zip
2.16MB
MIPSLE
media-migration-linux-mipsle.zip
2.22MB
PPC 64 LE
media-migration-linux-ppc64le.zip
2.24MB
OpenBSD386
media-migration-openbsd-386.zip
2.38MB
AMD 64
media-migration-openbsd-amd64.zip
2.51MB
ARM
media-migration-openbsd-arm.zip
2.34MB
ARM 64
media-migration-openbsd-arm64.zip
2.27MB

Step 2:解压缩工具包

完成迁移工具包下载后,请将工具包解压缩并保存在您的本地目录下。

Step 3:修改 config 文件

在您工具包本地文件找到并打开 config.json 文件,填入在迁移准备获取的 ACCESS_KEY_IDSECRET_ACCESS_KEYSERVICE_IDDOMAIN。示例如下所示:

{
  "ACCESS_KEY_ID": "AKLTY2R****YmJmYWI",
  "SECRET_ACCESS_KEY": "AKLTNjQ****zNkOTc==",
  "SERVICE_ID": "u3q***7wk",
  "DOMAIN": "test.example.com"
}

Step 4:运行迁移工具

  • Windows 系统

    1. 在Windows 操作系统中,在搜索框搜索命令提示符( 或 Command Prompt)并打开应用,在命令行执行cdmedia-migrate可执行文件所在目录路径,例如:cd C:\Users\user\Documents

    2. 在命令行输入 ./media-migration -f {绝对路径} 即可开始向 veImageX 上传目录内所有文件。

    3. 您可在 veImageX 控制台对应服务的资源管理页面查看已上传的文件。

  • Linux 和 Mac 系统

    1. 在 Linux 和 Mac 操作系统中,打开终端程序(例如,Linux 中的 Terminal 或 Mac 中的 Terminal.app),在命令行执行cdmedia-migrate可执行文件所在目录路径,例如:cd /home/user/documents

    2. 在命令行输入 ./media-migration -f {绝对路径} 即可开始向 veImageX 上传目录内所有文件。

    3. 您可在 veImageX 控制台对应服务的资源管理页面查看已上传的文件。

迁移工具支持配置参数如下所示:

-data-file string
      进度存储文件,file 或者 *.db (默认值为 "processfile")
-up string
      配置上传速率,支持单位:kbps、mbps,默认不限制 (默认值为 "0 kbps")
-down string
      配置下载速率,支持单位:kbps、mbps,默认不限制 (默认值为 "0 kbps")
-driver string
      进度存储驱动,支持取值:file(默认)、sqlite3 。上传过程中会记录日志文件,通过日志文件可以看到上传具体的状态以及上传后的访问地址。
-f string
      迁移根目录,默认为 /tmp
-h    帮助
-p string
      store key 前缀,默认为空
-parallel int
      同时上传文件数量,默认值为 40。您可以根据运行服务器的带宽和性能,设置并发上传文件数量,提高迁移速度。
-region string
      veImageX 存储区域: cn-north-1:(默认)上传的国内服务,ap-singapore-1:上传的新加坡服务
-replace
      若目标存储服务中存在相同的存储 key,则先删除原有资源,再上传该数据至目标服务。

Step 5:查看迁移日志

在迁移进行中,运行目录下会产生两个日志文件,您可通过查看日志数据,获取迁移文件结果和本工具的运行状态。

  • processfile.txt 用来记录任务进度的文件,该文件中保存着当前任务已经上传过的文件的清单。可以使用参数 -data-file 来指定其他文件。

  • upload.log 用来记录工具的运行信息,如果本工具运行异常请在提交工单时附带日志文件。

常见问题

迁移工具中途异常退出怎么办?

工具支持上传时断点续传,若文件上传中途退出或者因为服务故障停止,您可重新运行工具,此时未上传完的文件将进行续传。

同一个 storekey 支持上传多个不同的文件吗?

不支持,系统将会报 upload failed, no file uploaded 错误。

资源被覆盖上传后在控制台中/用户看到的是旧的文件怎么办?

由于 veImageX 存在 CDN 资源缓存,因此如果您需要立即看到覆盖后的最新资源,请参考刷新缓存将最新资源缓存至 CDN 节点。