最近更新时间:2024.04.18 17:04:35
首次发布时间:2023.08.14 18:05:40
TOS Import 工具需要设置 server 和 task 配置文件用于部署迁移环境和创建迁移任务。本文介绍 server 和 Ttask 配置文件的参数。
server.yaml
,用于在部署迁移环境时指定工具工作路径,server 管理端口等,不支持热加载。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 命令发送至该端口,默认为 |
server_port | server 服务端口。该端口用于 server 与 worker 之间通信,默认为 |
log_level | 日志级别。该参数用于调整日志的打印级别。设置后,仅会打印高于该级别的日志。可选 |
process_num_per_task | 迁移进程总数。所有 work 节点上的 executor 进程总数,默认等于 work 节点数量,至少为 |
concur_per_process | 进程并发数。每个 executor 进程内的并发数,默认为 |
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_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 failed_num_to_abort: 0
task-local.template.yaml
文件参数说明如下:
参数 | 是否必选 | 说明 |
---|---|---|
task_name | 是 | 迁移任务名称,且需要保持全局唯一,建议与业务相关,便于查询。 |
src_type | 是 | 迁移源端类型,支持如下类型:
本场景取值 |
src_prefix | 是 | 需要迁移的源端文件路径前缀,用于迁移指定前缀的文件。文件路径末尾有
|
src_suffix | 否 | 需要迁移的源端文件的后缀,用于迁移指定后缀的文件,例如 |
dest_type | 是 | 目的端类型,当前仅支持 |
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_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 校验,取值说明如下:
默认为 |
failed_num_to_abort | 否 | 任务中断阈值,取值说明如下:
说明
|
当数据源为 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_region: "cn-beijing" dest_endpoint: "http://tos-cn-beijing.volces.com" dest_http_proxy: "" dest_bucket: "test" dest_prefix: "" task_fast_list: false rename_regex: "" rename_to: "" task_bandwidth: 102400 task_file_mps: 1000 verify_data_crc64: true failed_num_to_abort: 0
task-url.template.yaml
文件参数说明如下:
参数 | 是否必选 | 说明 |
---|---|---|
task_name | 是 | 迁移任务名称,且需要保持全局唯一,建议与业务相关,便于查询。 |
src_type | 是 | 迁移源端类型,支持如下类型:
本场景取值 |
src_http_proxy | 否 | 源端代理服务器 IP。 |
url_list | 是 | URL 列表文件路径,例如 说明
|
dest_type | 是 | 目的端类型,当前仅支持 |
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_region | 是 | 目的端对象存储的 Region。 |
dest_endpoint | 是 | 目的端对象存储的域名。 说明 关于域名的详细介绍,请参见地域和访问域名。 |
dest_http_proxy | 否 | 目的端代理服务器 IP。 |
dest_bucket | 是 | 目的端存储桶的名称。 |
dest_prefix | 否 | 目标对象后缀,用于为迁移后的对象自动添加该前缀。 |
task_fast_list | 否 | 创建迁移任务时是否需要列举对象的元数据,取值如下:
默认值为 说明 仅使用 URL 列表文件和对象列表文件迁移对象时支持设置 |
rename_regex | 否 | 文件名称替换正则表达式,用于对源端的对象名称进行正则匹配,对所有匹配成功的字符进行替换。 |
rename_to | 否 | 文件名称替换字符串,对源端的对象名正则匹配的所有字符替换成该字符串。 |
over_write_policy | 否 | 目标端存在同名文件时,文件覆盖策略,支持如下类型:
默认为 |
task_bandwidth | 否 | 迁移流控总带宽速率。单位:KB/s,默认为 102400KB/s 。 说明
|
task_file_mps | 否 | 迁移任务的总文件数流控。单位:个文件/s,默认为 1000个文件/s。 |
verify_data_crc64 | 否 | 是否开启迁移任务文件 Crc64 校验,取值如下:
默认为 |
failed_num_to_abort | 否 | 任务中断阈值,取值说明如下:
说明
|
当数据源为支持 S3 协议的对象存储文件时,需要设置 task-s3.template.yaml
文件,用于创建迁移任务。
使用 TOS Import 迁移支持 S3 协议的对象存储文件时,支持两种迁移方式,说明如下:
src_prefix
或 src_suffix
参数指定需要迁移的源端文件前缀和后缀。创建迁移任务后,TOS Import 将只迁移指定前缀或后缀的文件。src_object_list
或 src_object_prefix_list
参数指定列表文件路径,创建迁移任务后,TOS Import 将只迁移列表文件中指定的文件。说明
/dir1/sub_dir1/obj1 /new_dir/obj1
,将 /dir1/sub_dir1/obj1
文件重命名为 /new_dir/obj1
。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: "" src_object_list: "" src_object_prefix_list: "" task_fast_list: false dest_type: "tos" dest_ak: "your access key" dest_sk: "your secret key" dest_security_token: "" 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 failed_num_to_abort: 0
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 | 否 | 需要迁移的源端文件的后缀,用于迁移指定后缀的文件,例如 |
src_object_list | 否 | 对象列表文件路径,您可以在该列表文件中填写文件的完整路径,创建任务后,TOS Import将只迁移列表文件中指定的文件。 说明 一个任务只能设置一种迁移方式,不同同时设置对象迁移和对象列表迁移。 |
src_object_prefix_list | 否 | 对象前缀列表文件路径,您可以在该列表中只填写文件的前缀,TOS Import 将只迁移列表文件中指定前缀的文件。 |
task_fast_list | 否 | 创建迁移任务时是否需要列举对象的元数据,取值如下:
默认值为 说明 仅使用 URL 列表文件和对象列表文件迁移对象时支持设置 |
dest_type | 是 | 目的端类型,当前仅支持 |
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_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 校验,取值如下:
默认为 |
failed_num_to_abort | 否 | 任务中断阈值,取值说明如下:
说明
|