2、接下来配置keepalived
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
全局定义(global definition)配置
global_defs {
notification_email {
coffee_lanshan@sina.com 故障联系人
}
notification_email_from admin@example.com 故障发送人
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id MySQL_ha
}
global_defs全局配置标识
notification_email
{
coffee_lanshan@sina.com
lansgg@sina.com
}
VRRP实例(instance)
vrrp_instance mysql{
state MASTER state 指定instance(Initial)的初始状态,实质是经过优先级决定
interface eth0 实例绑定的网卡,因为在配置虚拟IP的时候必须是在已有的网卡上添加的
virtual_router_id 50 这里设置VRID,这里非常重要,相同的VRID为一个组,他将决定多播的MAC地址
priority 100 设置本节点的优先级,优先级高的为master
advert_int 1 检查间隔,默认为1秒
preempt 设置抢占,这里只能设置在state为master的节点上,而且这个节点的优先级必须别另外的高
authentication {
auth_type PASS 认证方式,可以是PASS或AH两种认证方式
auth_pass 123456 认证密码
}
virtual_ipaddress {
192.168.152.200 这里设置的就是VIP,也就是虚拟IP地址,他随着state的变化而增加删除,
}
}
virtual_server 192.168.152.200 3306 { 设置一个virtual server: VIP:Vport
delay_loop 2 service polling的delay时间,即服务轮询的时间间隔
lb_algo wrr LVS调度算法 rr|wrr|lc|wlc|lblc|sh|dh
lb_kind DR LVS集群模式 NAT|DR|TUN
persistence_timeout 60 会话保持时间(秒为单位),即以用户在120秒内被分配到同一个后端realserver
protocol TCP 健康检查用的是TCP还是UDP
real_server 192.168.152.128 3306 { 后端真实节点主机的权重等设置,主要,后端有几台这里就要设置几个
weight 3 给每台的权重,0表示失效(不知给他转发请求知道他恢复正常),默认是1
# notify_up <STRING> | <QUOTED-STRING> #检查服务器正常(UP)后,要执行的脚本
notify_down /usr/local/Mysql/bin/mysql.sh 检查服务器失败(down)后,要执行的脚本
#下面是常用的健康检查方式,健康检查方式一共有HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK这些方式
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
编写检测服务down后所要执行的脚本
#!/bin/sh
pkill keepalived
简单吧,只要mysqld进程不见了,就杀掉keepalived,让备机顶替
CentOS 6.0系统LVS+Keepalived+MySQL实现MySQL数据库热备主(2)
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.heiqu.com/68fd85bf3e9a4cb4db5cd5be631267b9.html