1. 验收交付总览

MongoDB生产平台的验收交付,不是“装完数据库、能连上就结束”的简单动作,而是一次把设计承诺转化为可运行、可度量、可追责的生产资产的系统性交接。它的核心目标可以概括为三句话:确认平台按设计建成、确认平台在真实负载与故障场景下可控、确认运维团队具备独立接管能力。如果验收只覆盖“功能可用”,而遗漏性能、高可用、备份恢复、监控告警和文档交接,那么交付的其实是一个随时可能爆雷的“半成品”。

因此,本章先建立一张全局地图:验收交付到底验什么、谁来验、按什么顺序推进、每个阶段产出什么证据。后续章节会逐项展开副本集、分片集群、安全、备份、监控、压测、割接等专项验收,但所有专项都必须挂在这张总图上,才不会出现“测了很多,却漏了关键项”的情况。

一、验收交付的目标:从“建成”到“可接管”

生产平台验收的目标不是单一维度的,而是分层递进的。第一层是建设符合性:实际部署的拓扑、版本、参数、账号权限、网络策略是否与设计文档一致。例如设计为三节点副本集,实际是否三个节点都加入了同一副本集,优先级与投票配置是否符合预期。第二层是运行可靠性:在主节点故障、网络分区、磁盘写满、慢查询冲击等场景下,平台能否按预期完成选举、降级、告警和恢复。第三层是运维可接管性:监控指标是否齐全、告警是否可达、备份是否可恢复、应急预案是否经过演练、交接文档是否足以让未参与建设的运维人员独立操作。

这三层目标对应不同的验收证据。建设符合性靠配置比对和拓扑核查;运行可靠性靠故障注入和压测;运维可接管性靠演练记录、监控看板和文档评审。缺少任何一层,验收结论都不应轻易判定为“通过”。

二、验收范围:把边界划清楚

验收范围必须在启动会上明确,否则后期极易出现“这个算不算交付内容”的争议。通常建议把范围划分为四类:

  • 数据库层:MongoDB 版本与补丁、副本集/分片集群拓扑、副本集成员状态、分片均衡、读写关注配置、索引与集合设计、连接池参数。
  • 基础设施层:服务器规格、磁盘类型与容量、文件系统挂载参数、内核参数(如透明大页、NUMA、ulimit)、时钟同步、网络时延与带宽。
  • 平台服务层:监控采集(如 Prometheus + mongodb_exporter)、日志归集、备份系统、告警通道、CMDB 登记、堡垒机与审计接入。
  • 交付物层:架构图、参数清单、账号权限表、备份恢复手册、应急预案、验收报告、遗留问题清单。

范围之外的内容也要写清楚,例如应用侧连接串改造、业务数据迁移、机房综合布线等,通常不属于数据库平台验收的直接范围,但需要在接口上确认责任方。

三、角色分工:谁验、谁签、谁接管

验收交付涉及多方协作,角色不清会导致“都以为对方在测”。典型角色包括:

  • 建设方(实施/集成):负责按设计完成部署、提供配置清单、配合故障演练、修复验收中发现的问题。
  • 验收方(甲方架构/运维):负责制定验收标准、执行或见证测试、核对证据、判定是否通过。
  • DBA/数据库运维:负责副本集与分片状态核查、备份恢复验证、性能基线确认,是最终接管的核心角色。
  • 应用/业务方:确认连接方式、读写关注、超时重试策略与业务侧可接受的降级行为。
  • 安全与合规:确认认证、授权、加密、审计日志与等保/内控要求是否满足。

建议在验收启动时形成一张 RACI 表,明确每项验收活动的执行者、审批者、被咨询者和知会者。尤其是“通过/不通过”的判定权,必须落到具体角色,避免验收结论被模糊处理。

四、整体流程:从启动到接管的六个阶段

整体流程可以按六个阶段推进:验收启动 → 资料与配置核查 → 功能与拓扑验证 → 性能与高可用测试 → 备份恢复与应急演练 → 问题整改与签字接管。每个阶段都有明确的入口条件、核心动作和出口证据。

验收启动阶段要冻结验收范围、标准、时间窗和参与人,并确认测试环境与生产环境的一致性。资料与配置核查阶段重点比对设计文档与实际配置,输出差异清单。功能与拓扑验证阶段确认副本集成员状态、分片均衡、账号权限和连接可用性。性能与高可用测试阶段通过压测和故障注入,观察 QPS、延迟、选举时间、告警触发是否符合预期。备份恢复与应急演练阶段验证备份可恢复、恢复时间满足 RTO、恢复点满足 RPO。最后是问题整改与签字接管,所有遗留问题必须明确责任人和关闭时间,未关闭的高风险问题不得签字通过。

MongoDB 生产平台验收交付总览 目标分层 · 范围边界 · 角色分工 · 六阶段流程 验收目标(三层) ① 建设符合性:拓扑/版本/参数一致 ② 运行可靠性:故障可控、告警可达 ③ 运维可接管:文档/演练/监控齐全 验收范围(四类) 数据库层:副本集/分片/索引/参数 基础设施层:磁盘/内核/时钟/网络 平台服务层:监控/备份/告警/审计 角色分工(RACI) 建设方:部署、配合、整改 验收方:定标准、见证、判定 DBA/安全/应用:专项确认与接管 六阶段推进流程 1 验收启动 范围/标准/时间窗 2 资料核查 配置比对/差异清单 3 功能拓扑 成员/分片/权限 4 性能高可用 压测/故障注入 5 备份演练 RTO/RPO 验证 6 整改接管 签字/遗留问题 阶段出口证据 验收方案与标准 · 配置差异清单 · 拓扑核查记录 · 压测与故障演练报告 · 备份恢复记录 · 遗留问题清单与签字页 通过判定原则 高风险问题未关闭 → 不通过;中低风险问题可带条件通过,但必须明确责任人与关闭时间,并纳入接管跟踪。

五、验收标准与判定原则

验收标准应当在启动阶段就量化,而不是等到测试时再“看着办”。例如副本集主节点故障切换时间,可以约定在正常负载下不超过 30 秒;备份恢复的 RTO 不超过 2 小时、RPO 不超过 15 分钟;监控采集覆盖率要求所有核心实例的 CPU、内存、连接数、复制延迟、oplog 窗口等指标均可见。标准一旦确定,测试方法和判定依据也随之确定。

判定原则上建议采用“高风险一票否决、中低风险限期整改”的方式。高风险问题包括:数据丢失风险、无法恢复的备份、单点故障未消除、认证授权缺失、核心监控缺失。这类问题未关闭前不应签字通过。中低风险问题可以带条件通过,但必须写入遗留问题清单,明确责任人和关闭时间,并在接管后持续跟踪。

验收不是“找茬”,而是把建设方、运维方、业务方对“平台是否可用”的认知拉到同一张证据表上。证据越具体,后期扯皮越少。

六、交付物清单与接管条件

验收通过后,交付物应形成一套可检索、可追溯的资料包。建议至少包含:最终架构图与拓扑说明、MongoDB 版本与参数清单、副本集/分片配置说明、账号与权限矩阵、备份策略与恢复手册、监控告警配置说明、应急预案与演练记录、验收测试报告、遗留问题清单。接管条件则包括:运维人员完成交接培训、监控告警已接入值班体系、备份任务已纳入日常巡检、应急联系人已更新。