万级实例规模下的数据库可用性保障实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 万级实例规模下的 数据库可用性保障实践 左兴宇 | vivo 互联网 存储运维总监 全球敏捷运维峰会 广州站
2. 标题 目录 1 vivo 数据库运维简介 2 可用性管理方法论和管理实践 3 业务规模&可用性管理挑战 4 平台能力对可用性的影响 5 可用性和成本的冲突和调和 全球敏捷运维峰会 广州站
3. 一、vivo 数据库运维简介 ➢ 存储产品 存储产品数:8 2018 ✓ ✓ ✓ ✓ MySQL Redis MongoDB ES 2019 +TiDB 2020 +磁盘KV +对象/文件存储 全球敏捷运维峰会 广州站 2021 +MySQL-Proxy
4. 一、vivo 数据库运维简介 ➢ 数据库运维规模增长趋势 20 70000 17.7 60000 15.8 62000+ 50000 40000 48000+ 20000 10000 10 8.2 30000 30000+ 4.2 2700+ 11000+ 15 5 3700+ 3400+ 3100+ 0 0 2018年 2019年 物理机数量 2020年 实例数量 实例密度 全球敏捷运维峰会 广州站 2021年
5. 一、vivo 数据库运维简介 ➢ 业务 & SLA等级 核心 用户 业务 体验 营收 贡献 公司 24个核心业务:99.99% 其他 重要 业务 业务 113个重要业务:99.95% 227个一般业务:99% 19个其他业务:无 一般 口碑 业务 运维发起 业务评估 全球敏捷运维峰会 广州站 会签确认
6. 一、vivo 数据库运维简介 ➢ SLA & 计算 i..n:表示项目对应的集群数量 核心业务 •全年可用性损失时长 99.99% 数据库SLA 重要业务 99.99% Wi:项目对应的每个集群的权重 <53分钟 •全年可用性损失时长 <53分钟 i..n:表示集群内故障实例的数量 D :表示故障实例在集群内部的权重 T :指该实例的故障时间,单位是分钟 一般业务 99.95% •全年可用性损失时长 <262分钟 全球敏捷运维峰会 广州站
7. 二、可用性管理方法论和管理实践 ➢ 可用性管理四部曲 故障发现 故障复盘 100%发现故障,提高发现 效率,尽可能准确定位故障 点,收集故障上下游信息 01 吃一堑长一智,客观的分析 02 04 故障原因,挖掘故障背后的 根因,以点带面,长效解决 一类问题 03 故障预防 故障治愈 在可能出现故障的地方提 先止损,再调查;固定场景 前做工作,消灭故障在未 系统自愈,丰富自愈场景; 发生之时 建设故障预案 全球敏捷运维峰会 广州站
8. 二、可用性管理方法论和管理实践 • 故障预防 防止架构天然缺陷 架构 优化 是否都有高可用,是否都能自 动更新拓扑,是否都能重连 重 试,典型的无高可用,主 备同 物理机同交换机,通过 巡检主 动发现,触发报警。 应该如此,但可能不如此 功能 可靠 现在正常,将来不正常 随着数据量的持续增长,现在 没有问题不代表未来没有问题, 比较典型的主键ID越界,通过 巡检主动发现,提前处理。 数据 增长 故障预防 理论上应该具备的能力,实际 使用可能存在异常,环境的变 化,代码的变化都可能引起不 符预期。通过场景演练去发现。 全球敏捷运维峰会 广州站 数据库上下游问题 业务配置和数据库配置不匹配, 配置的变化和数据库没有联动, 典型的DB链接数超配。通过巡 检主动发现,提前处理。 上下游
9. 二、可用性管理方法论和管理实践 • 故障预防 工作依赖人,但人是极大的不确定因素 <20%人工 80%人工 100%人工 手工操作 脚本操作 全球敏捷运维峰会 广州站 平台化 建标准 建流程 自助化
10. 二、可用性管理方法论和管理实践 • 故障发现 平台可用性 99.98% | 告警延时 58.25s | 故障召回率 100% | 报警准确率 100% 全球敏捷运维峰会 广州站
11. 二、可用性管理方法论和管理实践 • 故障修复 自愈场景 • 主机故障主备自动切换 • MySQL链接数打满,自动扩容 • Redis连接数自动扩容 • ES进程自动拉起 • MySQL BINLOG自动清理 • Redis进程自动拉起 故障预案 • MySQL故障预案—13个场景 • Redis故障预案—9个场景 • ES故障预案—2个场景 • 磁盘KV故障预案—3个场景 • 对象存储故障预案—2个场景 全球敏捷运维峰会 广州站
12. 二、可用性管理方法论和管理实践 • 故障复盘 故障 复盘 问题简述 影响和损失 改进措施 责任方 故障详细过程 责任主体 回溯故障过程详 ➢ 问题根因 ➢ 改进措施 原因分析 ➢ 故障背景 ➢ 故障等级 ➢ 问题影响 ➢ 时间相关 细时间点以及动 ➢ 重发问题 ➢ 任务描述 ➢ 问题原因 ➢ 用户相关 作 ➢ 故障原因 ➢ 解决方案 ➢ 简要过程 ➢ 经济损失 ➢ 责任人 ➢ 可用性计算 ➢ 落地时间 ➢ 主被动发现 全球敏捷运维峰会 广州站
13. 三、业务规模&可用性管理挑战 ➢ 起步阶段 平台能力5%,借助开源工具管理数据库 2018年 11000实例 5人 元数据10%,各类信息靠excel表格+人脑记忆,混乱且不准确 数据库标准/规范5%,无体系化标准约束,依靠DBA经验 业务架构能力弱,业务数据高度耦合 闭源高可用方案 全球敏捷运维峰会 广州站 数据库平台第一行代码 梳理元数据信息 表格管理 编写数据库标准, 建立部分流程 业务共库整治专项 高可用架构改造 引入MHA
14. 三、业务规模&可用性管理挑战 ➢ 建设阶段 平台能力60%,覆盖MySQL,Redis基本运维流程 2019年 30000实例 6人 元数据80%,平台管理流程,平台落地部分标准 数据库标准/规范70%,标准会签,业务宣导 数据库架构优化;数据库产品能力弱 机房迁移 全球敏捷运维峰会 广州站 数据库变更系统,数据 库查询系统,巡检系统 数据库挂载信息整理 编写数据库标准, 统一数据库版本 Redis cluster方案推广 数据库产品设计 机房质量和资源不足 迁移也是件好事
15. 三、业务规模&可用性管理挑战 ➢ 稳固阶段 平台能力80%,上下游依赖更重 2020年 48000实例 8人 元数据90%,存在多属主资源场景 Redis非标准架构集群改造 线下环境管理没纳入DBA管理,可用性保障差 机房迁移 全球敏捷运维峰会 广州站 打通数据流程上下游, 多系统联动 资源归属整治专项 推动业务适配,不能整 改的输出故障预案 DBA接手线下4000+实 例,纳入平台管理 元数据校准 架构优化
16. 三、业务规模&可用性管理挑战 ➢ 拓展阶段 平台能力85%,引入更多自研数据库产品 2021年 60000实例 10人 云下元数据99%,云上资源信息不全,覆盖不全 TiDB平台能力建设 KV存储平台能力建设 云资源全部打通 数据流向平台内闭环 大规模对象存储集群的可用性保障,KV存储大规模使用 操作流程标准化 高可用能力升级 MySQLProxy线上推广 故障预案 全球敏捷运维峰会 广州站 平台能力建设 /运维 加强故障事前排查,通 过预案提高修复效率
17. 三、业务规模&可用性管理挑战 ➢ 总结 管理 心得 辨证看待 历史包袱 机房迁移动作在客观条件上看既然无法避免,那么就应该发挥它的最 大价值,被动大事件去驱动元数据梳理/架构改造,也是件好事。 统一标准 架构标准,部署标准,版本收敛,强化开发规范,把需要特殊处理的 场景减少,不确定因素也能相应减少。 平台能力 的重要性 平台建立在标准化之后,平台又能反向推动标准和流程的落地,平台 能力是大规模运维的基石。 全球敏捷运维峰会 广州站
18. 四、平台能力对可用性的影响 效率 提升 大规模运维交付能力的基石 大规模数据库资源的运维建立在各种标准之上,人是建立标准的主体,系统是保障 标准被执行落地的主体。平台能够大幅缩短运维工作的交付时间,并保证交付质量 的稳定。 大规模运维可用性保障的基石 可用性 提升 平台是标准化落地的载体,也是可用性保障的终极解决方案,在提高日常工作交付 效率的情况下,通过自助的方式把标准工作外包出去,减轻DBA的工作负担,对可 用性的保障起到关键作用。 全球敏捷运维峰会 广州站
19. 四、平台能力对可用性的影响 存储产品 • MySQL、TIDB,MySQL-Proxy • MongoDB,ES • Redis,Redis-Proxy,磁盘KV • 对象/文件存储 业务场景 • 数据变更,数据查询,变更回滚,操作审计, 数据归档,导入导出 • 预算申请,服务申请,服务扩/缩容,服务回 收,配置变更,套餐升降配,服务监控 • 主机监控,实例监控,业务监控,Proxy监控 全球敏捷运维峰会 广州站
20. 四、平台能力对可用性的影响 巡检大盘 故障跟踪 慢查询 巡检上报 报警汇总 全球敏捷运维峰会 广州站
21. 五、可用性和成本的冲突和调和 B机房 A机房 A机房 1 Master 2 灾备 Slave Master Slave 2 Slave Slave 3 Slave 全球敏捷运维峰会 广州站 1
22. 五、可用性和成本的冲突和调和 可用性优先阶段 精细化运营阶段 在此阶段,以可用性最优解为目标,标 准部署,提升可用性管理能力,收集数 据库运营数据 可用性管理趋于稳定,对线上业务形态 更多的掌控,可以根据实际业务场景, 做差异化的调整,释放非必要的资源。 核心业务: 核心业务: • 一主多从 • 一主多从 • 独立物理机部署 VS • 延迟从库 • 跨机房灾备;计算资源独立部署 其他业务: • 一主两从 • 混合部署 • 独立部署+混合部署 • 延迟从库 • 部分跨机房灾备;计算资源混部 其他业务: • 一主一从 • 混合部署 • 计算资源混部 全球敏捷运维峰会 广州站
23. THANK YOU! 全球敏捷运维峰会 广州站 更多vivo数据库相关知识 敬请关注“vivo互联网技术”公众号

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-16 21:33
浙ICP备14020137号-1 $Map of visitor$