lvs+keepalived,后台数据库怎么同步

lvs+keepalived,后台数据库怎么同步,第1张

环境:

mysql主主同步

node1:192.168.1.51

node2:192.168.1.54

VIP:192.168.1.55

安装lvs\\只需要ipvsadm模块

#yum install ipvsadm

安装keepalived

#tar -zxvf keepalived-1.2.7.tar.gz

#./configure --prefix=/usr/local/keepalived

#make &&make install

# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

#mkdir /etc/keepalived

#iptables -A INPUT -p vrrp -j ACCEPT //这里不开启vrrp协议的端口,会造成backup服务器检测不到master服务器的是否正常而自动启动backup的应用服务

node1:192.168.1.53

#vim /etc/keepalived/keepalived.conf

global_defs {

notification_email {

admin@company.com

}

notification_email_from alarm@company.com

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS1

}

vrrp_sync_group test {

group {

loadbalance

}

}

vrrp_instance loadbalance {

state MASTER

interface eth0

lvs_sync_daemon_inteface eth0

virtual_router_id 51

priority 200

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.55 dev eth0 label eth0:1 //55为VIP

}

}

virtual_server 192.168.1.55 3306 {

delay_loop 6

lb_algo rr

lb_kind DR

persistence_timeout 20

protocol TCP

sorry_server 192.168.1.54 3306

real_server 192.168.1.53 3306 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

}

node2:192.168.1.54

vim /etc/keepalived/keepalived.conf

global_defs {

notification_email {

admin@company.com

}

notification_email_from alarm@company.com

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS1

}

vrrp_sync_group test {

group {

loadbalance

}

}

vrrp_instance loadbalance {

state BACKUP

interface eth0

lvs_sync_daemon_inteface eth0

virtual_router_id 51

priority 50 //必须比master低

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.55 dev eth0 label eth0:1

}

}

virtual_server 192.168.1.55 3306 {

delay_loop 6

lb_algo rr

lb_kind DR

persistence_timeout 20

protocol TCP

sorry_server 192.168.1.54 3306

real_server 192.168.1.53 3306 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

}

node1 node2

vim /etc/rc.d/init.d/realserver.sh

#!/bin/bash

# description: Config realserver lo and apply noarp

SNS_VIP=10.1.1.176

/etc/rc.d/init.d/functions

case "$1" in

start)

ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP

/sbin/route add -host $SNS_VIP dev lo:0

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p >/dev/null 2>&1

echo "RealServer Start OK"

stop)

ifconfig lo:0 down

route del $SNS_VIP >/dev/null 2>&1

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

echo "RealServer Stoped"

*)

echo "Usage: $0 {start|stop}"

exit 1

esac

exit 0

启动(先启动数据库)

#/etc/rc.d/init.d/realserver.sh start

#/etc/rc.d/init.d/keepalived start

#echo “/etc/rc.d/init.d/realserver.sh start” >>/etc/rc.local

#echo “/etc/rc.d/init.d/keepalived start” >>/etc/rc.local

查看状态

# ipvsadm

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

->RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.1.55:mysql rr persistent 20

->192.168.1.53:mysql Route 3 0 0

测试

ü 停掉master上的mysql,看看能否自动切换到sorry_server,使用如下命令查看:ipvsadm –ln。

ü 停掉master上的keepalived,看写VIP是否会迁移到backup。

ü 启动master上的mysql,看是否能切换回master。

ü 启动master上的keepalived,看VIP是否会迁移回master上。

ü 重启master的系统,看看切换过程是否OK

还是有点用的。LVS集群基本能支持所有应用,因为工作在第4层,所以LVS可以对几乎所有应用进行负载均衡,包括Web、数据库等。注意:LVS并不能完全判别节点故障,比如在WLC规则下,如果集群里有一个节点没有配置VIP,将会导致整个集群不能使用。还有一些其他问题,目前尚需进一步测试。

mysql数据库负载均衡 一般多用于读负载,  lvs 负载均衡,keepalived 高可用性。

LVS软件负载均衡器

LVS(LinuxVirtual Server)是由章文嵩博士主导开发的一款开源软件,可以实现Linux平台下的基于网络层的负载均衡软件。典型的基本架构图如图所示:

LVS集群采用IP负载均衡技术和基于内容请求分发技术。

LVS集群采用基于IP负载均衡技术和基于内容请求分发技术。当客户端有请求时,首先将请求包传送到Load Balance,然后Load Balance从后面的Real Servers中按照一定的算法策略选取一台Real Server,比如Real Server1,然后把请求包发送给Real Server1进行处理。对所有用户而言,面向用户的服务器端IP地址,只有一台,称之为VirtualIP Address。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6669461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存