keepalived + mysql主从

mysql高可用服务部署


Mysql主从搭建完毕,(mysql 主从部署请看MySQL 主从复制)现在有一个问题,如果master服务器down机了,如何快速恢复服务呢?

我们有两套解决方法:

1.如果程序连接的是master的IP,直接在slave服务器上添加master的IP即可。这个手动去操作,而且需要花费时间比较长,可能还会出现误操作的情况,不推荐

2.可以使用keepalived、heartbeat作为HA检测软件,检查MySQL服务是否正常,不正常则自动切换到slave上,推荐使用

那么我们接下来就看一下如何实现:

cd /data

yum    -y    install    dernel-devel  popt-devel  openssl-devel

wget http://keepalived.org/software/keepalived-1.2.1.tar.gz

tar zxf keepalived-1.2.1.tar.gz

cd keepalived-1.2.1

./configure --prefix=/usr/local/keepalived

--with-kernel-dir=/usr/src/kernels/2.6.32-573.7.1.el6.x86_64/

在编译的时候会遇到一些问题

****************************************************************************************

注意:若此处 /usr/src/kenels/ 下没东西,可能过安装 kernel-devel 组件:

yum -y install kernel-devel

安装后,执行以上操作

说明缺少popt-devel 组件,安装此组件即可:

yum -y install popt-devel

出现此提示,是缺少openssl-devel 组件,直接安装即可

****************************************************************************************

出现此界面,证编译成功

make && make install ;echo $?

若返回0,即证明安装成功

设置开机启动

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived     /etc/rc.d/init.d

cp /usr/local/keepalived/etc/sysconfig/keepalived    /etc/sysconfig

cp /usr/local/keepalived/sbin/keepalived        /usr/sbin

chkconfig --add keepalived

chkconfig --level 35 keepalived on

keepalived 安装成功

mkdir -p /etc/keepalived

配置master服务器,keepalived配置文件内容如下:

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

notification_email {

[email protected]

}

notification_email_from [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

# VIP1

vrrp_instance VI_1 {

state BACKUP

interface eth0

lvs_sync_daemon_inteface eth0

virtual_router_id 151

priority 100

advert_int 5

nopreempt

authentication {

auth_type PASS

auth_pass 2222

}

virtual_ipaddress {

192.168.10.200                      #此处为虚拟IP

}

}

virtual_server 192.168.33.100 3306 {

delay_loop 6

lb_algo wrr

lb_kind DR

persistence_timeout 60

protocol TCP

real_server 192.168.10.171  3306 {              #此处为你的真实机IP

weight 100

notify_down /data/sh/mysql.sh  #此处为关闭 keepalived 的脚本地址

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

}

mysql从 主机部署与主相同,只需将配置文件中的 real_server 修改为自己的IP ,将优先级修改为小于100的数字即可

mysql.sh 脚本内容为:

#!/bin/bash

pkill -0 mysqld

if [[ ! $? -eq 0 ]];then

/etc/init.d/mysqld start

sleep 5

pkill -0 mysqld

if [[ ! $? -eq 0 ]];then

pkill keepalived

fi

fi

给脚本执行权限:

chmod +x /data/sh/mysql.sh

时间: 2024-11-05 11:40:44

keepalived + mysql主从的相关文章

Lvs+keepalived+mysql主从热备

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 10.5pt; font-family: "Calibri", "sans-serif" } h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left

keepalived+mysql主从实现数据库冗余

 keepalived+mysql主从实现数据库冗余 一.安装mysql,并设置主备服务器 1.将下面的代码复制到一个后缀为.sh的shell脚本文件中(脚本很容易看懂) # vi /etc/scripts/mysql.sh ##/bin/bash rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y install mysql mysql-server mysql-de

keepalived+Mysql主从配置实验

keepalived是一个类似于layer3, 4 & 7交换机制的软件,也就是我们平时说的第3层.第4层和第7层交换. 简介: Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器. 工作原理: Layer3,4&7工作在I

mysql主从配置&&基于keepalived的主备切换

mysql互为主从设置 && 主备切换配置 需求说明: 1.公司架构一直是一台单独的mysql在线上跑,虽然一直没有出现什么宕机事件,但是出于一个高可用的考虑,提出主从备份.主备切换的需求: 2.实现这个需求的前一段时间只是在做数据库备份的时候实现了主从热备,为了实现主备切换功能,继续操作上述需求: 实验环境: master1:10.1.156.3:3306 master2:10.1.156.5:3306 my.cnf配置文件关于主从这块的修改: master1: server-id =

Keepalived 监控 mysql 主从切换

1).在两台机子上面分别安装 mysql , keepalived 2). keepalived 主从: 主:vim /etc/keepalived/keepalived.conf vrrp_instance VI_1 { state BACKUP    # 备用用 BACKUP interface eth2   #用的是哪个网卡 virtual_router_id 59  #虚拟路由地址必须一样,才能配置成一个组 priority 100   # 备用用 90 advert_int 1  #M

LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置

原文地址:LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置 作者:gron 原文链接:http://www.linuxidc.com/Linux/2012-07/65547.htm 架构图 先进行优化 vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 65536 4194304 net.c

LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor=50 worker.tomcat.cachesize=10 worker.tomcat.cache_timeout=600 worker.tomcat.socket_keepalive=1 worker.tomcat.socket_timeout=300 Linux内核优化: vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容net.

Keepalived+Mysql互为主从高可用安装配置

Keepalived+Mysql互为主从高可用安装配置环境介绍:keepalived_vip=192.168.1.210    (写虚拟ip)mysql_master01      eth0:192.168.1.211  eth1:172.20.27.211 (1核1G)mysql_master02      eth0:192.168.1.212  eth1:172.20.27.212 (1核1G) 1.安装mysql数据库(所有节点安装)  //此处省略安装mysql服务2.编辑my.cnf配

keepalived+mysql双主

       mysql高可用keepalived+mysql双主 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC. 本节主要介绍了利用 keepalived 实现 MySQL 数据库的高可用. Keepalived+mysql双主来实现MySQL-HA,我们必须保证两台MySQL数据库的数据完全一样,基本思路是两台MySQL互为主从关系,通过Keepalived配