文档介绍:DBFree
阿里数据库自动化运维平台
陈旭 @ Alibaba
2021-07
个人简介
2021年参加淘宝
负责淘宝广告、CRM、商品、社区等业务线
经历阿里去IOE,推动广告、商品等业务从O到M的转变
目前关注数据库自动化DBFree
阿里数据库自动化运维平台
陈旭 @ Alibaba
2021-07
个人简介
2021年参加淘宝
负责淘宝广告、CRM、商品、社区等业务线
经历阿里去IOE,推动广告、商品等业务从O到M的转变
目前关注数据库自动化运维
微博:***@Orz_dba
*
.
目录
背景
现状
扩容流程
如何实现自动化
平台架构
平台功能
*
.
背景
Oracle -> MySQL运维方式的转变
软硬件本钱降低
机器实例数目增加,带来复杂的运维本钱
*
.
现状
MySQL效劳器:线上 2500+,线下 500+
常见的实例运维
业务新工程新环境初始化
主机硬件问题、过保下线、机房迁移
业务大促〔1111、1212〕扩容支持
活动后,低水位机器收缩
– 合并,多实例共用,实例迁移
– 重启,减少分配的实例资源
*
.
业务新工程新环境初始化
日常环境,创立DB+配置TDDL/DNS
发布前:压力评估,环境〔监控、告警、实例等〕初始化
线上环境,创立DB+配置TDDL/DNS
*
.
主机硬件问题、过保下线、机房迁移
场景一〔替换备库实例〕
主机实例资源申请
备份恢复新备库,无延时
替换备库TDDL
下线问题过保机器
场景二〔替换主库实例〕
主机实例资源申请
备份恢复新备库,无延时
老的主备实例切换
替换TDDL
下线问题过保机器
下线
M
S
S’
下线
M
S
S’
read_only = on
read_only = off
主备实例切换
M’
S
*
.
业务大促〔1111、1212〕扩容支持
场景一〔读多写少〕
添加备库,TDDL均衡读流量
主机实例资源申请
备份恢复备库
TDDL配置添加新备库
场景二〔读多写多〕
方案1:主备硬件升级,实例迁移
主机实例资源申请
备份恢复新主备库
DB+TDDL切换到新主备库
老主备库下线
M
S’
S
M
S
S’
M’
read_only = on
read_only = off
下线
*
.
方案2:实例分库拆分迁移
主机实例资源申请
备份恢复新拆分DB的主备库
新拆分DB+TDDL切换到新主备库
老拆分DB下线
M
S
DB1
DB2
DB3
DB4
S’
M’
DB1
DB2
DB3
DB4
read_only = on
read_only = off
read_only = off
*
.
扩容流程
问题:
一次扩容需要至少3个DBA进展至少5个环节的沟通,低效。
扩容变更繁琐,人工操作易出错,耗时耗力。
产品DBA
运维DBA1
资源申请
产品DBA
资源分配、环境部署
运维DBA2
扩容备份恢复申请
产品DBA
完成验收
运维DBA1
1、线上扩容
2、下线老实例
资源回收
完成
*
.
如何实现自动化
环境标准统一
监控、根底运维脚本等
运维变更抽象模块化
资源上下线
备份恢复
数据迁移
HA
外部系统接口
流程标准化、模块组合自动化
*
.
平台架构
前台WEB
任务、流程的配置、创立
后台调度运行系统
任务控制中心调度agent
任务运行agent
底层功能模块
负责原子性功能执行〔puppet灰度发布〕
*
.
任务控制中心调度agent
前台Web页面
任务生成和查询展现
任务DB
读取任务,生成任务方案
调度执行任务,顺序执行
对应的执行方案
效劳器
任务运行agent
外部系统接口
发送任务执行
自动运行
手动运行
定时运行
*
.
平台主要功能
资源自动分配部署
实例主机自动上下线
实例DB拆分、扩容和合并、收缩
水位分析
*
.
谢谢观看
献给大家几句我很喜欢的话
天将降大任于斯人也
必先劳其筋骨
坚持的人才会成功
爱好学****的人才有梦想
没有谁一开场就拥有一切
努力就有未来
谢谢
*
.