keepalived

MySQL主主同步

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-01 15:28:02
MySQL 主主同步方案 l MySQL 主主 +Keepalived l MySQL+DRBD+Heartbeat 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用 mysql 主 主 方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加 mysql 入口,增加高可用。 不过多主需要考虑自增长 ID 问题,这个需要特别设置配置文件,比如双主,可以使用奇偶 ,总之,主之间设置自增长 ID 相互不冲突就能完美解决自增长 ID 冲突问题。 主主方案实现思路 1、 两台 mysql 都可读写,互为主备 。 默认只使用一台 masterA 负责数据的写入,另一台 masterB 备用 处于备用状态 ; 2、 masterA 是 masterB 的主库, masterB 又是 masterA 的主库,它们互为主从; 3、 两台主库之间做高可用 , 可以采用 keepalived 等方案 , 使用 VIP 对外提供服务; 4、 所有提供服务的从服务器与 masterB 进行主从同步(双主多从) ; 5、 建议采用高可用策略的时候, masterA 或 masterB 均不因宕机恢复后而抢占 VIP (非抢占模式); 这样做可以在一定程度上保证主库的高可用 , 在一台主库 down 掉之后 ,

MTSQL主主同步方案

给你一囗甜甜゛ 提交于 2019-12-01 15:19:09
** MySQL 主主 +Keepalived **MySQL+DRBD+Heartbeat 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用 mysql 主 主 方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加 mysql 入口,增加高可用。 不过多主需要考虑自增长 ID 问题,这个需要特别设置配置文件,比如双主,可以使用奇偶 ,总之,主之间设置自增长 ID 相互不冲突就能完美解决自增长 ID 冲突问题。 主主方案实现思路 1、 两台 mysql 都可读写,互为主备 。 默认只使用一台 masterA 负责数据的写入,另一台 masterB 备用 处于备用状态 ; 2、 masterA 是 masterB 的主库, masterB 又是 masterA 的主库,它们互为主从; 3、 两台主库之间做高可用 , 可以采用 keepalived 等方案 , 使用 VIP 对外提供服务; 4、 所有提供服务的从服务器与 masterB 进行主从同步(双主多从) ; 5、 建议采用高可用策略的时候, masterA 或 masterB 均不因宕机恢复后而抢占 VIP (非抢占模式); 这样做可以在一定程度上保证主库的高可用 , 在一台主库 down 掉之后 , 可以在极短的时间内切换到另一台主库上 ,

MMM实现Mysql高可用

a 夏天 提交于 2019-12-01 15:19:08
MySQL 主主同步方案 l MySQL 主主 +Keepalived l MySQL+DRBD+Heartbeat 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用 mysql 主主方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加 mysql 入口,增加高可用。 不过多主需要考虑自增长 ID 问题,这个需要特别设置配置文件,比如双主,可以使用奇偶 ,总之,主之间设置自增长 ID 相互不冲突就能完美解决自增长 ID 冲突问题。 主主方案实现思路 1、 两台 mysql 都可读写,互为主备。默认只使用一台 masterA 负责数据的写入,另一台 masterB 备用处于备用状态; 2、 masterA 是 masterB 的主库, masterB 又是 masterA 的主库,它们互为主从; 3、 两台主库之间做高可用 , 可以采用 keepalived 等方案,使用 VIP 对外提供服务; 4 、所有提供服务的从服务器与 masterB 进行主从同步(双主多从) ; 5 、建议采用高可用策略的时候, masterA 或 masterB 均不因宕机恢复后而抢占 VIP (非抢占模式); 这样做可以在一定程度上保证主库的高可用 , 在一台主库 down 掉之后 , 可以在极短的时间内切换到另一台主库上

keepalived配置文件详解

