Centos 6.0系统lvs+keepalived+mysql实现mysql数据库热备主主复制
发布时间:2016-09-18 23:21:39 所属栏目:Linux 来源:站长网
导读:今天这篇文章接着昨天的相关知识,一样是为了前天刚做的mysql热备; 大家知道实现mysql_Ha的方案有很多,常见的heartbeat、keepalived,这里说的就是keepalived
|
test:现在在两台服务器上其中一台,修改下数据,看看另一台的状况是否也修改,比如:
在另一台发现已经同步过去了; 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.135.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.135.134 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,让备机顶替 3、在备机操作keepalived (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


