CERN 数据库管理及自动化升级方案
核心背景
CERN 运营大型强子对撞机 (LHC),其全球 LHC 计算网格 (WLCG) 每年产生约 200 PB 数据,主要依赖 Oracle 数据库 (105 个实例,5 PB 数据) 和按需数据库 (DBOD) 进行管理。DBOD 包含约 1200 个数据库服务器实例,其中 MySQL (约 600)、PostgreSQL (约 400) 和 InfluxDB (约 200) 是主要 DBMS,支持 CERN 授权认证、实验应用和文件传输服务 (约 150 TB 数据)。
MySQL 部署现状
- 部署类型:单实例、灾难恢复复制、扩展读取复制 (ProxySQL + 主从)、MySQL InnoDB 集群。
- 存储配置:每个实例配置两个 NetApp NFS 卷以实现高可用性。
- 高可用方案:
- ProxySQL:通过异步复制实现自动故障转移,但存在单点故障 (SPOF)、维护复杂、无法部署多个代理等局限性。
- MySQL InnoDB 集群:通过 MySQL Shell 部署,无 SPOF,支持无缝读取扩展,文档完善,但需仲裁损失和群集重启。
自动化升级方案
- Web 自动化:MySQL Shell 提供备份恢复、升级检查、配置管理、克隆、监控和升级等功能。
- Ops 自动化:持续验证备份实例、自动复制切换、闲置实例检测、密码哈希破解等。
- 升级检查器:集成 MySQL Shell 扩展逻辑,通过 CERNBox 分享报告,支持按需运行和自主升级。
服务演进计划
- MySQL InnoDB 集群推广:停止 ProxySQL,集成业务连续性计划,简化复制管理。
- utf8mb4 集成:通过 MySQL Shell 自动升级实例,支持 utf8mb4 字符集。
- utf8mb3 转换:自动化字符集转换,避免 VARCHAR 列长度限制错误 (16383 字符)。
- MySQL 克隆插件评估:实现完全自动化 InnoDB 集群生命周期管理。
关键数据与结论
- DBMS 架构:DBOD 包含 1200+ 实例,MySQL 占比最高 (600+ 实例)。
- 高可用性改进:从 ProxySQL 转向 InnoDB 集群可消除 SPOF,提升可靠性。
- 自动化升级优势:MySQL Shell 可显著降低维护成本,提高升级效率。
- 字符集迁移:utf8mb4 集成需注意 VARCHAR 长度限制,建议在克隆实例中测试。