keepalived+mysql双机热备

安装keepalived

切换root用户

下载keepalived

[root@localhost /]:wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz

解压缩

[root@localhost /]:tar xzvf keepalived-1.2.7.tar.gz                                

安装

[root@localhost /]cd keepalived-1.2.7                                               

[root@localhost keepalived-1.2.7]./configure          

如报错 Popt libraries is required

yum install popt-devel

yum install command not found:

https://blog.csdn.net/tianxiaoyu1987/article/details/87373139

再次执行./configure                            

[root@localhost keepalived-1.2.7]make                                             

[root@localhost keepalived-1.2.7]make install         

将keepalived加入服务

按照上述安装方法,keepalived安装完成后,自动安装在/usr/local/sbin目录下面,配置文件

位置在/usr/local/etc/keepalived目录下面,具体操作如下:

/*在配置文件夹/etc下面建立keepalived文件夹*/

mkdir /etc/keepalived 

/*将配置文件复制过去*/

cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived

/*将keepalived文件复制到/etc/init.d文件夹,这个文件夹存放可执行的服务程序*/

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

/*将安装目录下面的系统配置文件复制到/etc/sysconfig,这是一个存放系统配文件的目录*/

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

 建立软链接:

 ln -s keepalived路径/sbin/keepalived /usr/sbin/

/*开启服务*/

service keepalived start

/*停止服务*/

service keepalived stop

/*重启服务*/

service keepalived restart

keepalived

安装好以后,对其进行配置如下:

有两台机器(MASTER1)所在的192.168.187.129与(Master2)192.168.187.132,用(VIP)192.168.187.61做虚拟IP。

在两台服各器中的/etc/keepalived文件夹中的keepalived.conf下进行配置:

Master1的设置 

192.168.187.129

global_defs {

   router_id Mysql_HA  #当前节点名

}

vrrp_instance VI_1{

    state BACKUP       #两台配置节点均为BACKUP

interface eth0       #绑定虚拟IP的网络接口

virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组

priority 100        #节点的优先级,另一台优先级改低一点

acvert_int 1         #组播信息发送间隔,两个节点设置必须一样

nopreempt      #不抢占,只在优先级高的机器上设置即可,优先级低的机器不设置

authentication{      #设置验证信息,两个节点必须一致

    auth_type  PASS

    auth_pass  1111

}

Virtual_ipaddress{   #指定虚拟IP,两个节点设置必须一样

192.168.187.61

     }

   }

virtual_server 192.168.187.61 3306 {   #linux虚拟服务器(LVS)配置

delay_loop 2     #每个2秒检查一次real_server状态

lb_algo wrr      #LVS调度算法,rr|wrr|lc|wlc|lblc|sh|dh

lb_kind DR      #LVS集群模式 ,NAT|DR|TUN

persistence_timeout 60    #会话保持时间

protocol TCP    #使用的协议是TCP还是UDP

real_server 192.168.187.129 3306 {

weight 3   #权重

notify_down  /usr/local/bin/mysql.sh    #检测到服务down后执行的脚本

TCP_CHECK {

connect_timeout 10   #连接超时时间

nb_get_retry 3      #重连次数

delay_before_retry 3 #重连间隔时间

connect_port 3306    #健康检查端口

}

}

Master2的设置 

192.168.187.132

global_defs {

   router_id Mysql_HA  #当前节点名

}

vrrp_instance VI_1{

    state BACKUP       #两台配置节点均为BACKUP

interface eth0       #绑定虚拟IP的网络接口

virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组

priority 90        #节点的优先级,另一台优先级改低一点

acvert_int 1         #组播信息发送间隔,两个节点设置必须一样

authentication{      #设置验证信息,两个节点必须一致

    auth_type  PASS

    auth_pass  1111

}

Virtual_ipaddress{   #指定虚拟IP,两个节点设置必须一样

192.168.187.61

     }

   }

virtual_server 192.168.187.61 3306 {   #linux虚拟服务器(LVS)配置

delay_loop 2     #每个2秒检查一次real_server状态

lb_algo wrr      #LVS调度算法,rr|wrr|lc|wlc|lblc|sh|dh

lb_kind DR      #LVS集群模式 ,NAT|DR|TUN

persistence_timeout 60    #会话保持时间

protocol TCP    #使用的协议是TCP还是UDP

real_server 192.168.187.132 3306 {

weight 3   #权重

notify_down   /usr/local/bin/mysql.sh    #检测到服务down后执行的脚本

TCP_CHECK {

connect_timeout 10   #连接超时时间

nb_get_retry 3      #重连次数

delay_before_retry 3 #重连间隔时间

connect_port 3306    #健康检查端口

}

}

脚本/usr/local/bin/mysql.sh

#vi  /usr/local/bin/mysql.sh

#!/bin/sh

killall keepalived

chmod +x mysql.sh

Keepalived 测试

两台启动keepalived后,

ip addr

其中一台可以看到配置的虚拟ip

将这一台的keepalived下线,再ip addr可以看到虚拟ip已经没有了。此时虚拟ip已经转移到另一台上。这说明keepalived配置成功了。

Mysql测试

需要第三台mysql访问虚拟ip测试。

两台mysql,keepalived启动,第三台能访问虚拟IP。下线一台虚拟IP所在机器的mysql,ip addr观察虚拟ip是否随着转移了,同时keepalived线程是否已经被杀死ps -ef|grep keepalived。如果虚拟IP转移了就说明是成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值