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

配置文件说明

最近更新时间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.yamltask-url.template.yamltask-s3.template.yaml。该配置文件用于在创建迁移任务时配置 Access Key ID、Secret Access Key 等信息,配置一次性载入,不支持热加载。

server 配置文件

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 管理节点为工具部署所在节点。若有扩缩容需要,可直接修改 work_nodes 参数。

说明

仅分布式模式需要配置 work_nodes 参数。

ssh_user

使用 SSH 连接子节点的用户名称。

说明

仅分布式模式需要配置 ssh_user 参数。

ssh_password

使用 SSH 连接子节点的密码。

说明

仅分布式模式需要配置 ssh_password 参数。

ssh_keyfile

子节点的公钥文件路径。密码和公钥二选一即可,同时设置密码和公钥,优先使用公钥。

说明

仅分布式模式需要配置 ssh_keyfile 参数。

ssh_port

使用 SSH 连接子节点的端口。默认为 22

说明

仅分布式模式需要配置 ssh_port 参数。

mgr_portserver 管理端口。tos-import 命令发送至该端口,默认为 19931
server_portserver 服务端口。该端口用于 server 与 worker 之间通信,默认为 19932
log_level日志级别。该参数用于调整日志的打印级别。设置后,仅会打印高于该级别的日志。可选 TraceDebugInfoWarnErrorFatal,默认为 Info

process_num_per_task

迁移进程总数。所有 work 节点上的 executor 进程总数,默认等于 work 节点数量,至少为 1

concur_per_process进程并发数。每个 executor 进程内的并发数,默认为 32

failed_num_to_abort

在连续的 X+1 个对象迁移失败后,暂停迁移任务,默认为 0。例如设置 failed_num_to_abort2,则连续 3 个对象迁移失败后,TOS Import 会自动暂停迁移任务。 取值说明如下:

  • failed_num_to_abort0时,只要有对象迁移失败,TOS Import 就会暂停迁移任务。
  • failed_num_to_abort 为负数时,迁移任务不会因为对象连续迁移失败而中断,将会一直迁移直至结束。

说明

failed_num_to_abort 参数用于设置连续迁移失败的对象数量,不包含断断续续迁移失败对象,且迁移过程中存在并发,暂停迁移任务后,迁移报表展示的失败对象数量可能大于 failed_num_to_abort 参数值。

task 配置文件

说明

一个迁移任务对应一次配置文件的载入,迁移过程中不支持变更已创建任务的配置,如有需要,您需要创建新的迁移任务。

task-local.template.yaml

当数据源为本地文件时,需要设置 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

迁移源端类型,支持如下类型:

  • local:本地文件。

  • url:URL 列表文件。

  • s3:支持 S3 协议对象存储文件。

本场景取值 local

src_prefix

需要迁移的源端文件路径前缀,用于迁移指定前缀的文件。文件路径末尾有 /,说明迁移该目录下所有文件;没有 /,则说明迁移以该前缀命名的文件或目录。例如:

  • /root/dir1/ :表示迁移 /root/dir1/ 目录下所有文件。

  • /root/dir1/abc: 表示迁移 /root/dir1/ 目录下前缀为 abc 的文件或目录。

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

是否开启增量迁移,取值如下:

  • true:开启。

  • false:不开启。

默认为 false

incremental_interval

增量迁移时间间隔,单位为秒。

说明

仅开启增量迁移后,incremental_interval 参数才有效。

incremental_times

增量迁移次数。

说明

仅开启增量迁移后,incremental_times 参数才有效。

import_since迁移时间点,即迁移该时间点之后的数据,格式为 yyyy-MM- dd HH:mm:ss,例如 2006-01-02 15:04:05。

over_write_policy

目标端存在同名文件时,文件覆盖策略,支持如下类型:

  • force:强制覆盖目标端文件。

  • none:不覆盖目标端文件。

  • mtime:源端文件修改时间晚于目标端文件修改时间时,覆盖目标端文件。

默认为 force

task_bandwidth

迁移流控总带宽速率。单位:KB/s,默认为 102400KB/s。

说明

  • 迁移流控总带宽速率单位为 KB/s,即如果您需要设置迁移流控总带宽速率为 1GB/s,则 task\_bandwidth 参数需要设置为 1048576。

  • 单个节点的带宽流控按照 executor 进程数量均分后不满 1024KB/s 时,按 1024KB/s 生效。

