dble高可用mysql_Keepalived+DBLE+MHA 高可用群集配置

架构说明

mysql一主两从,使用MHA架构

mysql主,MHA master节点:10.10.10.62:3306mysql从,MHA node节点:10.10.10.136:3306mysql从,MHA node节点:10.10.10.76:3306dble1(Keepalived):10.10.10.63dble1(Keepalived):10.10.10.129上述架构已经安装好,此处不再赘述。

VIP:10.10.10.38两台服务器搭建Keepalived:

wget http://www.keepalived.org/software/keepalived-1.2.12.tar.gz

tar xf keepalived-1.2.12.tar.gz

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

make&&make install

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

cp/usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/cp/usr/local/keepalived/sbin/keepalived /usr/sbin/设置Keepalived开机自启动

chkconfig keepalived on

配置keepalived的配置文件,注意需要分别查看129和63的网卡名,129的网卡名是 ens192 ,而63的网卡名是 ens160,所以在 interface 参数中会不一样。

在129上配置

cat<< EOF > /etc/keepalived/keepalived.conf

global_defs {

notification_email {

sysadmin@firewall.loc

}

notification_email_from localhost@firewall.loc

smtp_server127.0.0.1smtp_connect_timeout30router_id dble_master

}

vrrp_script check_run {

script"/etc/keepalived/check_dble.sh"interval2}

vrrp_instance VI_1 {

state BACKUP

interface ens192

virtual_router_id66priority100advert_int1nopreempt

authentication {

auth_type PASS

auth_pass1111}

track_script {

check_run

}

virtual_ipaddress {10.10.10.38}

}

EOF

在63上配置

cat<< EOF > /etc/keepalived/keepalived.conf

global_defs {

notification_email {

sysadmin@firewall.loc

}

notification_email_from localhost@firewall.loc

smtp_server127.0.0.1smtp_connect_timeout30router_id dble_backup

}

vrrp_script check_run {

script"/etc/keepalived/check_dble.sh"interval2}

vrrp_instance VI_1 {

state BACKUP

interface ens160

virtual_router_id66priority90advert_int1nopreempt

authentication {

auth_type PASS

auth_pass1111}

track_script {

check_run

}

virtual_ipaddress {10.10.10.38}

}

EOF

上面两台服务器的keepalived都设置为了BACKUP模式,在keepalived中2种模式,分别是master->backup模式和backup->backup模式。

这两种模式有很大区别。在master->backup模式下,一旦主库宕机,虚拟ip会自动漂移到从库,当主库修复后,keepalived启动后,还会把虚拟ip抢占过来,即使设置了非抢占模式(nopreempt)抢占ip的动作也会发生。

在backup->backup模式下,当主库宕机后虚拟ip会自动漂移到从库上,当原主库恢复和keepalived服务启动后,并不会抢占新主的虚拟ip,即使是优先级高于从库的优先级别,也不会发生抢占。为了减少ip漂移次数,通常是把修复好的主库当做新的备库。

(上述关于keepalived的描述来自博客:https://www.cnblogs.com/gomysql/p/3675429.html)/etc/keepalived/check_dble.sh 内容如下#!/bin/bash

DbleRunningCount=`/opt/dble/bin/dble status|grep "dble-server is running" | wc -l`

time=$(date "+%Y-%m-%d %H:%M:%S")if [ $DbleRunningCount =0 ]; then

echo"$time : DbleRunningCount=$DbleRunningCount, dble is not running..." >> /var/log/check_dble.log/etc/init.d/keepalived stop

exit1 #返回1说明脚本非正常执行,dble 不在运行中

elseexit 0#返回0说明脚本正常执行,dble 正在运行中

fi

保存脚本文件后更改该文件权限:

chmod755 /etc/keepalived/check_dble.sh

先启动mysql,接着启动dble,然后启动realserver.sh,再启动keepalived

查看62服务器的网卡信息

[root@testhost129~]#ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet127.0.0.1/8scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128scope host

valid_lft forever preferred_lft forever2: ens192: mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:fe:b6:9d brd ff:ff:ff:ff:ff:ff

inet10.10.10.129/24 brd 10.10.10.255 scope globalnoprefixroute ens192

valid_lft forever preferred_lft forever

inet10.10.10.38/32 scope globalens192

valid_lft forever preferred_lft forever

inet6 fe80::4025:d369:a79f:eff0/64scope link noprefixroute

valid_lft forever preferred_lft forever

测试:分别停掉两边dble,观察IP地址是否漂移,如果能正常漂移,说明搭建成功。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值