mysql 通过keepalived 实现高可用(配置文件详解)

MASTER:

背景: 非强占模式

 

[hjk@localhost ~]$ cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

#全局配置

global_defs {

router_id HA_MySQL

}

#虚拟路由器

vrrp_instance VI_1 {

state BACKUP #模式为backup,因为是非强占模式,主从 都为backup

interface eth0 #绑定当前虚拟路由器使用的物理接口,如: ens32 ,eht0 ,br0 ,bond0

virtual_router_id 251 #每个虚拟路由器唯一标识,范围:0-255,每个虚拟路由器次值必须唯一,否则无法启动,同属一个虚拟路由器

priority 100 #优先级,强占模式下,master 的优先级 比 slave 的优先级要高 ,所以这个设置为100

advert_int 1 #vrrp通告的时间间隔,默认1s

nopreempt #非强占模式

authentication { #认证机制

auth_type PASS

auth_pass 1111 #密码尽量配置的复杂点,且同一个虚拟路由器的多个keepalived 节点必须一致

}

virtual_ipaddress { #虚拟IP (VIP)

192.168.20.108

}

}

#虚拟主机,配合ipvs使用

virtual_server 192.168.20.108 3306 { #定义VIP 地址 以及 PORT

delay_loop 2 #每2秒检查一次后端服务器的存活

lb_algo wrr #定义调度的算法(rr|wrr|lc|wlc|lblc|sh|dh)

lb_kind DR #集群的类型,注意要大写(NAT|DR|TUN)

persistence_timeout 60 #持久连接时长,开启后,客户端在一定时间内始终访问相同服务器

protocol TCP #指定服务协议(TCP|UDP|SCTP)




real_server 192.168.20.167 3306 { #后端服务器真实地址,端口

weight 3 #RS权重

notify_down /etc/keepalived/keepalived_shutdown.sh #RS 下线通知脚本

# notify_up /etc/keepalived/keepalived_shutdown.sh #RS 上线通知脚本(非必须配置)

#健康检查

TCP_CHECK {

connect_timeout 10 #连接超时时间

nb_get_retry 3 #重连次数

delay_before_retry 3 #重连间隔时间

connect_port 3306 #健康检查端口,配置自己mysql服务端口

}

}

}

 

Slave:

背景: 非强占模式

 

[hjk@localhost ~]$ cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

#全局配置

global_defs {

router_id HA_MySQL

}

#虚拟路由器

vrrp_instance VI_1 {

state BACKUP #模式为backup,因为是非强占模式,主从 都为backup

interface eth0 #绑定当前虚拟路由器使用的物理接口,如: ens32 ,eht0 ,br0 ,bond0

virtual_router_id 251 #每个虚拟路由器唯一标识,范围:0-255,每个虚拟路由器次值必须唯一,否则无法启动,同属一个虚拟路由器

priority 99 #优先级,强占模式下,master 的优先级 比 slave 的优先级要高 ,所以这个设置为100

advert_int 1 #vrrp通告的时间间隔,默认1s

nopreempt #非强占模式

authentication { #认证机制

auth_type PASS

auth_pass 1111 #密码尽量配置的复杂点,且同一个虚拟路由器的多个keepalived 节点必须一致

}

virtual_ipaddress { #虚拟IP (VIP)

192.168.20.108

}

}

#虚拟主机,配合ipvs使用

virtual_server 192.168.20.108 3306 { #定义VIP 地址 以及 PORT

delay_loop 2 #每2秒检查一次后端服务器的存活

lb_algo wrr #定义调度的算法(rr|wrr|lc|wlc|lblc|sh|dh)

lb_kind DR #集群的类型,注意要大写(NAT|DR|TUN)

persistence_timeout 60 #持久连接时长,开启后,客户端在一定时间内始终访问相同服务器

protocol TCP #指定服务协议(TCP|UDP|SCTP)




real_server 192.168.20.251 3306 { #后端服务器真实地址,端口

weight 3 #RS权重

notify_down /etc/keepalived/keepalived_shutdown.sh #RS 下线通知脚本

# notify_up /etc/keepalived/keepalived_shutdown.sh #RS 上线通知脚本(非必须配置)

#健康检查

TCP_CHECK {

connect_timeout 10 #连接超时时间

nb_get_retry 3 #重连次数

delay_before_retry 3 #重连间隔时间

connect_port 3306 #健康检查端口,配置自己mysql服务端口

}

}

}

 

本文版权归 汾西富格 作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接 如有问题, 可发送邮件咨询,转贴请注明出处:https://www.fxkjnj.com/2352/

发表评论

登录后才能评论