代理用于执行控制台上的迁移任务将数据迁移到火山引擎 TOS。部署代理时,您需要先在控制台创建代理,然后在服务器安装并启动 DMS Agent 。当代理和 DMS Agent 连接成功后,代理和代理组的状态会变为正常,系统才会将迁移任务分发给代理,并由其执行具体的迁移操作。本文介绍安装和启动 Agent 的注意事项、操作步骤等内容。
已创建代理组,具体操作,请参见创建代理组。
每台本地服务器仅支持部署一个 DMS Agent。
当前仅支持将 DMS Agent 部署在 Linux x86 环境,暂不支持 Windows 和 macOS 环境。硬件最低要求如下:
推荐使用 CPU 16 核、内存 32GB 以上的机型。
您可以手动下载 DMS Agent,然后将 DMS Agent 上传到服务器,也可以通过 wget 命令下载 DMS Agent ,说明如下:
执行以下命令,下载 DMS Agent。
wget https://m645b3e1bb36e-mrap.mrap.accesspoint.tos-global.volces.com/linux/amd64/dms-agent && chmod a+x dms-agent
执行以下命令,查看 DMS Agent 版本号。
./dms-agent -v
返回如下版本信息,表示 DMS Agent 安装成功。
dms agent version v1.0.0 operating system: linux, arch: amd64
执行以下命令,创建 DMS Agent 配置文件。
./dms-agent config --path <文件路径>
示例命令如下:
./dms-agent config --path /root/touch/agent.yaml
执行以下命令,在配置文件中设置迁移参数,并保存更改。
vim /root/touch/agent.yaml
在配置文件中根据实际情况设置必选参数,参数说明如下:
分类 | 参数 | 是否必选 | 说明 |
---|---|---|---|
基本参数 | agent_id | 是 | 代理 ID。代理创建完成后,DMS 控制台会自动生成代理 ID。关于查看代理 ID 的详细介绍,请参见步骤二:查看代理 ID。 |
api_config.ak | 是 | 创建迁移任务时使用火山引擎账号的 Access Key ID。关于查看 AK、SK 的具体操作,请参见获取当前身份的 Access Key。 | |
api_config.sk | 是 | 创建迁移任务时使用的火山引擎账号的 Secret Access Key。 | |
api_config.sts_token | 否 | 临时访问密钥中的 Security Token。 说明 仅使用临时访问密钥创建迁移任务时,您才需要在配置文件中配置 | |
api_config.region | 是 | 存储迁移服务的迁移任务所属地域。 | |
api_config.endpoint | 是 | 存储迁移服务的访问域名,详细介绍,请参见地域和访问域名。 | |
task.tos_endpoint | 是 | 对象存储的访问域名。如果使用公网迁移数据,则需要填写 TOS 的公网访问域名;如果使用私网迁移数据,则需要填写 TOS 的私网访问域名。详细介绍,请参见地域和访问域名。 | |
日志参数 | log_conf.log_path | 否 | 保存日志文件的路径,默认为安装 DMS Agent 的目录。 |
log_conf.rotation_time | 否 | 日志文件切割的时间间隔,用于定期创建新的日志文件,单位为秒。 | |
log_conf.rotation_size | 否 | 日志文件大小阈值,单位为字节。 | |
log_conf.log_level | 否 | 日志的级别,取值 | |
log_conf.alive_time_hout | 否 | 日志保留时间,默认为 48 小时。 | |
高级配置参数 | pprof.enable | 否 | 是否启用 pprof 功能,取值说明如下:
|
task.symlink_policy | 否 | 软链接文件迁移策略,取值说明如下:
| |
save_check_point_interval_sec | 否 | 异步保存复制进度的间隔时间,单位为秒。 | |
pprof.port | 否 | pprof 功能所监听的端口号。 | |
task.scanner_work_num | 否 | 单任务并发扫描的线程数。 | |
task.part_pool_size | 否 | 单对象分片上传时指定的并发数。 | |
task.work_pool_size | 否 | 单任务上传的并发数上限。 | |
task.multipart_upload_part_size | 否 | 上传大文件时单个分片默认大小,单位为字节。 | |
task.multi_upload_threshold | 否 | 启用分片任务上传对象的阈值,即仅当对象大小大于该值时,才会对对象进行分片上传,单位为字节。 | |
task.max_conns_per_host | 否 | 单任务中访问目标端 host 的最大连接数。 | |
task.max_idle_conns | 否 | 单任务中访问目标端空闲连接池的大小。 | |
task.max_idle_conns_per_host | 否 | 单任务中访问目标端单个域名可以使用的空闲连接池大小。 |
说明
如果迁移并发速度无法满足您的需求,您可以调大 task.work_pool_size
、task.max_conns_per_host
、task.max_idle_conns
、task.max_idle_conns_per_host
参数值,以提高迁移并发速度。调整后,您需要观察 CPU 利用率,确保其处于合理范围内,避免因过度增加并发导致系统资源过载。
执行以下命令,启动 DMS Agent。
./dms-agent start --conf <文件路径>
示例命令如下:
./dms-agent start --conf /root/touch/agent.yaml
启动 DMS Agent 时可指定代理 ID、 Access Key ID、Secret Access Key 等信息。在启动 DMS Agent 时通过命令行指定的参数,其优先级高于配置文件中的配置项。参数说明如下:
参数 | 是否必选 | 说明 |
---|---|---|
conf | 是 | 配置文件路径。 |
region | 否 | 存储迁移服务的迁移任务所属地域。 |
agentId | 否 | 代理 ID。代理创建完成后,DMS 控制台会自动生成代理 ID。关于查看代理 ID 的详细介绍,请参见步骤二:查看代理 ID。 |
ak | 否 | 创建迁移任务时使用的火山引擎账号的 Access Key ID。 |
sk | 否 | 创建迁移任务时使用的火山引擎账号的 Secret Access Key。 |
tosEndpoint | 否 | 对象存储的访问域名。如果使用公网迁移数据,则需要填写 TOS 的公网访问域名;如果使用私网迁移数据,则需要填写 TOS 的私网访问域名。详细介绍,请参见地域和访问域名。 |
apiEndpoint | 否 | 存储迁移服务的访问域名,详细介绍,请参见地域和访问域名。 |
验证 DMS Agent 是否启动成功。
停止 DMS Agent 进程的命令如下:
./dms-agent stop
如果您待迁移的数据存放在多个服务器,且服务器中的数据相同,您可以在各个服务器中部署 DMS Agent。这些 DMS Agent 将并行执行数据读取、写入操作,从而提高数据迁移速度。操作说明如下: