Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波7镜像(按产品)、监控容器镜 像、HA管理系统镜像、实例迁移服务镜像、监控服务端镜像 PS:容器虚拟化带来轻量高效,快速部署的同时,docker容器在隔离性方面也存在一些缺陷。例如,在容器内部proc文件系统 中可以看到Host宿主机上的proc信息。这样就导致了一些问题,比如监控信息不准确、限制内存会导致应用程序OOM等。我们 基于lxcfs组件来增强容器的隔离性。 资源隔离 CPU最大超卖3倍 •Scheduler调度:选择最优节点创建容器。 •Agent:用于连接监控模块,上报系统运行状况。 GRPC API Schedule Filter Strategy Docker API Manger 分布式监控 Node Docker Docker Docker Docker Node Docker Docker Docker Docker 集群 报警 • 为了保证容器内的MySQ 这种方式的优势是IO性能最佳,随之而来的缺点是磁盘容量不好估算,有可能在使用了一段时间后出现磁 盘空间不足的问题,这个时候则会启动迁移扩容的流程。 已经在和提供高密度IO分布式存储解决方案厂商接触,计划测试平台接入分布式存储的方案。 磁盘挂载 3301 3302 3303 3304 3305 宿主机磁盘 集群扩容 本地CPU、 memory、disk 是否满足 扩容 原地扩容0 码力 | 32 页 | 7.11 MB | 1 年前3
MySQL高可用 - 多种方案/dev/drbd0 /drbd 挂在文件系统。 f) 启动 dbserver2 的 mysql,/etc/rc.d/init.d/mysqld start。 注意:dbserver1 和 dbserver2 上的 mysql 用户的 uid 和 gid 要一样。不然 切换后会导致 mysql 数据目录的属主不正确而启动失败。 主从切换 主切换成从,需要先卸载文件系统,再执行降级为从的命令: umount /dev/drbd0 drbdadm secondary all 从切换成主,要先执行升级成主的命令然后挂在文件系统: drbdadm primary all 如果不成功 drbdsetup /dev/drbd0 primary -o mount /dev/drbd0 /drbd/ DRBD 脑裂后的处理 当 DRBD 出现脑裂后,会导致 drbd 两边的磁盘不一致,处理方法如下: Heartbeat 的管理 配置好 heartbeat 之后,需要将 mysql 从自启动服务器中去掉,因为主 heartbeat 启动的时候会挂载 drdb 文件系统以及启动 mysql,切换的时候会 将主上的 mysql 停止并卸载文件系统,从上会挂载文件系统,并启动 mysql。 因此需要做如下操作: chkconfig mysqld off chkconfig --add heartbeat chkconfig0 码力 | 31 页 | 874.28 KB | 1 年前3
Kubernetes Operator 实践 - MySQL容器化of complex stateful applications on behalf of a Kubernetes user. operator 是特殊的 controller,用来管理复杂的分布式应用 ü custom resource definition(CRD) ü custom controller Operator 是什么 • Kubernetes 中一切都可视为资源 • Mysql Operator pod … … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph MySQL-Operator 数据存储 分布式存储 • 使用 Ceph RBD,基于产品线 创建 StorageClass • 优点:可靠性高,容器漂移时 数据不变 • 缺点:读写延迟较高 本地存储 • 基于 Host Path Volumes • Operator 的基本原理 • MySQL-Operator 实践 ü 自定义 controller,使用 CRD ü MHA、MGR 高可用的实现 ü 扩缩容、故障处理流程 ü 分布式存储 ceph 展望 • 优化存储 • 增强 MySQL 的安全性 • 完善数据处理工具0 码力 | 42 页 | 4.77 MB | 1 年前3
如何用 MySQL 构建全方位高可用应用版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 为何进行复制? •将数据库从“主服务器”复制到“从服务器” – 数据的冗余副本奠定了高可用性的基础 – 通过在复制场中进行分布式查询来扩展 主 从 Web/应用服务器 写入和读取 读取 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 9 •异步 – MySQL 默认设置 和/或其附属公司。保留所有权利。 MySQL Cluster 数据节点 Master –Slave Replication •内存优化表 – 持久 – 可与基于磁盘的表混合使用 •大量并发 OLTP •通过分布式联接支持分析 •通过并行表扫描支持非索引搜索 •MySQL Cluster 7.4 DBT2 FlexAsych – 2 亿次 NoSQL 读取/秒(32 个节点) 4/16/2017 31 性能 2 亿次 NoSQL 读取/秒 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 •内存优化表 – 持久 – 可与基于磁盘的表混合使用 •大量并发 OLTP •通过分布式联接支持分析 •通过并行表扫描支持非索引搜索 •MySQL Cluster 7.4 DBT2 BM – 250 万条 SQL 语句/秒 4/16/2017 32 MySQL Cluster 70 码力 | 40 页 | 2.19 MB | 1 年前3
TokuDB索引结构TokuMx: ft-index + MongoDB Server层代码 InnoDB TokuDB MyISAM MySQL Server层 MySQL Storage层 Linux 文件系统层 TokuDB特点 • 支持事务(ACID)的MySQL存储引擎 • 插入性能大大高于InnoDB(分形树vs B+树) • 查询性能略低于InnoDB • 在线执行DDL操作(不阻塞写操作)0 码力 | 19 页 | 1.97 MB | 1 年前3
共 5 条
- 1













