4、目标端环境准备:目标数据库选型(同构/异构)、硬件资源规划、网络带宽与延迟评估、安全组与防火墙策略
目标端环境的准备是数据库迁移工程中承上启下的关键环节。选型错误、资源不足或网络配置不当,都会导致迁移失败或性能严重劣化。本节从数据库选型、硬件规划、网络评估和安全策略四个维度展开,确保目标端具备承载迁移流量的能力。
4.1 目标数据库选型:同构与异构的决策矩阵
选型决策首先需要明确迁移路径属于同构迁移还是异构迁移。同构迁移(如 MySQL 8.0 → MySQL 8.4)通常兼容性高、工具链成熟;异构迁移(如 Oracle → PostgreSQL)则需要处理数据类型映射、SQL 方言差异和存储过程重写。
| 对比维度 | 同构迁移 | 异构迁移 |
|---|---|---|
| 数据格式兼容性 | 几乎完全兼容,无需转换 | 需逐字段映射,存在精度损失风险 |
| SQL 方言差异 | 无差异或极小差异 | 需重写存储过程、触发器、函数 |
| 迁移工具成熟度 | 原生工具(如 mysqldump、pg_dump)即可 | 需专用工具(如 AWS DMS、Oracle GoldenGate) |
| 迁移周期 | 短,通常数天至一周 | 长,通常数周至数月 |
| 回滚复杂度 | 低,可快速切回 | 高,需保留源端并行运行 |
| 典型场景 | 版本升级、机房搬迁 | 去 O、云原生改造、技术栈统一 |
选型建议: 如果业务对停机时间敏感且团队对源数据库运维经验丰富,优先选择同构迁移以降低风险。异构迁移建议先做 POC(概念验证),重点验证数据类型映射和性能基线。
以下 SVG 展示了同构与异构迁移的选型决策流程,帮助团队快速定位适合的迁移路径。
4.2 硬件资源规划:CPU、内存、磁盘与 IOPS
目标端硬件规划不能简单照搬源端配置。迁移后的查询模式、并发压力和存储增长趋势都会发生变化。建议按照以下公式进行基线估算:
- CPU 核数:源端峰值 CPU 使用率 × 1.5(预留 50% 弹性),异构迁移建议再增加 20% 用于数据转换开销。
- 内存:源端活跃数据集大小 × 1.2 + 连接数 × 每个连接缓冲区大小。OLTP 场景建议至少 64 GB 起步。
- 磁盘容量:源端数据量 × 1.5(含索引、日志、临时文件)+ 迁移期间增量日志空间(建议额外 20%)。
- IOPS:源端峰值 IOPS × 1.3,SSD 云盘建议选择 IOPS 上限不低于 5000 的规格。
| 资源类型 | OLTP 场景(建议) | OLAP/数仓场景(建议) | 备注 |
|---|---|---|---|
| CPU | 16~32 核 | 32~64 核 | 异构迁移需额外 20% |
| 内存 | 64~128 GB | 128~512 GB | 列存引擎可适当降低 |
| 磁盘(SSD) | 源端 1.5 倍 | 源端 2~3 倍 | 含临时排序空间 |
| IOPS | ≥ 5000 | ≥ 10000 | 随机读写密集型需更高 |
| 网络带宽 | ≥ 1 Gbps | ≥ 10 Gbps | 迁移期间建议独享 |
常见陷阱: 不要只关注磁盘总容量而忽略 IOPS 上限。许多云厂商的“高容量”磁盘 IOPS 较低,迁移期间大量写入会导致 IO 排队,拖慢全量导出和增量同步速度。建议在迁移前使用
fio 或 sysbench 对目标端磁盘做压测,确认 IOPS 达标。
4.3 网络带宽与延迟评估
网络是数据传输的管道,带宽不足或延迟过高会直接拉长迁移窗口。评估网络时需关注三个核心指标:吞吐量、往返延迟(RTT)和丢包率。
带宽需求计算公式:
所需带宽 (Mbps) = (全量数据量 (GB) × 8 × 1024) / (期望迁移时间 (秒) × 网络利用率系数)
示例:
全量数据 500 GB,期望 4 小时内完成,网络利用率 70%
所需带宽 = (500 × 8 × 1024) / (4 × 3600 × 0.7) ≈ 406 Mbps
建议选择 1 Gbps 链路,预留余量应对增量同步。
延迟评估标准:
- 同城双活:RTT < 1 ms,适合实时增量同步。
- 异地容灾:RTT < 20 ms,可接受异步复制。
- 跨洲迁移:RTT > 100 ms,必须使用压缩传输和断点续传工具。
以下 SVG 展示了网络评估的关键指标与阈值判断逻辑。
实测建议: 使用
iperf3 -c <目标IP> -t 30 -P 4 测试并行 TCP 吞吐量;使用 ping -c 100 <目标IP> 获取平均 RTT 和丢包率。如果带宽不足,可考虑启用压缩传输(如 pg_dump -Z 9 或 mysqldump --compress)或分片并行导出。
4.4 安全组与防火墙策略
安全组和防火墙是目标端的第一道防线。配置过严会导致迁移工具无法连接;配置过松则引入安全风险。以下是最小化开放原则下的端口清单:
| 协议 | 端口 | 用途 | 源地址限制 |
|---|---|---|---|
| TCP | 3306 | MySQL/MariaDB 连接 | 仅迁移工具 IP 和跳板机 |
| TCP | 5432 | PostgreSQL 连接 | 仅迁移工具 IP 和跳板机 |
| TCP | 1521 | Oracle 连接 | 仅迁移工具 IP 和跳板机 |
| TCP | 22 | SSH 管理通道 | 仅运维堡垒机 IP |
| TCP | 443 | 云 API / 管理面 | 仅内部管理网段 |
| TCP | 9090 | 迁移监控面板(可选) | 仅监控系统 IP |
防火墙策略配置步骤:
- 创建安全组:按环境(生产/预发/测试)分别创建,避免混用。
- 添加入站规则:仅允许迁移工具所在机器的弹性 IP 或 CIDR 访问数据库端口。
- 添加出站规则:目标端通常无需主动访问源端,出站规则可默认拒绝,仅放通 NTP、DNS 和监控上报。
- 配置网络 ACL:在 VPC 子网级别增加第二层访问控制,防止安全组误放通。
- 验证连通性:使用
telnet <目标IP> <端口>或nc -zv <目标IP> <端口>从迁移工具侧测试。
安全避坑: 不要将数据库端口(如 3306)对 0.0.0.0/0 开放。迁移完成后应立即回收临时放通的入站规则。如果使用云厂商的 DMS 服务,需额外放通 DMS 的 IP 段(通常可在云厂商文档中查到)。建议开启 VPC 流日志,监控迁移期间的异常访问。
4.5 环境就绪检查清单
在启动迁移前,建议逐项确认以下检查点,避免中途发现环境问题导致回退:
- 数据库选型确认:目标版本已通过兼容性测试,字符集、排序规则与源端一致。
- 硬件资源确认:CPU、内存、磁盘 IOPS 均满足基线要求,预留 20% 余量。
- 网络确认:带宽 ≥ 需求值,RTT 在可接受范围内,丢包率 < 0.1%。
- 安全组确认:入站规则仅放通迁移工具 IP,出站规则按需放通。
- 监控与告警配置:目标端已接入监控系统,CPU、内存、磁盘、网络指标告警阈值已设置。
- 备份策略确认:目标端已开启自动备份,RPO 和 RTO 符合业务要求。
交付物: 完成上述检查后,输出《目标端环境就绪报告》,包含选型决策依据、硬件配置清单、网络测试截图、安全组规则快照。该报告作为迁移启动的准入凭证,由架构师和运维负责人双签确认。