DM 集群软硬件环境需求

DM 支持主流的 Linux 操作系统,具体版本要求见下表:

Linux 操作系统版本
Red Hat Enterprise Linux7.3 及以上
CentOS7.3 及以上
Oracle Enterprise Linux7.3 及以上
Ubuntu LTS16.04 及以上

DM 可以在 Intel 架构服务器环境及主流虚拟化环境中部署和运行。

服务器建议配置

DM 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器平台。对于开发,测试,及生产环境的服务器硬件配置(不包含操作系统本身的占用)有以下要求和建议:

开发及测试环境

组件CPU内存本地存储网络实例数量(最低要求)
DM-master4 核+8 GB+SAS,200 GB+千兆网卡1
DM-worker8 核+16 GB+SAS,200 GB+(大于迁移数据的大小)千兆网卡上游 MySQL 实例的数量

生产环境

组件CPU内存硬盘类型网络实例数量(最低要求)
DM-master4 核+8 GB+SAS,200 GB+千兆网卡3
DM-worker16 核+32 GB+SSD,200 GB+(大于迁移数据的大小)万兆网卡大于上游 MySQL 实例的数量
监控8 核+16 GB+SAS,200 GB+千兆网卡1

下游数据库所需空间

目标 TiKV 集群必须有足够空间接收新导入的数据。除了标准硬件配置以外,目标 TiKV 集群的总存储空间必须大于 数据源大小 × 副本数量 × 2。例如集群默认使用 3 副本,那么总存储空间需为数据源大小的 6 倍以上。公式中的 2 倍可能难以理解,其依据是以下因素的估算空间占用:

  • 索引会占据额外的空间
  • RocksDB 的空间放大效应

可以用下面 SQL 语句统计信息表的 data_length 字段估算数据量:

统计所有 schema 大小,单位 MiB,注意修改 ${schema_name}

select table_schema,sum(data_length)/1024/1024 as data_length,sum(index_length)/1024/1024 as index_length,sum(data_length+index_length)/1024/1024 as sum from information_schema.tables where table_schema = "${schema_name}" group by table_schema;

统计最大单表,单位 MiB,注意修改 ${schema_name}

select table_name,table_schema,sum(data_length)/1024/1024 as data_length,sum(index_length)/1024/1024 as index_length,sum(data_length+index_length)/1024/1024 as sum from information_schema.tables where table_schema = "${schema_name}" group by table_name,table_schema order by sum desc limit 5;