Keepalived的事情道理是VRRP(Virtual Router Redundancy Protocol)假造路由冗余协定。在VRRP中有两组主要的观点:VRRP路由器和假造路由器,主控路由器和备份路由器。
VRRP路由器是指运转VRRP的路由器,是物理实体,假造路由器是指VRRP协定建立的,是逻辑观点。一组VRRP路由器协同事情,配合组成一台假造路由器。 Vrrp中存在着一种推举机制,用以选出供应效劳的路由即主控路由,其他的则成了备份路由。当主控路由失效后,备份路由中会从新推举出一个主控路由,来继承事情,来保证不间断效劳。
环境形貌:
OS:Ubuntu16.04
MASTER:172.16.29.205
BACKUP:172.16.29.197
VIP:172.16.29.206
[root@masterr ~]# vi /etc/keepalived/keepalived.conf global_defs { notification_email { test@sina.com } notification_email_from admin@test.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id MYSQL_HA #标识,双主雷同 } vrrp_instance VI_1 { state BACKUP #两台都设置BACKUP interface eth0 virtual_router_id 51 #主备雷同 priority 100 #优先级,backup设置90 advert_int 1 nopreempt #不主动抢占资本,只在master这台优先级高的设置,backup不设置 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.16.29.206 } } virtual_server 172.16.29.206 3306 { delay_loop 2 #lb_algo rr #LVS算法,用不到,我们就封闭了 #lb_kind DR #LVS形式,假如不封闭,备用效劳器不能经由历程VIP衔接主MySQL persistence_timeout 50 #统一IP的衔接60秒内被分配到统一台实在效劳器 protocol TCP real_server 172.16.29.205 3306 { #检测当地mysql,backup也要写检测当地mysql weight 3 notify_down /etc/keepalived/mysql.sh #当mysq服down时,实行此剧本,杀死keepalived完成切换 TCP_CHECK { connect_timeout 3 #衔接超时 nb_get_retry 3 #重试次数 delay_before_retry 3 #重试间隔时候 } } [root@masterr ~]# vi /usr/local/keepalived/mysql.sh #!/bin/bash sudo service keepalived stop [root@masterr ~]# chmod +x /usr/local/keepalived/mysql.sh [root@masterr ~]# /etc/init.d/keepalived start
backup效劳器只修正priority为90、nopreempt不设置、real_server设置当地IP。
3、测试高可用性
1.经由历程Mysql客户端经由历程VIP衔接,看是不是衔接胜利。
2.住手master这台mysql效劳,是不是能一般切换过去,可经由历程ip addr敕令来检察VIP在哪台效劳器上。
3.可经由历程检察/var/log/messges日记,看出主备切换历程
4.master效劳器毛病恢复后,是不是主动抢占资本,成为运动效劳器。
本文讲解了应用Keepalived ,让MySQL 完成高可用性,更多相干引荐请关注ki4网。
相干引荐:
运用php写出几种罕见的排序算法顺序
PHP怎样推断是不是为AJAX要求?
php顺序报date()正告的处置惩罚的解决方法
以上就是关于MySQL 的高可用性:Keepalived 双主热备的细致内容,更多请关注ki4网别的相干文章!