Atlas+keepalived+mysql(实现HA+主从同步)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A tlas+lvs+keepalived +mysql+主从复制负载均衡搭建

部署文档

2015-8-31

(V1.0)

一、部署背景信息

基于mysql的负载均衡有很多种方式,如haproxy,前面一篇博客有介绍,还可以用更高效lvs 做负载均衡,下面是基于percona xtradb cluster的三个节点的多主复制+atlas的lvs负载均衡,其

实这里是不需要用atlas的,因为atlas是用来做连接池和读写分离的,而多主架构是不需要读写分离的(如果是基于mysql replication的就需要atlas做负载均衡了),但为了测试atlas能不能用lvs做负载均衡,就顺便做了下实验。

1.节点规划

1.1 mysql数据节点:

db169

db172

db173

三个节点为xtradb cluster节点。

1.2 keepalived节点:

db162

db163

虚拟ip为192.168.1.201

haproxy节点(仅为了对比lvs的性能才安装的):db169(部署在xtradb cluster的一个节点上)

1.3 atlas节点:和xtradb cluster节点部署在一起,也为三个节点

注意:atlas和mysql要部署在一个节点上,如果不在一个节点上则不能用lvs dr模式负载均衡

1.4 客户端测试节点:db55

ip地址为192.168.1.* ,节点名为db+ip地址末位

2.安装lvs及keepavlied(db162、db163上)

2.1安装依赖包

yum -y install kernel-devel make gcc openssl-devel libnl*

下载并连接linux kernel文件,注意版本要一致(uname -a)

[root@db163 ~]# ln -s /usr/src/kernels/2.6.32-358.el6.x86_64/ /usr/src/linux

安装keepalived、lvs

[root@db162 ~]# yum install ipvsadm

[root@db162 ~]# yum install keepalived

[root@db163 ~]# yum install ipvsadm

[root@db163 ~]# yum install keepalived

2.2.配置keepavlied,注意lvs不需要单独配置,在keepalived里配置就行了

[root@db162 ~]# cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

router_id MySQL_LB1

}

vrrp_sync_group VSG {

group {

MySQL_Loadblancing

}

}

vrrp_instance MySQL_Loadblancing { state MASTER

interface eth0

virtual_router_id 51

priority 101

advert_int 1

authentication {

auth_type PASS

auth_pass 123456

}

virtual_ipaddress {

192.168.1.201

}

}

virtual_server 192.168.1.201 1234 { delay_loop 6

lb_algo rr

lb_kind DR

# nat_mask 255.255.255.0

#persistence_timeout 50

protocol TCP

real_server 192.168.1.169 1234 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 1234

}

}

real_server 192.168.1.172 1234 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 1234

}

}

real_server 192.168.1.173 1234 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 1234

}

}

}

备机上的keepalived配置

[root@db163 ~]# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived

global_defs {

router_id MySQL_LB2

}

vrrp_sync_group VSG {

group {

MySQL_Loadblancing

}

}

vrrp_instance MySQL_Loadblancing {

state BACKUP

interface eth0

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 123456

}

virtual_ipaddress {

192.168.1.201

}

}

virtual_server 192.168.1.201 1234 {

delay_loop 6

lb_algo rr

相关文档
最新文档