简介
kodoimportv3 是一款将数据迁移至七牛云对象存储 Kodo 的代理工具。您可以将 kodoimportv3 部署到您的机房服务器或云上服务器,它将执行您在 Kodo 对象存储控制台上创建的半托管数据迁移任务,帮助您轻松将存储数据迁移至 Kodo。
支持特性
- 支持丰富的数据源,支持数据迁移服务的所有数据源类型(URL 列表、S3 协议源站、LocalFS)
- 主从结构,支持分布式模式,部署简单,支持大规模数据高效迁移
- 支持带宽限速
- 支持定时迁移
硬件要求
项目 | 大小 | 说明 |
---|---|---|
内存 | Scheduler:2GB Worker:Executor 数(默认 20)* 32MB |
无 |
硬盘 | 4GB ~ 10GB | 迁移后的结果信息会被存储,成功被迁移的文件存储信息较少,失败的存储信息较多;可以按失败文件数量进行评估 |
部署方式
安装
下载相应版本代理工具并解压
支持平台 | 下载链接 |
---|---|
Windows amd64 | 下载 |
Linux amd64 | 下载 |
MacOS amd64 | 下载 |
说明
Scheduler
Scheduler 为迁移的调度器,负责将任务中的子任务下发给 Worker 进行执行。所有的任务信息均存储在 Scheduler 端。
Worker
任务执行体,会从 Scheduler 获取任务并执行,同一台设备上仅配置一个 Worker 即可。如果此台设备上也需要配置 Scheduler,可将 Mode 设置为 agent
,以同时构建 Scheduler 和 Worker。其他设备的 Worker 也可以接入此 Scheduler 中。
Scheduler 或 Worker 的工作目录可在 kodoimportv3 启动时配置(参考 启动参数说明)。目录中存放着日志、任务相关信息等,默认为:${Home}/.kodoimportv3
工作目录结构如下:
├── log // 日志
│ ├── access // worker 请求日志
│ │ ├── access-2024031214.log
│ │ └── access-2024031410.log
│ └── system // Scheduler 和 Worker 运行日志
│ ├── system-2024031214.log
│ └── system-2024031410.log
└── server
├── qiniu-bash // ID 为 qiniu-bash 的任务的工作目录
│ └── cache // 任务的缓存信息
启动
单机模式
# 解压后找到 kodoimportv3 二进制执行程序,执行以下命令:
./kodoimportv3 --agent-name "agent-name" \
--migration-access-key "ak" \
--migration-secret-key "sk" \
--migration-address "api.qiniuapi.com" # 迁移服务地址,可不配置
多机模式
# 解压后找到 kodoimportv3 二进制执行程序
# Scheduler 的主机 IP 为:192.168.1.5
# Worker 的主机 IP 为:192.168.1.6
# 启动 Scheduler
kodoimportv3 --agent-name "agent-name"
--mode "agent:scheduler" \
--scheduler-address "0.0.0.0:8001" \
--migration-access-key "ak" \
--migration-secret-key "sk" \
--migration-address "api.qiniuapi.com" # 迁移服务地址,可不配置
# 启动 Worker
kodoimportv3 --mode "worker" --scheduler-address "192.168.1.5:8001"
kodoimportv3 启动参数
参数 | 类型 | 必填 | 描述 | 默认值 |
---|---|---|---|---|
agent-name | string | 是 | agent 名称,此名称需要和迁移服务中声明的一致 | 无 |
mode | string | 否 | 运行模式 - agent :同时部署启动 Scheduler 和 Worker - agent:scheduler :仅启动 Scheduler- worker :仅启动 Worker |
agent |
migration-address | string | 否 | 迁移服务地址,可不配置 | api.qiniuapi.com |
migration-access-key | string | 是 | - 使用迁移服务时所用的用户 AccessKey - 建议使用 IAM 子用户的 AccessKey,并确保其已授权存储数据迁移服务的 Agent 运行功能 |
无 |
migration-secret-key | string | 是 | - 使用迁移服务时所用的用户 SecretKey - 建议使用 IAM 子用户的 SecretKey,并确保其已授权存储数据迁移服务的 Agent 运行功能 |
无 |
workspace | string | 否 | - kodoimportv3 的工作目录,存储 kodoimportv3 的日志等信息 - kodoimportv3 中启动了 Scheduer 还会包含任务相关的信息 |
${Home}/.kodoimportv3 |
web-address | string | 否 | - Web 监听的地址,样式: 监听Host:监听端口 - 用于获取 kodoimportv3 运行状态信息,只有在 debug 时才需要,仅支持 IPv4 |
无 |
scheduler-address | string | 否 | - Scheduler 和 Worker 远程调用的地址
- 单机模式此配置无效 |
127.0.0.1:8001 |
log-level | string | 否 | 日志文件存储的日志等级;可配值有:debug 、info 、warning 和 error |
info |
log-max-age | int | 否 | 日志文件保留天数 | 7 |
executor-count | int | 否 | Worker 的并发执行数量;当 Worker 启动时未指定此参数,Worker 会使用 Scheduler 配置的值 | 20 |
注意事项
- 在迁移过程中,需要保证对迁移源文件有访问权限、对迁移目标空间有写入权限
- 本地源:可列举待迁移文件夹、可以读取待迁移文件内容
- 云存储源:可列举空间、可下载空间文件
- 在迁移过程中需保证迁移程序所运行的设备处于活跃状态,避免待机、睡眠、休眠等不活跃状态
- 本地文件迁移不支持软、硬链接文件,这些文件会被直接跳过
文档反馈
(如有产品使用问题,请 提交工单)