TiDB Data Migration 集群软硬件环境需求
TiDB Data Migration (DM) 支持主流的 Linux 操作系统,具体版本要求见下表:
| Linux 操作系统 | 版本 |
|---|---|
| Red Hat Enterprise Linux 8.4 及以上的 8.x 版本 | 8.4 及以上 |
| Rocky Linux 9.1 及以上的版本 | 9.1 及以上 |
| 麒麟欧拉版 V10 SP1/SP2/SP3 | V10 |
| 统信操作系统 (UOS) V20 | V20 |
| openEuler 22.03 LTS SP1/SP3 | 22.03及以上 |
DM 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器平台或者 ARM 架构的硬件服务器平台。
服务器建议配置
DM 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器平台。对于开发,测试,及生产环境的服务器硬件配置(不包含操作系统本身的占用)有以下要求和建议:
开发及测试环境
| 组件 | CPU | 内存 | 本地存储 | 网络 | 实例数量(最低要求) |
|---|---|---|---|---|---|
| DM-master | 4 核+ | 8 GB+ | SAS,200 GB+ | 千兆网卡 | 1 |
| DM-worker | 8 核+ | 16 GB+ | SAS,200 GB+(大于迁移数据的大小) | 千兆网卡 | 上游 MySQL 实例的数量 |
生产环境
| 组件 | CPU | 内存 | 硬盘类型 | 网络 | 实例数量(最低要求) |
|---|---|---|---|---|---|
| DM-master | 4 核+ | 8 GB+ | SAS,200 GB+ | 千兆网卡 | 3 |
| DM-worker | 16 核+ | 32 GB+ | SSD,200 GB+(大于迁移数据的大小) | 万兆网卡 | 大于上游 MySQL 实例的数量 |
| 监控 | 8 核+ | 16 GB+ | SAS,200 GB+ | 千兆网卡 | 1 |
下游数据库所需空间
目标 TiKV 集群必须有足够空间接收新导入的数据。除了标准硬件配置以外,目标 TiKV 集群的总存储空间必须大于 数据源大小 × 副本数量 × 2。例如集群默认使用 3 副本,那么总存储空间需为数据源大小的 6 倍以上。公式中的 2 倍可能难以理解,其依据是以下因素的估算空间占用:
- 索引会占据额外的空间
- RocksDB 的空间放大效应
可以用下面 SQL 语句统计信息表的 DATA_LENGTH 字段估算数据量:
-- 统计所有 schema 大小
SELECT
TABLE_SCHEMA,
FORMAT_BYTES(SUM(DATA_LENGTH)) AS 'Data Size',
FORMAT_BYTES(SUM(INDEX_LENGTH)) 'Index Size'
FROM
information_schema.tables
GROUP BY
TABLE_SCHEMA;
-- 统计最大的 5 个单表
SELECT
TABLE_NAME,
TABLE_SCHEMA,
FORMAT_BYTES(SUM(data_length)) AS 'Data Size',
FORMAT_BYTES(SUM(index_length)) AS 'Index Size',
FORMAT_BYTES(SUM(data_length+index_length)) AS 'Total Size'
FROM
information_schema.tables
GROUP BY
TABLE_NAME,
TABLE_SCHEMA
ORDER BY
SUM(DATA_LENGTH+INDEX_LENGTH) DESC
LIMIT
5;