文档介绍:DBFree
阿里数据库自动化运维平台
陈旭@ Alibaba
2013-07
个人简介
2009年加入淘宝
负责淘宝广告、CRM、商品、社区等业务线
经历阿里去IOE,推动广告、商品等业务从O到M的转变
目前关注数据库自动化运维
微博:***@Orz_dba
2
chfght
目录
背景
现状
扩容流程
如何实现自动化
平台架构
平台功能
3
chfght
背景
Oracle -> MySQL运维方式的转变
软硬件成本降低
机器实例数目增加,带来复杂的运维成本
Oracle
MySQL
服务器
小型机+存储
PC Server
软硬件成本
高
低
管理方式
集中
分布
实例数量
少
多
集群运维复杂度
低
高
4
chfght
现状
MySQL服务器:线上 2500+,线下 500+
常见的实例运维
业务新项目新环境初始化
主机硬件问题、过保下线、机房迁移
业务大促(1111、1212)扩容支持
活动后,低水位机器收缩
–合并,多实例共用,实例迁移
–重启,减少分配的实例资源
5
chfght
业务新项目新环境初始化
日常环境,创建DB+配置TDDL/DNS
发布前:压力评估,环境(监控、告警、实例等)初始化
线上环境,创建DB+配置TDDL/DNS
6
chfght
主机硬件问题、过保下线、机房迁移
场景一(替换备库实例)
主机实例资源申请
备份恢复新备库,无延时
替换备库TDDL
下线问题过保机器
场景二(替换主库实例)
主机实例资源申请
备份恢复新备库,无延时
老的主备实例切换
替换TDDL
下线问题过保机器
下线
M
S
S’
下线
M
S
S’
read_only = on
read_only = off
主备实例切换
M’
S
7
chfght
业务大促(1111、1212)扩容支持
场景一(读多写少)
添加备库,TDDL均衡读流量
主机实例资源申请
备份恢复备库
TDDL配置添加新备库
场景二(读多写多)
方案1:主备硬件升级,实例迁移
主机实例资源申请
备份恢复新主备库
DB+TDDL切换到新主备库
老主备库下线
M
S’
S
M
S
S’
M’
read_only = on
read_only = off
下线
8
chfght
方案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
9
chfght
扩容流程
问题:
一次扩容需要至少3个DBA进行至少5个环节的沟通,低效。
扩容变更繁琐,人工操作易出错,耗时耗力。
产品DBA
运维DBA1
资源申请
产品DBA
资源分配、环境部署
运维DBA2
扩容备份恢复申请
产品DBA
完成验收
运维DBA1
1、线上扩容
2、下线老实例
资源回收
完成
10
chfght