MySQL 高可用性keepalived+mysql双主(4)

MySQL 高可用性keepalived+mysql双主 虚拟 存储 就是 加载 写入 动态 根据 timeout firewall 防火墙 服务器 mysql主机 负载均衡 硬件配置 远程登录 SQL数据库 MySQL数据库 关闭防火墙 服务器配置 虚拟服务器 服务器教程  第10张

Master2 主机也完成 keepalived 安装,与 master1 一样,安装过程略

注:若开启了防火墙,需要关闭防火墙或创建规则。

注:如果在 centos7.2 上安装 keepalived 防火墙的规则配置如下:

[root@localhost ~]# firewall-cmd --permanent --add-rich-rule="rule family=ipv4 destination

address=224.0.0.18 protocol value=ip accept"

success

[root@localhost ~]# firewall-cmd --reload

MySQL 高可用性keepalived+mysql双主 虚拟 存储 就是 加载 写入 动态 根据 timeout firewall 防火墙 服务器 mysql主机 负载均衡 硬件配置 远程登录 SQL数据库 MySQL数据库 关闭防火墙 服务器配置 虚拟服务器 服务器教程  第11张

2、修改 Keepalived 的配置文件

keepalived 只有一个配置文件 keepalived.conf,里面主要包括以下几个配置区域,分别是

global_defs、vrrp_instance 和 virtual_server。

global_defs:主要是配置故障发生时的通知对象以及机器标识。

vrrp_instance:用来定义对外提供服务的 VIP 区域及其相关属性。

virtual_server:虚拟服务器定义

master1 主机上的 keepalived.conf 文件的修改:

vi /etc/keepalived/keepalived.conf:

! Configuration File for keepalived //!表示注释

global_defs {

router_id MYSQL-1 //表示运行 keepalived 服务器的一个标识

}

vrrp_instance VI_1 {

state BACKUP //指定keepalived的角色,两台配置此处均是BACKUP,设为BACKUP将根据

优先级决定主或从

interface eth0 //指定 HA 监测网络的接口

virtual_router_id 51 //虚拟路由标识,这个标识是一个数字(取值在 0-255 之间,用来区分多个

instance 的 VRRP 组播),同一个 vrrp 实例使用唯一的标识,确保和 master2 相同,同网内不同集群此项必须不同,否则发生冲突。

priority 100 //用来选举 master 的,要成为 master,该项取值范围是 1-255(在此范围

之外会被识别成默认值 100),此处 master2 上设置为 50

advert_int 1 //发 VRRP 包的时间间隔,即多久进行一次 master 选举(可以认为是健康查

检时间间隔)

nopreempt //不抢占,即允许一个 priority 比较低的节点作为 master,即使有 priority 更高

的节点启动

authentication { //认证区域,认证类型有 PASS 和 HA(IPSEC),推荐使用 PASS(密码

只识别前 8 位)

auth_type PASS

auth_pass 1111

}

virtual_ipaddress { //VIP 区域,指定 vip 地址

192.168.12.1

}

}

virtual_server 192.168.1.100 3306 { //设置虚拟服务器,需要指定虚拟 IP 地址和服务端口,

IP 与端口之间用空格隔开

delay_loop 2 //设置运行情况检查时间,单位是秒

lb_algo rr //设置后端调度算法,这里设置为 rr,即轮询算法

lb_kind DR //设置 LVS 实现负载均衡的机制,有 NAT、TUN、DR 三个模式可选

persistence_timeout 60 //会话保持时间,单位是秒。这个选项对动态网页是非常有用的,

为集群系统中的 session 共享提供了一个很好的解决方案。

有了这个会话保持功能,用户的请求会被一直分发到某个服务节点,

直到超过这个会话的保持时间。

protocol TCP //指定转发协议类型,有 TCP 和 UDP 两种

real_server 192.168.1.101 3306 { //配置服务节点 1,需要指定 real server 的真实 IP 地址和

端口,IP 与端口之间用空格隔开

注:master2 上此处改为 192.168.12.128(即 master2 本机 ip)

weight 3 //配置服务节点的权值,权值大小用数字表示,数字越大,权值越高,设置权

值大小为了区分不同性能的服务器

notify_down /etc/keepalived/bin/mysql.sh //检测到 realserver 的 mysql 服务 down 后执行的

脚本

TCP_CHECK {

connect_timeout 3 //连接超时时间

nb_get_retry 3 //重连次数

delay_before_retry 3 //重连间隔时间

connect_port 3306 //健康检查端口

}

}

}

master1 主机上有关 keepalived.conf 文件的具体配置如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgyggy.html