↘锁芯ラ 提交于 2019-12-01 13:16:42
keepalived用了很久,工作原理也讲了很多遍,但是每次再遇到新的场景总是要搜好多文档来完成配置问题,这次统一梳理一下。 参考官网: https://www.keepalived.org/manpage.html 工作原理 Keepalived通过 VRRP (virtual router redundancy protocol)虚拟路由冗余协议来实现高可用。 在这个协议里会将多台功能相同的路由器组成一个小组,这个小组会有1个master角色和N(N≥1)个backup角色。 Keepalived有三个模块: core、check、vrrp 。其中: core模块为Keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析; check模块负责健康检查; vrrp负责实现vrrp协议。 配置文件说明 keepalived配置文件按 层级 和 模块 划分的,每层由"{ }"来界定。 在主配置文件中可以通过 include 来涵盖多个子配置文件。 语法说明: BOOL: on|off|true|false|yes|no TIMER: 以秒为单位的时间值,包括小数秒,如3,2.71828。计时器的分辨率是微妙。 关于脚本引用: 双引号"字符串中嵌入其他双引号或空格,那么字符串将仅在带引号的字符串之后结束(如:"abcd" efg h jkl "mnop" 等同于

LVS+keepalived构建PXC高可用集群

吃可爱长大的小学妹 提交于 2019-12-01 10:02:15
1 高可用安装 1.1 集群信息 主机 IP 组件 bdc212 192.168.13.212 LVS:ipvsadm-1.27-7.el7.x86_64.rpm Keepalived: keepalived-1.2.4.tar.gz 应用:Percona-XtraDB-Cluster bdc213 192.168.13.213 LVS:ipvsadm-1.27-7.el7.x86_64.rpm Keepalived: keepalived-1.2.4.tar.gz 应用:Percona-XtraDB-Cluster bdc214 192.168.13.214 应用:Percona-XtraDB-Cluster 1.2 安装准备 上传安装所需的压缩包到/opt目录 keepalived-1.2.4.tar.gz ( http://www.keepalived.org/software/keepalived-1.2.4.tar.gz ) 安装组件所需依赖包 yum install openssl-devel popt-devel libnl* -y 1.3 安装LVS+keepalived 在两台Director Server上分别安装LVS+Keepalived,BACKUP服务器与MASTER服务器一致,先安装lvs再安装keepalived。 1.3.3 安装LVS Ipvs

分布式 | DBLE 负载均衡方案

删除回忆录丶 提交于 2019-12-01 10:01:59
原创作者: 冒飞 文章摘要: DBLE 是一款企业级的开源分布式中间件,江湖人送外号 “MyCat Plus”。为了分担 DBLE 的集群管理压力同时避免单点故障,需要为 DBLE 寻找一个负载均衡方案。我们找来了 Lvs+Keepalived 为 DBLE 实现负载均衡。 本文概要: 一、负载均衡环境介绍 1. 部署架构 2. 架构软件版本 二、环境搭建 1. 安装 DBLE 2. 安装 MySQL 3. 安装 Lvs+Keepalived 三、负载均衡实验 1. 场景一:DBLE被停掉到恢复过程中的负载均衡 2. 场景二:DBLE从网络断开到恢复的过程中的负载均衡 3. 场景三:整套环境在压力测试下负载均衡的稳定性 四、环境搭建过程中可能遇到的问题 一、负载均衡环境介绍 1.部署架构 外部对虚拟IP地址发出请求,负载均衡层一主一备避免单点故障,然后由 Lvs+Keepalived 实现 DBLE 层的负载均衡,DBLE 层用指定规则将数据在 MySQL 集群中分片存储。 2.架构软件版本 操作系统:Ubuntu 17.10 内核:Linux R820-08 4.13.0-32-generic x86_64 GNU/Linux 负载均衡:ipvsadm:v1.2.1 Keepalived:v1.3.2 (06/17,2017) 数据库:MySQL 5.7.13 压力测试工具

Keepalived+LVS+nginx搭建nginx高可用集群

邮差的信 提交于 2019-12-01 10:01:47
nginx是一款非常优秀的反向代理工具,支持请求分发,负载均衡,以及缓存等等非常实用的功能。在请求处理上,nginx采用的是epoll模型,这是一种基于事件监听的模型,因而其具备非常高效的请求处理效率,单机并发能力能够达到上百万。nginx接收到的请求可以通过负载均衡策略分发到其下一级的应用服务器,这些服务器一般是以集群方式部署的,因而在性能不足的情况下,应用服务器可以通过加机器的方式扩展流量。此时,对于一些特大型的网站,性能的瓶颈就来自于nginx了,因为单机的nginx的并发能力是有上限的,而nginx本身是不支持集群模式的,因而此时对nginx的横向扩展就显得尤为重要。 keepalived是一款服务器状态检测和故障切换的工具。在其配置文件中,可以配置主备服务器和该服务器的状态检测请求。也就是说keepalived可以根据配置的请求,在提供服务期间不断向指定服务器发送请求,如果该请求返回的状态码是200,则表示该服务器状态是正常的,如果不正常,那么keepalived就会将该服务器给下线掉,然后将备用服务器设置为上线状态。 lvs是一款用于四层负载均衡的工具。所谓的四层负载均衡,对应的是网络七层协议,常见的如HTTP协议是建立在七层协议上的,而lvs作用于四层协议上,也即:传输层,网络层,数据链路层和物理层。这里的传输层主要协议有TCP和UDP协议

postgres高可用学习篇三:haproxy+keepalived实现postgres负载均衡

妖精的绣舞 提交于 2019-12-01 07:44:36
环境: CentOS Linux release 7.6.1810 (Core) 内核版本:3.10.0-957.10.1.el7.x86_64 node1:192.168.216.130 node2:192.168.216.132 node3:192.168.216.134 VIP:192.168.216.138 基础环境准备 优化内核参数cat /etc/sysctl.conf net.netfilter.nf_conntrack_tcp_be_liberal=1 vm.swappiness=1 vm.min_free_kbytes=102400 vm.dirty_expire_centisecs=1000 vm.dirty_background_bytes=67108864 vm.dirty_bytes=536870912 vm.zone_reclaim_mode=0 kernel.numa_balancing=0 kernel.sched_migration_cost_ns=5000000 kernel.sched_autogroup_enabled=0 net.ipv4.ip_nonlocal_bind=1 net.ipv4.ip_forward=1 net.ipv4.ip_local_port_range=1024 65535 net.netfilter.nf

分析一套源代码的代码规范和风格并讨论如何改进优化代码

左心房为你撑大大i 提交于 2019-12-01 07:11:02
  本文分析的源代码是keepalived,keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 一、结合工程实践选题相关的一套源代码,根据其编程语言或项目特点,分析其在源代码目录结构、文件名/类名/函数名/变量名等命名、接口定义规范和单元测试组织形式等方面的做法和特点。 keepalived是用c语言实现的,代码目录结构是按照模块划分的,有安装bin目录,doc目录和lib目录等。文件名是以文件实现的一组功能集命名,一个文件里的函数为实现一个模块功能的接口函数,函数名是更具体的功能含义,一般要做到见名知意。变量名和函数名定义规范一样,也是根据变量的含义功能来命名变量。单独有目录为测试接口API,作用是测试接口,即单元测试。 二、列举哪些做法符合代码规范和风格一般要求 keepalived在函数命名,文件命名,变量命名都符合代码规范,并且命名风格采用下划线来分割变量名或函数名,便于阅读,做到见名知意。keepalived源码是一个学习良好代码规范和良好代码风格的好的范例。 三、列举哪些做法有悖于“代码的简洁、清晰、无歧义”的基本原则,及如何进一步优化改进; keepalived代码在简洁上,清晰以及无歧义上做的很好,没有这三个问题,但是就是注释有点好,对函数的注释

负载均衡

白昼怎懂夜的黑 提交于 2019-12-01 05:05:45
1 学习目标 掌握什么是负载均衡及负载均衡的作用和意义。 了解lvs负载均衡的三种模式。 了解lvs-DR负载均衡部署方法。 掌握nginx实现负载均衡的方法。 掌握lvs+nginx负载均衡拓扑结构。 2 负载均衡方案 2.1 什么是负载均衡 一台普通服务器的处理能力是有限的,假如能达到每秒几万个到几十万个请求,但却无法在一秒钟内处理上百万个甚至更多的请求。但若能将多台这样的服务器组成一个系统,并通过软件技术将所有请求平均分配给所有服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。这就是负载均衡最初的基本设计思想。 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求按照某种策略分配到服务器集合的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡解决了大量并发访问服务问题,其目的就是用最少的投资获得接近于大型主机的性能。 2.2 相关技术 2.2.1 基于DNS的负载均衡 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)