You need to enable JavaScript to run this app.
导航
概述
最近更新时间:2024.08.02 16:13:12首次发布时间:2023.08.14 18:05:40

TOS Import 是用于迁移数据的命令行工具。您可以将该工具部署在本地服务器或云服务器,然后使用该工具将本地文件、URL 列表文件或支持 S3 协议的对象存储文件迁移至 TOS。

更新日志

版本号

版本类型

发布日期

更新说明

1.0.7

最新版本

2024-08-02

新增 secret_algorithmsecret_key 参数,支持对上传的对象进行服务端加密,详细介绍,请参见 task 配置文件

1.0.6

历史版本

2024-07-25

优化对象前缀列表迁移功能。

1.0.5

历史版本

2024-04-18

  • 新增 src_object_listsrc_object_prefix_list 参数,支持使用对象列表文件和对象前缀列表文件迁移对象存储文件,详细介绍,请参见 task-s3.template.yaml
  • 新增 task_fast_list 参数,支持在创建迁移任务时设置是否需要列举对象的元数据,详细介绍,请参见 task-s3.template.yaml

1.0.3

历史版本

2023-02-03

  • 本地数据库 sqlite 采用 wal 模式,提升本地访问并发度。
  • 在 task 配置文件中删除 dest_trn 参数,精简创建任务的 YAML 模板。
  • 在 task 配置文件中新增 failed_num_to_abort 参数,详细介绍,请参见 task 配置文件

1.0.2

历史版本

2023-12-01

URL 列表数据源支持正则重命名。

1.0.1

历史版本

2023-09-05

部署迁移任务时,新增 failed_num_to_abort 参数。该参数用于设置连续对象迁移失败值,在连续的 X+1 个对象迁移失败后,暂停迁移任务。详细介绍,请参见部署迁移任务

1.0.0

历史版本

2023-08-14

首次发布。

支持的功能

功能类别

功能说明

数据源

支持丰富的数据源,包括本地文件、URL 文件和支持 S3 协议的对象存储文件等,并可根据需要扩展。

  • 本地文件:支持迁移将 NAS、HDFS、OSS、CPFS 等存储服务挂载到本地后的本地目录文件。
  • 支持 S3 协议的对象存储:支持迁移阿里云 OSS、腾讯云 COS、华为云 OBS、七牛云 Kodo、金山云 KS3、AWS S3 等对象存储的文件。

迁移模式

支持单机模式和分布式模式部署 TOS Import 工具。单机模式部署操作简单,分布式模式适合大规模数据迁移。

迁移方式

  • 支持增量迁移,即完成数据迁移后,可以按照固定的时间间隔迁移增量的数据。仅本地文件和支持 S3 协议的对象存储文件支持增量迁移,URL 文件不支持增量迁移。
  • 支持断点续传,即因服务器故障等原因导致任务暂停时,您可以重新运行迁移任务,对未上传完成的任务进行续传。
  • 支持配置异常中断,即当对象连续迁移失败的数量达到设定的值后,TOS Import 会自动中断迁移任务。

迁移指定文件

  • 支持迁移指定时间以后的文件。
  • 支持迁移特定前缀的文件。
  • 支持迁移特定后缀的文件。

文件名称

  • 支持使用正则替换进行文件重命名。
  • 支持迁移后自动添加文件前缀。
  • 支持设置同名文件覆盖策略。

迁移进度

  • 支持查询迁移任务进度。
  • 支持迁移后生成报表和文件列表。

其他

  • 支持流量控制。
  • 支持迁移数据时进行 CRC64 校验。
  • 支持并行数据下载和上传。
  • 支持服务端加密上传的对象,有效保证数据的安全。

工具架构

图片

TOS Import 由 server 和 worker 节点组成,说明如下:

  • server:负责响应命令、管理任务、列举与分发功能的核心节点。
    根据您在命令行输入的命令,对迁移任务进行管理;执行迁移任务命令时,server 会从本地或其它云存储中获得待迁移列表,按对象大小与数量拆分成子任务,并分发给 worker 上的 executor 进程。
  • worker:承载负责具体迁移的 executor 进程的节点。
    • 单机模式部署时,本地节点既是 server 节点,也是 worker 节点。
    • 分布式模式部署时,根据 server.yamlwork_nodes 参数来设置某个节点作为 server 节点,某些节点作为 worker 节点。

    说明

    所有节点都要求具备访问待迁移数据与 TOS 的通信能力与访问权限。

下载地址

TOS Import 支持部署在 Linux x86 或 macOS 系统上,暂不支持部署在 Windows 系统上。

操作系统

下载地址

Linux x86

tos-import.linux_x86.tar.gz

macOS

tos-import.mac_x86.tar.gz

目录结构

Linux 和 macOS 操作系统下的 tos-import 工具包目录结构类似,以下以 tos-import.linux_x86.tar.gz 为例,展示解压 tos-import 工具包后的目录结构。

./tos-import
├── conf
│   └── server.yaml                                   # Server 部署配置文件
├── logs
│   ├── deploy.log                                    # 部署日志
│   ├── executor.log -> ./executor.log.2022-05-01_00  # Worker日志
│   ├── executor.log.2022-05-01_00
│   ├── server.log -> ./server.log.2022-05-01_00      # Server日志
│   └── server.log.2022-05-01_00
├── tos-import_pid                                    # Server 常驻进程的 Pid
├── result                                            # 迁移报表生成目录
│   ├── Task001_1651050748_report                     # 任务 Task001 的迁移报表
│   └── Task001_1651050748_success_list               # 任务 Task001 的迁移列表
├── task
│   ├── task-local.template.yaml                      # 本地文件系统迁移配置模板
│   ├── task-s3.template.yaml                         # S3 协议迁移配置模板
│   └── task-url.template.yaml                        # URL 列表迁移配置模板
└── tos-import                                        # 迁移工具可执行文件