keepalived vip mysql_keepalived+vip+mysql双机高可用

本文详细介绍了如何配置keepalived和VIP实现MySQL双机高可用。在master节点上设置priority为120,slave节点设置为100,通过TCP检查确保数据库服务状态。当主节点故障时,VIP会漂移到备用节点。在遇到ip_vs模块未加载导致VIP无法漂移的问题时,通过加载和设置开机启动该模块解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置第三方源

yum install -y  epel-release

直接通过yum安装keepalived

#查看是否有安装包

yum list |grep keepalived

安装

yum install  keepalived.x86_64

各种参数定义查看如下bolg

http://blog.csdn.net/zhu_tianwei/article/details/43603135

真实生产环境案例

master

路径/etc/keepalived/keepalived.conf

通过权重priority 0-250 来判断 主从

#######################master###########################

global_defs {

router_id HA_MySQL

}

vrrp_instance VI_1 {

state BACKUP

interface em1

virtual_router_id 12

priority 120

advert_int 1

nopreempt

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

#vip

192.168.27.12

}

}

virtual_server 192.168.27.12 3306 {

delay_loop 2

lb_algo wrr

lb_kind DR

persistence_timeout 60

protocol TCP

real_server 192.168.27.73 3306 {

weight 3

inhibit_on_failure

#检查真实ip的端口3306 是否down 如果down 执行stop_keeplived.sh

notify_down /usr/local/keepalived/sbin/stop_keeplived.sh

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

}

###########################slave###############################

slave

路径/etc/keepalived/keepalived.conf

通过权重priority 0-250 来判断 主从

global_defs {

router_id HA_MySQL

}

vrrp_instance VI_1 {

state BACKUP

interface em1

virtual_router_id 12

priority 100

advert_int 1

#nopreempt

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

#vip

192.168.27.12

}

}

virtual_server 192.168.27.12 3306 {

delay_loop 2

lb_algo wrr

lb_kind DR

persistence_timeout 60

protocol TCP

real_server 192.168.27.72 3306 {

weight 3

notify_down /usr/local/keepalived/sbin/stop_keeplived.sh

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

}

################stop_keeplived.sh############

/usr/local/keepalived/sbin/stop_keeplived.sh

内容

#! /bin/bash

echo "test" > text.txt

/etc/init.d/keepalived stop

#遇到的错误

停止mysql 3306端口

service mysqld stop

正常应该是vip 进行漂移,但是却没有漂,查看keepalived状态

service keepalived status

发现ipvs: Protocol not available 提示信息

此问题 导致vip无法漂移

原因是ip_vs模块系统默认没有自动加载

查看ip_vs模块

lsmod | grep ip_vs 若没有值需要手工加载

modprobe ip_vsmodprobe ip_vs_wrr

lsmod | grep ip_vs正常输出

[root@hs-73 sbin]# lsmod | grep ip_vs

ip_vs_wrr              12697  0

ip_vs                 140944  2 ip_vs_wrr

nf_conntrack          105745  1 ip_vs

libcrc32c              12644  2 xfs,ip_vs

设置开机加载

/etc/rc.local

将modprobe ip_vsmodprobe ip_vs_wrr写入rc.local配置文件

到此 问题解决

vip 可以正常漂移

使用命令 ip a 可以查看vip

-----keepalived 对应的机器必须开启112端口 否则 两边无法通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值