MySQL + KeepaLived 高可用

MySQL + KeepaLived 高可用

1. 基础环境

两台服务器,MySQL互为主从

MASTER 的 IP:10.0.0.11

BACKUP 的 IP:10.0.0.12

2.MASTER 实操

yum -y install keepalived cd /etc/keepalivedcp keepalived.conf keepalived.conf.bakvim keepalived.conf
vrrp_instance VI_1 {    state MASTER            # 主机的初始身份:MASTER/BACKUP    interface eth0          # VIP绑定网卡设备    virtual_router_id 51    # 路由广播ID,同步ID可以接受广播    priority 100            # 优先级,越大优先级越高,主的初始优先级必须要大于备份的主机    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        10.0.0.90      # VIP地址    }}virtual_server 10.0.0.90 3306 {      # 虚拟服务器,IP地址是VIP,端口是对应服务的端口    delay_loop 6    nat_mask 255.255.255.0    protocol TCP?    real_server 10.0.0.11 3306 {      # 真实服务器的ip和端口        weight 1        notify_down  /tmp/kill.sh           # 检测到down状态时要执行的脚本,内容为停止keepalived        TCP_CHECK {                             # 健康检查模块,通过TCP检查            connect_port 3306                   # TCP要检查的端口            connect_timeout 3                   # 超时时间            nb_get_retry 3                      # 重试次数            delay_before_retry 3               # 检查轮询周期时间        }    }}

配置文件结束,保存退出

创建脚本

vim /tmp/kill.sh 
#!/bin/bashservice keepalived stop

重启 keepalived 服务

service keepalived restart 

查看 VIP 是否生成

ip a

3. BACKUP 实操

yum -y install keepalived cd /etc/keepalivedcp keepalived.conf keepalived.conf.bakvim keepalived.conf
vrrp_instance VI_1 {    state BACKIP            # 主机的初始身份:MASTER/BACKUP    interface eth0          # VIP绑定网卡设备    virtual_router_id 51    # 路由广播ID,同步ID可以接受广播    priority 90            # 优先级,越大优先级越高,主的初始优先级必须要大于备份的主机    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        10.0.0.90      # VIP地址    }}virtual_server 10.0.0.90 3306 {      # 虚拟服务器,IP地址是VIP,端口是对应服务的端口    delay_loop 6    nat_mask 255.255.255.0    protocol TCP?    real_server 10.0.0.12 3306 {      # 真实服务器的ip和端口        weight 1        notify_down  /tmp/kill.sh           # 检测到down状态时要执行的脚本,内容为停止keepalived        TCP_CHECK {                             # 健康检查模块,通过TCP检查            connect_port 3306                   # TCP要检查的端口            connect_timeout 3                   # 超时时间            nb_get_retry 3                      # 重试次数            delay_before_retry 3               # 检查轮询周期时间        }    }}

配置文件结束,保存退出

创建脚本

vim /tmp/kill.sh
#!/bin/bash
service keepalived stop

重启 keepalived 服务

service keepalived restart

查看 VIP 是否生成

ip a

4. 高可用测试

master 服务器上启动 MySQL keepalived

service mysql restart
service keepalived restart

此时表示 master 服务器正在正常使用

service mysql stop

MySQL 停止,代表服务器宕机,此时去查看 Backup 的 IP

master 的 IP,已经漂浮到了 Backup 上,此时,Backup 是主

原文地址:https://www.cnblogs.com/henry-bk/p/11779131.html

时间: 2024-08-04 12:09:33

MySQL + KeepaLived 高可用的相关文章

Oracle Compute云快速搭建MySQL Keepalived高可用架构

最近有个客户在测试Oracle Compute云,他们的应用需要使用MySQL数据库,由于是企业级应用一定要考虑高可用架构,因此有需求要在Oracle Compute云上搭建MySQL高可用集群.客户根据自身的技术储备想要使用Keepalived组件来配合MySQL实现.今天结合Oracle Compute刚刚宣布terraform支持的架构即代码方式,交付给客户一个快速搭建MySQL+Keepalived高可用架构,来帮助他们快速搭建测试环境甚至将来使用到正式环境. MySQL主主复制模式 M

基于keepalived搭建MySQL的高可用集群

http://www.cnblogs.com/ivictor/p/5522383.html 基于keepalived搭建MySQL的高可用集群 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,MHA和PXC. 对于小公司,一般推荐使用keepalived+双主,简单. 下面来部署一下 配置环境: 角色                          

MySQL的keepalived高可用监控脚本

MySQL的keepalived高可用监控脚本 MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求 :我们知道,keepalive是基于虚拟ip的存活来判断是否抢占master的机制的,但是如果我们做了MySQL的keepalived的高可用的时候,就要考虑一种情况的发生,那就是如果机器网卡并没有断,二十由于MySQL服务的不稳定,或者人为的误操作,导致的服务关闭,会引起的结果就是,keepalive并不会切换,因为并不是主master的虚拟ip不存在,而是服务已经停止

mysql主主复制及keepalived高可用群集

mysql主主复制及keepalived高可用 Keepalived+mysql双主来实现MySQL-HA,我们必须保证两台MySQL数据库的数据完全一样,基本思路是两台MySQL互为主从关系(双主),通过Keepalived配置虚拟IP,实现当其中的一台MySQL数据库宕机后,应用能够自动切换到另外一台MySQL数据库,保证系统的高可用. 实验基本拓扑: 主主同步就是两台机器互为主从的关系,在任何一台机器上写入都会同步. 在master1 mysql主配置文件中添加下面参数(/etc/my.c

mysql主主+keepalived高可用

mysql主主+keepalived高可用 1.两台主机 host: db1 外网:11.0.0.51 内网:172.16.1.51 db2 外网:11.0.0.52 内网:172.16.1.52 2.两台主机分别下载mysql cd /usr/chris/src wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-linux-glibc2.12-x86_64.tar.gz useradd mysql -u 550 -s

keepalived + haproxy + mysql 构建高可用数据库

keepalived + haproxy + mysql 构建高可用1.keepalived 的高可用是主备,有一台作为备用2.keepalived + haproxy 搭建的高可用是可以两台都会调度的高可用 拓扑图:keepalived:负责抢占虚拟ip,使用vrrp协议haproxy:负责做访问调度,减轻单点压力,单独监听一个端口,这里用23306 1.安装mysql分别在两台机器上面搭建mysql,并做主从配置,这里不做介绍2.搭建haproxy1.download 源码包,下载地址:ht

jumpserver+MySQL主从-Nginx+Keepalived高可用

环境: 系统: CentOS 7.3 关闭 selinux 和防火墙 一.安装jumpserver 官网安装文档:http://docs.jumpserver.org/zh/docs/step_by_step.html 1 setenforce 0 # 可以设置配置文件永久关闭 2 systemctl stop iptables.service 3 4 5 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文 6 localedef -c -f UTF-8 -

分布式数据存储 - MySQL主从复制高可用方案

前面几篇文章说道MySQL数据库的高可用方案主从复制.主从复制的延迟产生原因.延迟检测及延迟解决方案(并未从根本上解决),这种主从复制方案保证数据的冗余的同时可以做读写分离来分担系统压力但是并非是高可用方案,因为主从节点中主节点仍然是单点的,一旦主节点宕机会导致应用中写失败.双主复制虽然很好的避免主节点的单点故障,但是未提供统一访问入口来实现负载均衡,如果其中master宕掉的话需要手动切换到另外一个master,而不能自动进行切换.本篇文章就来剖析主从复制的高可用. 一.基础概念介绍 Keep

技术实战:基于 MHA 方式实现 MySQL 的高可用(转)

转自:http://os.51cto.com/art/201307/401702_all.htm MHA故障转移可以很好的帮我们解决从库数据的一致性问题,同时最大化挽回故障发生后的数据.本文分享了基于 MHA 方式实现 Mysql 的高可用的技术实战,希望对您有所帮助. AD:51CTO网+ 首届中国APP创新评选大赛火热招募中…… 数据的重要性对于人们来说重要程度不说自明,在信息时代,数据有着比人们更大的力量,我们也知道最近的斯诺登事件,军事专家对于他掌握的数据给出的评价是,相当于美军十个重装