- 项目立项:确认迁移范围、关键服务(DNS、核心路由、数据库、虚拟化平台等)、业务窗口与完成时间。
- 角色与责任:列出项目经理、迁移工程师、网络工程师、存储工程师、应用负责人、安全负责人、应急联系人并形成RACI表。
- 治理会议:每周例会+迁移前日汇报,制定决策权限与升级路径(谁批准回滚、谁批准切换)。
- 设备清单:逐台记录交换机、路由器、防火墙、服务器、存储、UPS、空调机组型号与序列号。
- 服务依赖:从应用到数据库、消息队列、缓存、第三方API绘制调用链并标注优先级。
- IP与VLAN:导出当前IP段、VLAN、子网、静态路由与ACL,保存配置备份(文本与版本控制)。
- 风险识别:列出停机、链路延迟、配置错误、数据不一致、电力故障、人为操作错误、安全事件等风险。
- 风险量化:对每项风险评估发生概率与影响等级(高、中、低),优先处理高概率高影响项。
- 缓解措施:为每项风险制定预防行动(冗余链路、双活设计)、应对动作(回滚步骤、替代路径)与责任人。
- 搭建镜像环境:尽量在沙田或香港任一地点复刻网络拓扑与关键服务,使用虚拟机或容器还原配置。
- 数据脱敏复制:用生产子集或脱敏数据进行功能、性能测试,避免直接在生产数据上演练。
- 脚本化准备:自动化部署脚本、配置模板、验证脚本(ping、curl、数据库校验)提前在演练环境跑通。
- 前置检查(T-72h/T-24h):确认备份完成、硬件健康、电量容量、人员到位与变更单批准。
- 冻结时间(T-2h):应用只读/暂停外部写入并记录最后写入位点(binlog位置、LVM快照ID)。
- 数据同步:若使用增量复制(rsync、DRBD、数据库复制),先做一次全量,再启动增量。
- 切换(T0):停止源写入,做最后增量同步并校验checksum,修改路由/负载均衡/DNS,逐步流量切换并监控。
- 验证(T0+):按照检查清单逐项校验(连通性、服务响应、应用功能、数据一致性)。
- 连接验证:使用ping、traceroute、mtr验证延迟与路由路径;记录正常时延基线与切换后对比。
- 带宽与吞吐测试:用iperf3在关键链路做基线测试,模拟业务峰值并确认链路利用率与丢包率。
- ACL与防火墙:在隔离窗口逐条验证安全策略,使用nmap或内部扫描确认端口开放情况与服务对接正常。
- BGP/路由震荡测试:若涉及公网,进行路由切换演练并观察社区/AS路径传播与收敛时间。
- 快照与备份:迁移前做冷备份与在线快照,记录快照ID,校验备份可恢复性(抽样恢复)。
- 增量同步策略:对关系库使用主从复制或逻辑备份+binlog;对文件用rsync带-hash校验或使用分块校验工具。
- 一致性验证:运行校验脚本检查记录数、关键表校验和(checksum)、应用层日志对账,发现差异立刻暂停切换并回滚。
- 用例清单:列出核心业务流程的测试用例(登录、下单、查询、结算等),自动化脚本(Selenium、JMeter)逐项跑通。
- 性能验收:用JMeter或Locust做并发压力测试,确认响应时间与错误率在SLA范围。
- 第三方联调:确认与第三方API、支付通道的证书、IP白名单、回调地址已切换并测试回调流程。
- 回滚条件:预先定义失败指标(关键接口错误率>5%、主数据库不一致、业务中断>可承受时间等)触发回滚。
- 回滚流程:停止目标机房服务、恢复源端快照/切换路由回源、撤销DNS更改(考虑TTL)、验证业务恢复。
- 快速恢复:若物理故障,立即启动备用机房或云备份,确保关键链路与配置能在30-60分钟内生效(根据SLAs定义)。
- 监控项:CPU、内存、磁盘、网络延迟、应用错误率、队列长度、数据库复制延迟,阈值与报警策略明确定义。
- 日志聚合:启用集中式日志(ELK/EFK)与指标库(Prometheus/Grafana),迁移时保证日志流不中断并能回溯。
- 交接文件:迁移完成后提交配置清单、回退记录、验证报告与SOP,运维与安全团队签署移交确认。
- 网络:ping、traceroute、mtr、iperf3、tcpdump、Wireshark。
- 系统与存储:rsync -avz --delete --checksum、dd+sha256sum、lvm snapshot、storcli/megacli检查硬盘阵列。
- 数据库:mysqldump、mysqlbinlog、pt-table-checksum、pt-table-sync、pg_basebackup。
- 自动化:Ansible/Chef脚本、Terraform(网络+云资源)、CI/CD流水线触发验证。
- 迁移报告:包含事件时间线、变更清单、出现的问题与处理结果、性能对比数据与最终签收。
- 经验复盘:组织技术复盘会,汇总Lessons Learned并更新SOP与测试用例库。
- 持续监控:迁移后30天内增加监控密度与人工巡视,记录异常并优化参数与策略。
问:在香港与沙田之间迁移时,如何保证DNS切换影响最小? 答:先降低TTL(48小时提前改为60秒或120秒),在切换窗口先把一部分流量通过负载均衡或WAF做灰度转移,验证无误后再修改A/AAAA记录或CNAME,切换后持续监控解析情况并在TTL恢复前确认无反复解析现象,若出现问题可回退到旧记录并等待TTL生效。
14.问:如果数据库在切换后出现数据不一致,如何快速定位并恢复? 答:先停止目标写入,使用pt-table-checksum或自定义校验脚本比对关键表checksum与行数,定位差异表;若差异小可用pt-table-sync或基于binlog的重放修复;若差异大则回滚至迁移前快照并重新执行增量同步流程,同时记录起始binlog位置以保证无数据丢失。
15.问:迁移当天突遇电力或网络中断,应如何执行应急流程? 答:立即启动应急会议,由项目经理评估影响并决定暂停或回滚;若影响源机房,切换到备用电源与备用链路,若影响目标机房则中止切换并回滚到源端快照/路由;同时通知业务方并按沟通模板发布状态更新,待现场确认电力与链路恢复后再安排安全窗口重试。