task_file_mps迁移任务的总文件数流控。单位:个文件/s,默认为 1000个文件/s。

verify_data_crc64

是否开启迁移任务文件 CRC64 校验,取值如下:

  • true:开启。

  • false:不开启。

默认为 true

task-url.template.yaml

当数据源为 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

迁移源端类型,支持如下类型:

  • local:本地文件。

  • url:URL 列表文件。

  • s3:支持 S3 协议对象存储文件。

本场景取值 url

src_http_proxy源端代理服务器 IP。

url_list

URL 列表文件路径,例如 /root/url.list

说明

  • url.list 文件中每一行对应一个文件,格式为<文件路径> <文件名称>,例如 https://source.com/xxx/yyy/file.pdf yyy/file.pdf

  • 默认将 URL 路径(域名 / 后的部分)作为对象的名称。如果您想重命名文件,可通过 URL + 空格 + 对象文件名的方式。例如您可以通过 http://xxx.xxx.xxx/xxx/a.jpg b.jpg,将 a.jpg 文件重命名为 b.jpg

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 进行扮演。例如:
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文件名称替换字符串,对源端的对象名正则匹配的所有字符替换成该字符串。

over_write_policy

目标端存在同名文件时,文件覆盖策略,支持如下类型:

  • force:强制覆盖目标端文件。

  • none:不覆盖目标端文件。

  • mtime:源端文件修改时间晚于目标端文件修改时间时,覆盖目标端文件。

默认为 force

task_bandwidth

迁移流控总带宽速率。单位:KB/s,默认为 102400KB/s 。

说明

  • 迁移流控总带宽速率单位为 KB/s,即如果您需要设置迁移流控总带宽速率为 1GB/s,则 task\_bandwidth 参数需要设置为 1048576。

  • 单个节点的带宽流控按照 executor 进程数量均分后不满 1024KB/s 时,按 1024KB/s 生效。

task_file_mps迁移任务的总文件数流控。单位:个文件/s,默认为 1000个文件/s。

verify_data_crc64

是否开启迁移任务文件 Crc64 校验,取值如下:

  • true:开启。

  • false:不开启。

默认为 true

task-s3.template.yaml

当数据源为支持 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

迁移源端类型,支持如下类型:

  • local:本地文件。

  • url:URL 列表文件。

  • s3:支持 S3 协议对象存储文件。

本场景取值 s3

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

需要迁移的源端文件路径前缀,用于迁移指定前缀的文件。文件路径末尾有 /,说明迁移该目录下所有文件;没有 /,则说明迁移以该前缀命名的文件或目录。例如:

  • /root/dir1/ :表示迁移 /root/dir1/ 目录下所有文件。

  • /root/dir1/abc: 表示迁移 /root/dir1/ 目录下前缀为 abc 的文件或目录。

默认为空,表示迁移所有文件。

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

是否开启增量迁移,取值如下:

  • true:开启。

  • false:不开启。

默认为 false

incremental_interval

增量迁移时间间隔,单位为秒。

说明

仅开启增量迁移后, incremental_interval 参数才有效。

incremental_times

增量迁移次数。

说明

仅开启增量迁移后,incremental_times 参数才有效。

import_since迁移时间点,即迁移该时间点之后的数据,格式为 yyyy-MM- dd HH:mm:ss,例如 2006-01-02 15:04:05。

over_write_policy

目标端存在同名文件时,文件覆盖策略,支持如下类型:

  • force:强制覆盖目标端文件。

  • none:不覆盖目标端文件。

  • mtime:源端文件修改时间晚于目标端文件修改时间时,覆盖目标端文件。

默认为 force

task_bandwidth

迁移流控总带宽速率。单位:KB/s,默认为 102400 KB/s。

说明

  • 迁移流控总带宽速率单位为 KB/s,即如果您需要设置迁移流控总带宽速率为 1GB/s,则 task\_bandwidth 参数需要设置为 1048576。

  • 单个节点的带宽流控按照 executor 进程数量均分后不满 1024KB/s 时,按 1024KB/s 生效。

task_file_mps迁移任务的总文件数流控。单位:个文件/s,默认为 1000个文件/s。

verify_data_crc64

是否开启迁移任务文件 CRC64 校验,取值如下:

  • true:开启。

  • false:不开启。

默认为 true