工行MySQL数据库上云及云上运维实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. MYSQL数据库上云及云上实践
演讲人:吴辉
2. 1.为什么选择入云
目录
CONTENT
S
2.MYSQL云化之路
3.架构优化
4.入云过程中的问题及几点思考
2021/11/15
3. 1
2021/11/15
为什么选择入云
4. 标准化
随着数据库规模的增长,不同的操作系统版本与
数据库本的组合,不同配置的硬件,
带来了更高的运维成本
资源利用
MYSQL资源消耗较低,使用物理机
与集中存储会造成一定的资源浪费
2021/11/15
2021/11/15
敏捷供应
伴随业务规模增长,主机平台业务快速下移,
新业务使用,
环境供应频率与速度面临挑战
密度提升
服务器的急剧增加给机房、
网络设备、电力资源产生了较大压力
5. 2
2021/11/15
MYSQL云化之路
6. 总体思路
1、建立持久性状态容器运行服务。支撑满足生产要求的MySQL的容器化运行,提升MySQL部署密度。
2、完善MySQL运维支撑体系。实现MySQL数据库高效、灵活、全面的运维能力。
3、建立统一MySQL云服务视图。为用户提供统一、标准化的MySQL云服务,丰富云服务目录。
统一云管平台用户统一视图(UCMP)
MySQL服务管理 统一认证
菜单管理 用户权限管理
MySQL专业运维+服务
MySQL运维平台(DMP)
高可用
集群管理
MySQL自服务平台(SSER)
开发测试MySQL自助 MySQL镜像交付
备份 架构编排 应用MySQL版本交付
网络管理
存储
网络
PAAS基础设施管理
计算资源
2021/11/15
存储资源
CPU核心池化管理 容器调度引擎
容器监控系统 参数注入
交付流水线 镜像管理
集群管理
IaaS插件/接口
服务器
网络管理
监控
PAAS通用持久性状态容器运行服务
存储池化管理
存储管理
网络资源
7. 运维体系建设
MYSQL管理平台
针对mysql数据库提供统一的
管理运维接口
MySQL容器供应体系
实现容器集群内的
MySQL容器全自动调度
控制
2021/11/15
MYSQL高可用体系
建立稳定有保障的
MYSQL数据库高可用体
系
持久化容器集群
提供MYSQL云化部署过程
中容器的IP持久化与存
储持久化
8. 持久化容器集群
功能路径示意
部署路径示意
自主研发CNI与CSI插件:成功解决了MYSQL云化部署过程中容
器的IP持久化与存储持久化问题
agents
VAIM部署节点
PAAS自部署节点
Paas Admin
对接IAAS构建物理PAAS宿主机模版。实现物理机宿主机的自动
化创建并纳入PAAS管理。
sid:paas
webserver
ansible
扩展PAAS平台集群管理能力。实现面向MySQL运行的持久性状
态容器集群的自动化创建。
集群管理
pause-amd64
keepalive SIP
CNI
kubelet
功能
haproxy
软件
docker
etcd
容器集群管理系统 kubernetes
容器引擎 docker
宿主机操作系统 sles12sp5+国产化麒麟
2021/11/15
CSI
apiserver
systemd
controller
manager
scheduler
systemd
kubectl
docker daemon
[pod]
custom controller
systemd
[daemonset]
node exporter
9. 全自动MySQL容器调度
基于kubernetes的调度算法和亲和性策略实现容器集群内的MySQL容器调度控制。
通过在PaaS容器调度接口中分析控制容器集群之间的所属园区的关联关系实现容器集群之间的MySQL容器调度控制。
通过在PaaS容器调度接口实现过程中串行创建同一MySQL集群(set)中的MySQL容器,创建过程中获取和控制容器
的状态信息实现容器集群外的MySQL容器调度控制。
PAAS API
网络资源
集群外调度
IP
集群间调度
K8S 集群1
容器1
MySQL集群1(set)
容器2
容器3
存储
网络
容器4
不同集群
不同宿主机
2021/11/15
IP
K8S 集群2
集群内调度 MySQL集群1(set)
计算
同网段
计算
存储
网络
不同宿主机
计算
存储
网络
计算
存储
网络
10. 高可用架构设计
实施效果:
1、 高可用:本地:RPO=0,RTO< 60s;同城:RPO=0,RTO分钟级(人工决策,快速切换)
实施成本:
1、架构简化,研发难度及成本降低:
由应用+系统级组合方案-->完全系统级方案,无需应用进行数据核对+可疑数据冻结+补偿等
复杂技术实现
2、多份冗余,但通过资源效率提升,资源使用相对现有投入也大幅降低:
A园区
B园区
主库 备库(半同步)
备库(半同步) 备库(半同步)
NBU备份
2021/11/15
11. MySQL管理平台
MySQL管理平台
2021/11/15
12. MySQL管理平台
运维管理区域
业务系统
数据库管理
负载均
衡
件,分布式中间件DBLE、数
据库管理平台,实现组件的联
运维人员
数据操作
◼ 定制研发MySQL客户端组
动
系统管理
◼ 支持节点状态监控告警、安
装部署、自动补数等功能
管理端口
服务端口
分布式数据访问层
节点
Agent
数据操作
动态管理
状态上
报
MySQL管理平台
系统管理
配置中心 高可用管理模块
性能容量监
控模块
安装部署备份恢复
◼ 高可用自动切换,实现
RPO=0,RTO<60s的业务连续
性
◼ 采用开源MySQL和原生态
数据复制技术,一主多备架构,
MySQL
集群
2021/11/15
节点
Agent
动态管理
实现多份数据冗余一致性保障
13. 3
2021/11/15
架构优化
14. 远程备份
1、Mysql本地备份转换为远程备份,本地无需再划backup盘,
减少备份占用本地高性能存储,减少了备份存储剩余碎片空间
。高可用切换无需再考虑备库备份数据存储,解决了多次划取
backup盘造成的存储浪费。
2、Mysql备份数据集中存储到备份集群上,备份集群使用存储
廉价且易于扩容,降低了备份存储和扩容成本。
3、通过备份平台集中管理mysql备份,加强了备份任务的控制
,减少了备份维护成本。
4、通过备份平台使用备份恢复脚本,能够结合全量备份和增量
备份恢复到特定时间点或具体gtid位置,提高了备份恢复操作性
和时效性。
2021/11/15
15. 本地SSD存储
➢ 单台服务器可提供IO能力大幅提升(高达几十万),大幅提高MySQL对业务的服务
支撑能力(同等条件下,TPS约1倍以上的提升同时交易响应时间缩短50%以上)
➢ IO能力足够支撑下,单台服务器可承担更多MySQL部署,提升服务器资源使用效
率
宿主机
2021/11/15
Volume Logical File
Group Volume System
16. 智能DNS
应用服务器集群
DMP仲裁选举
1.解析域名
由DMP系统(MySql数据的高可用管理组件)对纳管的MySql数据库进行数据库服务
状态进行监测,在主库服务状态异常时,进行主从选举及新主库角色赋予。
应用服务器
MySql健康状态判定规则
智能DNS
应用服务器
健康检查路径
2.创建连接
根据DMP仲裁及数据库运行机制,制定MySql数据库的健康检查判定规则。
智能域名探测并响应解析请求
资源域1
资源域3
VIP1
VIP3
智能域名设备配置MySql数据库域名,并对域名配置上述健康检查策略
根据健康检查结果返回域名的解析结果。
MySQL主库
MySQL备库
资源域2
同园区自动切换
同园区自动切换
纯手工阶段
2021/11/15
跨园区手工切换
跨园区人工触发
一键式切换
跨园区自动切换
资源域4
VIP4
VIP2
MySQL备库
MySQL备库
A园区
B园区
DMP
数据库管理平台
17. MYSQL云化成果
降低机房密度,提升
服务器资源利用率
节省上千台服务器,系
统资源利用率提升5倍,
极大的节省了大规模
mysql使用场景下的机
房、设备、网络等资源
MySQL运维效率提升
基于DMP实现
MySQL运维的平台
化,可视化。监控、
高可用、故障应急
等MySQL专业运维
工作都统一在平台
下进行操作和自动
化的实施。
2021/11/15
2021/11/15
快速切换应急
基于一键式切
换平台,可以
快速实现单节
点、单应用、
多应用等不同
切换需求
交付周期大幅缩短
一个变更日可完成百
套数据库环境交付
18. 4
2021/11/15
入云过程中的问
题和几点思考
19. 3
2
1
MYSQL容器内存持续冲高
通过调整内存分配器,优化内存释放
机制,先试点后推广
低效语句击穿分布式架构体系
通过问题分析平台定期获取全量
MYSQL慢SQL日志,持续优化低效语
句。通过PCM平台,自动发现并查杀
低效语句,快速解决生产异常。
容器持久化导致缺乏弹性
通过研究CPU、内存资源的动态扩缩
容应对业务量突增等场景,能够更有
效地提升服务器资源利用率以及满足
特定业务需求。
2021/11/15
20. 2021/11/15
供应前移 平台整合 版本迭代
研究联动配置管理系
统,变更管理系统,
将mysql环境供应能
力直接前移至需求方 将现有运维平台整合
成整体,安排统一入
口和运维平台 结合国产化战略逐步
推广并升级MySQL8.0
版本
标题文本预设
21. THANK YOU!