最近更新时间:2023.09.05 16:55:29
首次发布时间:2023.08.14 18:05:40
TOS Import 工具需要设置 server 和 task 配置文件用于部署迁移环境和创建迁移任务。本文介绍 Server 和 Task 配置文件的参数。
server 配置文件:指 server.yaml
,用于在部署迁移环境时指定工具工作路径,server 管理端口等,不支持热加载。
task 配置文件:针对本地文件、URL 文件、支持 S3 协议的对象存储文件提供了三种模板,即 task-local.template.yaml
、task-url.template.yaml
、task-s3.template.yaml
。该配置文件用于在创建迁移任务时配置 Access Key ID、Secret Access Key 等信息,配置一次性载入,不支持热加载。
work_dir: "/root/tos-import/" work_nodes: - "" - "" - "" ssh_user: "" ssh_password: "" ssh_keyfile: "" ssh_port: "22" mgr_port: "19931" server_port: "19932" log_level: "Info" process_num_per_task: 1 concur_per_process: 32 failed_num_to_abort: 0
server.yaml
文件参数说明如下:
参数 | 说明 |
---|---|
work_dir | 工具所在目录的绝对路径。默认为当前路径。分布式部署时,所有worker 节点工作在该路径。 |
work_nodes | 子节点列表。默认第一个节点为 server 管理节点,其他节点为执行任务的子节点。server 管理节点为工具部署所在节点。若有扩缩容需要,可直接修改 说明 仅分布式模式需要配置 |
ssh_user | 使用 SSH 连接子节点的用户名称。 说明 仅分布式模式需要配置 |
ssh_password | 使用 SSH 连接子节点的密码。 说明 仅分布式模式需要配置 |
ssh_keyfile | 子节点的公钥文件路径。密码和公钥二选一即可,同时设置密码和公钥,优先使用公钥。 说明 仅分布式模式需要配置 |
ssh_port | 使用 SSH 连接子节点的端口。默认为 说明 仅分布式模式需要配置 |
mgr_port | server 管理端口。tos-import 命令发送至该端口,默认为 19931 。 |
server_port | server 服务端口。该端口用于 server 与 worker 之间通信,默认为 19932 。 |
log_level | 日志级别。该参数用于调整日志的打印级别。设置后,仅会打印高于该级别的日志。可选 Trace 、Debug 、Info 、Warn 、Error 、Fatal ,默认为 Info 。 |
process_num_per_task | 迁移进程总数。所有 work 节点上的 executor 进程总数,默认等于 work 节点数量,至少为 |
concur_per_process | 进程并发数。每个 executor 进程内的并发数,默认为 32 。 |
failed_num_to_abort | 在连续的 X+1 个对象迁移失败后,暂停迁移任务,默认为 0。例如设置
说明
|
说明
一个迁移任务对应一次配置文件的载入,迁移过程中不支持变更已创建任务的配置,如有需要,您需要创建新的迁移任务。
当数据源为本地文件时,需要设置 task-local.template.yaml
文件,用于创建迁移任务。
task_name: "tesk" src_type: "local" src_prefix: "/root/uploads" src_suffix: "" dest_type: "tos" dest_ak: "your access key" dest_sk: "your secret key" dest_security_token: "" dest_trn: "" dest_region: "cn-beijing" dest_endpoint: "http://tos-cn-beijing.volces.com" dest_http_proxy: "" dest_bucket: "test" dest_prefix: "" rename_regex: "" rename_to: "" is_incremental: false incremental_interval: 3600 incremental_times: 3 import_since: "" over_write_policy: "force" task_bandwidth: 102400 task_file_mps: 1000 verify_data_crc64: true
task-local.template.yaml
文件参数说明如下:
参数 | 是否必选 | 说明 |
---|---|---|
task_name | 是 | 迁移任务名称,且需要保持全局唯一,建议与业务相关,便于查询。 |
src_type | 是 | 迁移源端类型,支持如下类型:
本场景取值 |
src_prefix | 是 | 需要迁移的源端文件路径前缀,用于迁移指定前缀的文件。文件路径末尾有
|
src_suffix | 否 | 需要迁移的源端文件的后缀,用于迁移指定后缀的文件,例如 .doc 表示迁移后缀为 .doc 的文件。默认为空表示迁移所有文件。 |
dest_type | 是 | 目的端类型,当前仅支持 tos 。 |
dest_ak | 是 | 访问目的端对象存储的 AccessKey ID。 说明 查看 AccessKey ID 和 Secret AccessKey 的具体步骤,请参见 Access Key(密钥)管理。 |
dest_sk | 是 | 访问目的端对象存储的 AccessKey Secret。 |
dest_security_token | 否 | 目的端的 Security Token。 说明 使用 Security Token 的详细介绍,请参见使用 STS 临时 AK/SK+Token 访问火山引擎 TOS |
dest_trn | 否 | 目的端的 Role Trn,用于授权给火山迁移服务账号以该角色trn进行扮演。例如trn:iam:cn-beijing:2000000001:example_instance/100 。 |
dest_region | 是 | 目的端对象存储的 Region。 |
dest_endpoint | 是 | 目的端对象存储的域名。 说明 关于域名的详细介绍,请参见地域和访问域名。 |
dest_http_proxy | 否 | 目的端代理服务器 IP。 |
dest_bucket | 是 | 目的端存储桶的名称。 |
dest_prefix | 否 | 目标对象后缀,用于为迁移后的对象自动添加该前缀。 |
rename_regex | 否 | 文件名称替换正则表达式,用于对源端的对象名称进行正则匹配,对所有匹配成功的字符进行替换。 |
rename_to | 否 | 文件名称替换字符串,对源端的对象名称符合正则匹配的所有字符替换成该字符串。 |
is_incremental | 否 | 是否开启增量迁移,取值如下:
默认为 |
incremental_interval | 否 | 增量迁移时间间隔,单位为秒。 说明 仅开启增量迁移后, |
incremental_times | 否 | 增量迁移次数。 说明 仅开启增量迁移后, |
import_since | 否 | 迁移时间点,即迁移该时间点之后的数据,格式为 yyyy-MM- dd HH:mm:ss,例如 2006-01-02 15:04:05。 |
over_write_policy | 否 | 目标端存在同名文件时,文件覆盖策略,支持如下类型:
默认为 |
task_bandwidth | 否 | 迁移流控总带宽速率。单位:KB/s,默认为 102400KB/s。 说明
|
task_file_mps | 否 | 迁移任务的总文件数流控。单位:个文件/s,默认为 1000个文件/s。 |
verify_data_crc64 | 否 | 是否开启迁移任务文件 CRC64 校验,取值如下:
默认为 |
当数据源为 URL 列表文件时,需要设置 task-url.template.yaml
文件,用于创建迁移任务。
task_name: "task" src_type: "url" src_http_proxy: "" url_list: "/root/url.list" dest_type: "tos" dest_ak: "your access key" dest_sk: "your secret key" dest_security_token: "" dest_trn: "" dest_region: "cn-beijing" dest_endpoint: "http://tos-cn-beijing.volces.com" dest_http_proxy: "" dest_bucket: "test" dest_prefix: "" rename_regex: "" rename_to: "" task_bandwidth: 102400 task_file_mps: 1000 verify_data_crc64: true
task-url.template.yaml
文件参数说明如下:
参数 | 是否必选 | 说明 |
---|---|---|
task_name | 是 | 迁移任务名称,且需要保持全局唯一,建议与业务相关,便于查询。 |
src_type | 是 | 迁移源端类型,支持如下类型:
本场景取值 |
src_http_proxy | 否 | 源端代理服务器 IP。 |
url_list | 是 | URL 列表文件路径,例如 说明
|
dest_type | 是 | 目的端类型,当前仅支持 tos 。 |
dest_ak | 是 | 访问目的端对象存储的 AccessKey ID。 说明 查看 AccessKey ID 和 Secret AccessKey 的具体步骤,请参见 Access Key(密钥)管理。 |
dest_sk | 是 | 访问目的端对象存储的 Secret AccessKey 。 |
dest_security_token | 否 | 目的端的 Security Token。 说明 使用 Security Token 的详细介绍,请参见使用 STS 临时 AK/SK+Token 访问火山引擎 TOS |
dest_trn | 否 | 目的端的 Role Trn,用于授权给火山迁移服务账号以该角色 trn 进行扮演。例如: |
dest_region | 是 | 目的端对象存储的 Region。 |
dest_endpoint | 是 | 目的端对象存储的域名。 说明 关于域名的详细介绍,请参见地域和访问域名。 |
dest_http_proxy | 否 | 目的端代理服务器 IP。 |
dest_bucket | 是 | 目的端存储桶的名称。 |
dest_prefix | 否 | 目标对象后缀,用于为迁移后的对象自动添加该前缀。 |
rename_regex | 否 | 文件名称替换正则表达式,用于对源端的对象名称进行正则匹配,对所有匹配成功的字符进行替换。 |
rename_to | 否 | 文件名称替换字符串,对源端的对象名正则匹配的所有字符替换成该字符串。 |
over_write_policy | 否 | 目标端存在同名文件时,文件覆盖策略,支持如下类型:
默认为 |
task_bandwidth | 否 | 迁移流控总带宽速率。单位:KB/s,默认为 102400KB/s 。 说明
|
task_file_mps | 否 | 迁移任务的总文件数流控。单位:个文件/s,默认为 1000个文件/s。 |
verify_data_crc64 | 否 | 是否开启迁移任务文件 Crc64 校验,取值如下:
默认为 |
当数据源为支持 S3 协议的对象存储文件时,需要设置 task-s3.template.yaml
文件,用于创建迁移任务。
task_name: "task" src_type: "s3" src_ak: "your access key" src_sk: "your secret key" src_security_token: "" src_region: "oss-cn-beijing" src_endpoint: "http://oss-cn-beijing.aliyuncs.com" src_http_proxy: "" src_bucket: "aaa" src_prefix: "" src_suffix: "" dest_type: "tos" dest_ak: "your access key" dest_sk: "your secret key" dest_security_token: "" dest_trn: "" dest_region: "cn-beijing" dest_endpoint: "http://tos-cn-beijing.volces.com" dest_http_proxy: "" dest_bucket: "test" dest_prefix: "" rename_regex: "" rename_to: "" is_incremental: false incremental_interval: 3600 incremental_times: 3 import_since: "" over_write_policy: "force" task_bandwidth: 102400 task_file_mps: 1000 verify_data_crc64: true
task-s3.template.yaml
文件参数说明如下:
参数 | 是否必选 | 说明 |
---|---|---|
task_name | 是 | 迁移任务名称,需要保持全局唯一,建议与业务相关,便于查询。 |
src_type | 是 | 迁移源端类型,支持如下类型:
本场景取值 |
src_ak | 是 | 访问源端对象存储的 AccessKey ID。 |
src_sk | 是 | 访问源端对象存储的 Secret AccessKey 。 |
src_security_token | 否 | 源端的 Security Token。 |
src_region | 是 | 源端对象存储所在的 Region。 |
src_endpoint | 是 | 源端对象存储的 S3 访问域名。 |
src_http_proxy | 否 | 源端代理服务器 IP。 |
src_bucket | 是 | 源端存储桶的名称。 |
src_prefix | 否 | 需要迁移的源端文件路径前缀,用于迁移指定前缀的文件。文件路径末尾有
默认为空,表示迁移所有文件。 |
src_suffix | 否 | 需要迁移的源端文件的后缀,用于迁移指定后缀的文件,例如 |
dest_type | 是 | 目的端类型,当前仅支持 tos 。 |
dest_ak | 是 | 访问目的端对象存储的 AccessKey ID。 说明 查看 AccessKey ID 和 Secret AccessKey 的具体步骤,请参见 Access Key(密钥)管理。 |
dest_sk | 是 | 访问目的端对象存储的 AccessKey Secret。 |
dest_security_token | 否 | 目的端的 Security Token。 说明 使用 Security Token 的详细介绍,请参见使用 STS 临时 AK/SK+Token 访问火山引擎 TOS |
dest_trn | 否 | 目的端的 Role Trn,用于授权给火山迁移服务账号以该角色 trn 进行扮演。例如 trn:iam:cn-beijing:2000000001:example_instance/100 。 |
dest_region | 是 | 目的端存储桶 Region。 |
dest_endpoint | 是 | 目的端对象存储的访问域名。 说明 关于域名的详细介绍,请参见地域和访问域名。 |
dest_http_proxy | 否 | 目的端代理服务器 IP。 |
dest_bucket | 是 | 目的端存储桶的名称。 |
dest_prefix | 否 | 目标对象后缀,用于为迁移后的对象自动添加该前缀。 |
rename_regex | 否 | 名称替换正则表达式,用于对源端的对象名称进行正则匹配,对所有匹配成功的字符进行替换。 |
rename_to | 否 | 名称替换字符串,对源端的对象名称正则匹配的所有字符替换成该字符串。 |
is_incremental | 否 | 是否开启增量迁移,取值如下:
默认为 |
incremental_interval | 否 | 增量迁移时间间隔,单位为秒。 说明 仅开启增量迁移后, |
incremental_times | 否 | 增量迁移次数。 说明 仅开启增量迁移后, |
import_since | 否 | 迁移时间点,即迁移该时间点之后的数据,格式为 yyyy-MM- dd HH:mm:ss,例如 2006-01-02 15:04:05。 |
over_write_policy | 否 | 目标端存在同名文件时,文件覆盖策略,支持如下类型:
默认为 |
task_bandwidth | 否 | 迁移流控总带宽速率。单位:KB/s,默认为 102400 KB/s。 说明
|
task_file_mps | 否 | 迁移任务的总文件数流控。单位:个文件/s,默认为 1000个文件/s。 |
verify_data_crc64 | 否 | 是否开启迁移任务文件 CRC64 校验,取值如下:
默认为 |