百度 胡志广 百度大规模机器治理

CodeWarrior

2019/07/08 发布于 编程 分类

GIAC2019 

文字内容
1. 百度大规模机器治理 胡志广
2. 讲师简介 胡志广 • 百度基础架构部-资深工程师 • 2013年加入百度(曾就职于京东和2家创业公司) • 负责工作 • 百度HHVM 生态建设,支撑千亿的PHP流量引擎 • 百度机器管理系统建设,负责几十万机器流转和环境治理 • 负责百度服务管理和PAAS 组件生态 • 负责百度PAAS OXP 系统,支撑春晚手百摇一摇容器化托管
3. 讲师简介 胡志广 • 百度基础架构部-资深工程师 • 2013年加入百度(曾就职于京东和2家创业公司) • 负责工作 • 百度HHVM 生态建设,支撑千亿的PHP流量引擎 • 百度机器管理系统建设,负责几十万机器流转和环境治理 • 负责百度服务管理和PAAS 组件生态 • 负责百度PAAS OXP 系统,支撑春晚手百摇一摇容器化托管
4. 演讲大纲 • 什么是机器治理 • 机器治理的现状 • 主要问题 • 整体架构 • 流转治理问题&优化 • 环境治理问题&优化 • 性能优化 • 春晚支持
5. 机器治理?
6. 什么是机器治理 • 物理机器 流转治理 • • 交付:新机交付、机器置换、 机房置换 操作:系统升级、重装、重启 维修:故障发现、故障维修 • • • • Root Agent 托管、保活 系统参数设置、一致性 基础包环境部署 Agent、系统参数、基础包升级 操作系统 机器 机器故障 环境治理 系统环境
7. 百度机器治理的现状 现状 自动化 目标 人工化 稳定 自动化 高效 智能化 智能 机器:几十万 容器:几千万
8. 主要问题 流转:故障发现慢、维修效率低 环境:升级效率低、一致性差 性能和高可用
9. 百度机器治理整体架构
10. 流转治理问题&优化
11. 机器流转-问题和解决思路 问题 解决思路 故障多,准确性低 故障分析引擎,软硬 故障精细化 人工维修效率低 状态机控制故障和维 修的流转 服务和数据的安全性 保证 保障机器冗余度、服 务冗余度和磁盘冗余 度 自动化卡单问题 优化有状态服务迁移、 软硬故障分离优化等
12. 机器流转-故障分析 准确 场景多 Agent TC YQ 准实时 CPU MEMERY DISK SSD …. NJ SZ GZ
13. 机器流转-状态机 理想状态机=>基础 自动化流转 • 整机维修 • 死机维修 • 单盘维修 • 内核升级 自定义操作 • 重启 • 重装 • 内核升级
14. 机器流转-效率&数据安全 流转效率 • • • 数据安全 • • 服务类型: • 有状态=>删除回调,数据第一 • 无状态=>副本冗余 服务安全:机器冗余、服务冗余、磁盘冗余, 通过阈值进行冗余保护 维修时间长=>硬件长,软件快,软硬分离 有状态服务卡单=>人工迁移->自动迁移 初始化失败=>优化策略,寻找痛点
15. 机器流转-效果 • 覆盖几十万机器,机 器在线率在96%-98% • 机器扩容从几天优化 到几十分钟 • 软故障从发现到交付 最快到小时级别 • 年节约几千台机器
16. 环境治理问题&优化
17. 机器环境治理-问题和解决思路 问题 解决思路 环境如何定义? 包、服务和一致化包 环境升级效率低 人工化->任务化
18. 机器环境治理-环境定义 • 环境类型定义 • 初始化(Package) • 服务类型(Service) • 一致化(Configuration) • 框架定义 • 安装:install,uninstall • 服务启停、保活:start、stop、 status • 一致性检查和刷新:check>apply • Meta信息 • • • • 包地址:src 版本:version 机器:ip …
19. 机器环境治理-效率提升 • • • 问题 • 效率低、无锁、一致性 差 • 无自动化、全程人工 策略引擎 • 全预期变更 • 任务解析 • 执行引擎 效果 • 策略全部自动化上线 • Matrix agent 版本统一 • Matrix全量升级实现半 月一次
20. 性能和高可用
21. 性能分析 模式 业务场景 分布式化 横向 纵向 自身优化 扩容 横向 纬度 异步 解释=>编译 CPU密集 IO密集 协程 针对性优化 批量 IO
22. 机器流转-性能 • • 问题 • 机器量增长,单机瓶颈 • 状态机和IO耦合效率低 • 故障数据量大,服务端 汇聚慢 优化 • 状态机分布式化 • 状态机和故障解析IO 解耦 • 故障汇聚本地计算,降 低服务端成本 coroutine coroutine get error machine DB get all machine coroutine
23. 机器环境治理-性能和高可用 • • sdns 问题 • 机器量大 • 并发度高 • 存活率 性能&高可用 • 心跳定时随机数 • 多地域、多冗余 • 数据库集群(一 主两从) • 服务保活 • 自身保活
24. 春晚支持
25. 春晚支持 迁移->下线 新机房建设 机器调拨 全托管:入池->重装->初始化->交付 只提供部署:入池->初始化->交付 PaaS扩容 缩容->下线 机器退场 入池->重装->初始化->交付 单PAAS 日扩容几千台机器,几万实例
26. 谢谢大家 huzhiguang@baidu.com
27. 关注msup微信公众账号 关注高可用架构公众账号 获取更多技术实践干货 改变互联网的构建方式