mysql HA 负载均衡

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

DRBD+heartbeat + LVS + keepalived+ mysql



硬件:master *2 :安装drbd, heartbeat,mysql

          slave*3 : 安装mysql

          keep alived主机*2: 安装LVS, keepalived(real server就是slave)

          应用主机*3


IP: 两台master 有一个HA VIP1

     两台keepalived主机有一个lvs VIP2


写操作:

应用主机(AS)->VIP1->dev/drbd(两台master的drbd会实时同步)


mysql复制操作:

0) start slave

1) 3台slave会起一个I/O线程向vip1发送请求,请求master发送binlog;

2)master会起一个I/O线程发送binlog给三台slave;

3)1步骤中的I/O线程会把改变的语句保存到中继log -relay log;

4)slave会再开一个I/O读取进程,读取relay log。


读操作:

三台AS->VIP2->根据lVS算法(RR或WRR)->某一台slave

也就是读写是分离master与slave的


一些关键的配置:

drbd: /etc/drbd.conf, 需要配置drbd device名,例如/dev/drbd0, node1和node2的本地磁盘名,

            node1和node2的IP: 7788


keepalived:配置vrrp, virtual serverIP配置DR模式,real servers添加slave的IP, 还有一个集成了监控slave I/O健康的脚本 check.slave.pl


LVS: ipvsadm -L 可以看到多个real server的负载状态, 路由算法RR用于各个real server性能差不多的情况,你一个我一个,WRR加权算法,性能强的做的多。


heartbeat相关命令:

# crm_resource --list                       ###查看所有资源,有一组资源
Resource Group: group_1
    IPaddr_192_168_21_1 (ocf::heartbeat:IPaddr)
    httpd_2     (lsb:httpd)


主备切换:

[root@orasrv1 crm]# crm_standby -v true
[root@orasrv1 crm]# curl http://192.168.21.1/
orasrv2.xlk.com

###也可以通过指定节点的方式进行切换
###假定节点2为主,则可以在节点1上执行一下命令将其切换为备
# crm_standby -v true -U orasrv2.xlk.com 


rhcs切换:

 C、切换某个服务

    可以通过如下方式将一个应用服务从一个节点切换到另一个节点:

    clusvcadm -r <ServiceName> -m <NodeName>

    例如:要将节点web1的服务切换到web2上。

    [root@web1 /]# clusvcadm -r WebServer -m web2.shbztech.com






    本文转自UVN2015  51CTO博客,原文链接:http://blog.51cto.com/10851095/1946554,如需转载请自行联系原作者



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
负载均衡 算法 关系型数据库
mysql的弹性扩展和负载均衡
mysql的弹性扩展和负载均衡
267 0
|
6月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
7月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
负载均衡 算法 关系型数据库
MySQL集群如何实现负载均衡?
【8月更文挑战第16天】MySQL集群如何实现负载均衡?
860 6
|
负载均衡 关系型数据库 MySQL
MySQL Router读写节点支持负载均衡策略
`routing_strategy`是MySQL Router配置选项,用于设定数据路由策略。可选值包括:`first-available`, `next-available`, `round-robin`和`round-robin-with-fallback`,分别对应不同的负载均衡和故障转移策略。更多详情参考:&lt;https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-conf-options.html#option_mysqlrouter_routing_strategy&gt;。
259 1
|
消息中间件 关系型数据库 MySQL
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
994 0
|
负载均衡 Linux 调度
使用keepalived(HA)+LVS实现高可用负载均衡群集,调度器的双机热备
使用keepalived(HA)+LVS实现高可用负载均衡群集,调度器的双机热备
265 1
使用keepalived(HA)+LVS实现高可用负载均衡群集,调度器的双机热备
|
6月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
189 21
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
274 2
|
11月前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
679 3

推荐镜像

更多