LVS-DR+keepalived 搭建web高可用负载均衡

实验环境 redhat6.5 2.6.32-431.el6.x86_64

keepalived-1.2.16版本

ipvsadm-1.26-2.el6.x86_64

所有的虚拟机  都  关闭防火墙和selinux  配置好了本地yum源

搭建要求是对LVS-DR模式的原理熟悉,先配置好LVS-DR所需的环境。这里的环境是配置VIP DIP DIP 在同一个网段,并在realserver的lo接口上做好了arp抑制。具体见后面的脚本

当keepalived和LVS结合时,注意不需要在director上对ipvsadm手工的做配置,切记。在keepalived的配置文件里会配置lvs的VIP,RIP。  所有的配置只在keepalived的配置文件中就可以了。之前是先做的LVS-DR模式 所以先配置了ipvsadm后修改keepalived.conf结果画蛇贴足,导致无法搭建成功。

本次实验中  是搭建web的高可用负载均衡

DR1                            VIP:192.168.168.12                            DIP:192.168.168.100

DR2                            VIP:   192.168.168.12                           DIP:192.168.168.107

realserver1                 VIP : 192.168.168.12                            RIP1: 192.168.168.102

realserver2                  VIP: 192.168.168.12                             RIP2:192.168.168.103

前提 :realserver1和realserver2已经安装了 httpd

********************首先搭建DR1 *********

1,软件的安装 DR1和DR2上安装 ipvsadm 和 keepalived

####################安装ipvsadm管理lvs#######################

首先lsmod查看是否支持lvs模块

[email protected] ~ # lsmod | grep -i ip

ip_vs_rr                1420  1

ip_vs                 125220  3 ip_vs_rr

可以看出支持 然后进入本地的yum源挂载目录安装ipvsadm (LVS已经编译到内核)

[email protected] ~ # cd /mnt/Packages/

[email protected] Packages # rpm -ivh ipvsadm-1.26-2.el6.x86_64.rpm

2.#######################然后安装keepalived####################

[email protected] src # tar -zxvf keepalived-1.2.16.tar.gz

[email protected] src # cd keepalived-1.2.16

[email protected] keepalived-1.2.16 # ./configure --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/

可能会有依赖性

[email protected] keepalived-1.2.16 # yum install -y openssl-devel

[email protected] keepalived-1.2.16 # ./configure --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/   将keepalived整合到内核当中

[email protected] keepalived-1.2.16 # make && make install

[email protected] keepalived-1.2.16 # echo $?

0

下来将keepalived的配置文件复制到对应的配置文件,方便配置。

[email protected] keepalived-1.2.16 # cp /usr/local/etc/rc.d/init.d/keepalived      /etc/init.d/

[email protected] keepalived-1.2.16 # cp /usr/local/etc/sysconfig/keepalived        /etc/sysconfig/

[email protected] keepalived-1.2.16 # mkdir /etc/keepalived

[email protected] keepalived-1.2.16 # cp /usr/local/etc/keepalived/keepalived.conf   /etc/keepalived/

[email protected] keepalived-1.2.16 # cp /usr/local/sbin/keepalived                 /usr/sbin/

[email protected] keepalived-1.2.16 # cd ~

#######################安装完毕进行配置#####################

[email protected] keepalived-1.2.16 # cd ~

[email protected] ~ # vim /etc/keepalived/keepalived.conf   主配置文件

[email protected] ~ #

[email protected] ~ # cat !$

cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

notification_email {

[email protected]   #设置报警邮件地址,可以设置多个,每行1个,

[email protected]  #需开启邮件报警及本机的Sendmail服务。

[email protected]

}

notification_email_from [email protected]

smtp_server 192.168.168.12  #设置SMTP Server地址;

smtp_connect_timeout 30

router_id LVS_DEVEL

}

########VRRP Instance########

vrrp_instance VI_1 {

state MASTER    #指定Keepalived的角色,MASTER为主机服务器,BACKUP为备用服务器

interface eth0  #BACKUP为备用服务器

virtual_router_id 51

priority 100    #定义优先级,数字越大,优先级越高,主DR必须大于备用DR。

advert_int 1

authentication {

auth_type PASS  #设置验证类型,主要有PASS和AH两种

auth_pass 1111  #设置验证密码

}

virtual_ipaddress {

192.168.168.12  #设置主DR的虚拟IP地址(virtual IP),可多设,但必须每行1个

}

}

########Virtual Server########

virtual_server 192.168.168.12 80 {  #注意IP地址与端口号之间用空格隔开

delay_loop 6        #设置健康检查时间,单位是秒

lb_algo rr          #设置负载调度算法,默认为rr,即轮询算法,最优秀是wlc算法

lb_kind DR          #设置LVS实现LB机制,有NAT、TUNN和DR三个模式可选

nat_mask 255.255.255.0

#    persistence_timeout 1  #会话保持时间,单位为秒  实验要注释掉方便看出轮询

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

real_server 192.168.168.102 80 {  #定义realserver 的ip 地址和 端口

weight 1          #配置节点权值,数字越大权值越高

TCP_CHECK {

connect_timeout 3     #表示3秒无响应,则超时

nb_get_retry 3        #表示重试次数

delay_before_retry 3  #表示重试间隔

}

}

real_server 192.168.168.103 80 {  #配置服务器节点,即Real Server2的public IP

weight 1            #配置节点权值,数字越大权值越高

TCP_CHECK {

connect_timeout 3       #表示3秒无响应,则超时

nb_get_retry 3          #表示重试次数

delay_before_retry 3    #表示重试间隔

}

}

}

配置完成

[email protected] ~ # /etc/init.d/keepalived start

3.  ##############DR1配置完成开始配置realserver1和realserver2################

realserver1 配置   使用脚本配置

[email protected] ~ # cat lvs.dr.sh

#!/bin/bash

vip=192.168.168.12

/etc/init.d/httpd start   #启动apache  没有安装的请自己先安装

case $1 in

start)

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore    #这四行是做arp抑制

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

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

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

ip addr add dev lo $vip

ip a | grep -w inet

echo "this is for start"

;;

stop)

echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore  #恢复arp

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

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

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

ip addr del dev lo $vip

ip a | grep -w inet

echo "this is for stop"

;;

*)

echo "plesase start or stop"

;;

esac

exit 0

[email protected] ~ # sh lvs.dr.sh start

[email protected] ~ # ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet 192.168.168.12/32 scope global lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:0b:b0:4e brd ff:ff:ff:ff:ff:ff

inet 192.168.168.102/24 brd 192.168.168.255 scope global eth0

inet6 fe80::20c:29ff:fe0b:b04e/64 scope link

valid_lft forever preferred_lft forever

[email protected] ~ # echo "real server 192.168.168.102" >/var/www/index.html

realserver2 同理

[email protected] ~ # cat lvs.dr.sh

#!/bin/bash

vip=192.168.168.12

/etc/init.d/httpd start

case $1 in

start)

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

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

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

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

ip addr add dev lo $vip

ip a | grep -w inet

echo "this is for start"

;;

stop)

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

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

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

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

ip addr del dev lo $vip

ip a | grep -w inet

echo "this is for stop"

;;

*)

echo "plesase start or stop"

;;

esac

exit 0

[email protected] ~ # sh lvs.dr.sh start

[email protected] ~ # ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet 192.168.168.12/32 scope global lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:2a:85:bb brd ff:ff:ff:ff:ff:ff

inet 192.168.168.103/24 brd 192.168.168.255 scope global eth0

inet6 fe80::20c:29ff:fe2a:85bb/64 scope link

valid_lft forever preferred_lft forever

[email protected] ~ # echo "real server 192.168.168.103" >/var/www/index.html

4.    #############realserver配置完成后 在DR1查看################

[email protected] ~ # ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.168.12:80 rr

-> 192.168.168.102:80           Route   1      0          0

-> 192.168.168.103:80           Route   1      0          0

出现这个表明配置成功  可以将ipvsadm配置保存在文件中

[email protected] ~ # ipvsadm-save > ipvsadm.txt  保存到文件ipvsadm.txt中

roo[email protected] ~ # cat ipvsadm.txt

-A -t bogon:http -s rr

-a -t bogon:http -r bogon:http -g -w 1

-a -t bogon:http -r bogon:http -g -w 1

[email protected] ~ # ipvsadm-restore < ipvsadm.txt  将文件导入到ipvsadm的设置中

5.  ###################打开浏览器验证#################

打开浏览器访问VIP 192.168.168.12

F5 刷新

说明DR1已搭建成功 下面搭建DR2

**********************DR2的配置***************************

重复DR1中的ipvsadm和keepalived的安装,这里就不多说了

DR1和DR2的区别是 keepalived..conf 的配置 中的master改为backup 然后更改优先级就可以了。

[email protected] ~ #

[email protected] ~ # cat !$

cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

notification_email {

[email protected]   #设置报警邮件地址,可以设置多个,每行1个,

[email protected]  #需开启邮件报警及本机的Sendmail服务。

[email protected]

}

notification_email_from [email protected]

smtp_server 192.168.168.12  #设置SMTP Server地址;

smtp_connect_timeout 30

router_id LVS_DEVEL

}

########VRRP Instance########

vrrp_instance VI_1 {

state BACKUP    #指定Keepalived的角色,MASTER为主机服务器,BACKUP为备用服务器

interface eth0  #BACKUP为备用服务器

virtual_router_id 51

priority 50    #定义优先级,数字越大,优先级越高,主DR必须大于备用DR。

advert_int 1

authentication {

auth_type PASS  #设置验证类型,主要有PASS和AH两种

auth_pass 1111  #设置验证密码  主从要一致

}

virtual_ipaddress {

192.168.168.12  #设置主DR的虚拟IP地址(virtual IP),可多设,但必须每行1个

}

}

########Virtual Server########

virtual_server 192.168.168.12 80 {  #注意IP地址与端口号之间用空格隔开

delay_loop 6        #设置健康检查时间,单位是秒

lb_algo rr          #设置负载调度算法,默认为rr,即轮询算法,最优秀是wlc算法

lb_kind DR          #设置LVS实现LB机制,有NAT、TUNN和DR三个模式可选

nat_mask 255.255.255.0

#    persistence_timeout 1  #会话保持时间,单位为秒  实验要注释掉方便看出轮询

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

real_server 192.168.168.102 80 {

weight 1          #配置节点权值,数字越大权值越高

TCP_CHECK {

connect_timeout 3     #表示3秒无响应,则超时

nb_get_retry 3        #表示重试次数

delay_before_retry 3  #表示重试间隔

}

}

real_server 192.168.168.103 80 {  #配置服务器节点,即Real Server2的public IP

weight 1            #配置节点权值,数字越大权值越高

TCP_CHECK {

connect_timeout 3       #表示3秒无响应,则超时

nb_get_retry 3          #表示重试次数

delay_before_retry 3    #表示重试间隔

}

}

}

然后开启keepalived

[email protected] ~ #  /etc/init.d/keepalived   start

[email protected] ~ # ipvsadm -Ln  查看

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.168.12:80 rr

-> 192.168.168.102:80           Route   1      0          0

-> 192.168.168.103:80           Route   1      0          0

##################都配置成功了,可以宕机检验了。#######################

****************************以下时网上找到的理论知识  *********************************************

1. LVS简介:

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。章文嵩博士目前工作于阿里集团,主要从事集群技术、操作系统、对象存储与数据库的研究。(摘自《BAIDU百科》)

2. LVS集群的组成:

LVS服务器系统由三部分组成:

1)负载均衡层:

位于整个集群系统的最前端,避免单点故障一般最少由2台或2台以上负载调度器组成。

2)服务器群组层:

是一组真正运行应用服务器的机器组成,Real Server可以是Web、FTP、DNS、Mail 、视频等服务器中的一个或N个,每个Real Server之间通过高速的LAN/WAN相连接。为了节省宝贵的资源,在生产环境中,Director Server同时身兼Real Server的角色!

3)共享存储层:

为Real Server提供共享存储空间和内容一致性的存储区域。可以为磁盘阵列、Red Hat的GFS文件系统、Oracle的OCFS2文件系统等。

Director Server是整个LVS的核心!到目前为止,Director server只能安装在Linux、FreeBSD上,如果Linux内核是2.6及以上时,则已经内置了LVS的各个模块,不用作任何的设置就支持LVS功能。

Real Server服务器几乎为所有有系统平台,如:Windows、Linux、Solaris、AIX、BSD等系统平台。

常见的3中模式 还有第四种

1、NAT模式-网络地址转换

Virtualserver via Network address translation(VS/NAT)

这个是通过网络地址转换的方法来实现调度的。首先调度器(LB)接收到客户的请求数据包时(请求的目的IP为VIP),根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后调度就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP),这样真实服务器(RS)就能够接收到客户的请求数据包了。真实服务器响应完请求后,查看默认路由(NAT模式下我们需要把RS的默认路由设置为LB服务器。)把响应后的数据包发送给LB,LB再接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。

大致可分为几个步骤

1)客户端请求数据,目标IP为VIP

2)请求数据到达LB服务器,LB根据调度算法将目的地址修改为RIP地址及对应端口(此RIP地址是根据调度算法得出的。)并在连接HASH表中记录下这个连接。

3)数据包从LB服务器到达RS服务器webserver,然后webserver进行响应。Webserver的网关必须是LB,然后将数据返回给LB服务器。

4)收到RS的返回后的数据,根据连接HASH表修改源地址VIP&目标地址CIP,及对应端口80.然后数据就从LB出发到达客户端。

5)客户端收到的就只能看到VIP\DIP信息。

NAT模式优缺点:

1、NAT技术将请求的报文和响应的报文都需要通过LB进行地址改写,因此网站访问量比较大的时候LB负载均衡调度器有比较大的瓶颈,一般要求最多之能10-20台节点

2、只需要在LB上配置一个公网IP地址就可以了。

3、每台内部的节点服务器的网关地址必须是调度器LB的内网地址。

4、NAT模式支持对IP地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。

2、TUN模式

virtual server via ip tunneling模式:采用NAT模式时,由于请求和响应的报文必须通过调度器地址重写,当客户请求越来越多时,调度器处理能力将成为瓶颈。为了解决这个问题,调度器把请求的报文通过IP隧道转发到真实的服务器。真实的服务器将响应处理后的数据直接返回给客户端。这样调度器就只处理请求入站报文,由于一般网络服务应答数据比请求报文大很多,采用VS/TUN模式后,集群系统的最大吞吐量可以提高10倍。

VS/TUN的工作,它和NAT模式不同的是,它在LB和RS之间的传输不用改写IP地址。而是把客户请求包封装在一个IP tunnel里面,然后发送给RS节点服务器,节点服务器接收到之后解开IP tunnel后,进行响应处理。并且直接把包通过自己的外网地址发送给客户不用经过LB服务器。

1)客户请求数据包,目标地址VIP发送到LB上。

2)LB接收到客户请求包,进行IP Tunnel封装。即在原有的包头加上IP Tunnel的包头。然后发送出去。

3)RS节点服务器根据IP Tunnel包头信息(此时就又一种逻辑上的隐形隧道,只有LB和RS之间懂)收到请求包,然后解开IP Tunnel包头信息,得到客户的请求包并进行响应处理。

4)响应处理完毕之后,RS服务器使用自己的出公网的线路,将这个响应数据包发送给客户端。源IP地址还是VIP地址。(RS节点服务器需要在本地回环接口配置VIP,做arp抑制)

3、DR模式(直接路由模式)

Virtual server via direct routing (vs/dr)

DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。同TUN模式一样,DR模式可以极大的提高集群系统的伸缩性。而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求。但是要求调度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。

DR模式是互联网使用比较多的一种模式。DR模式原理过程简述:

VS/DR模式的工作,它的连接调度和管理与NAT和TUN中的一样,它的报文转发方法和前两种不同。DR模式将报文直接路由给目标真实服务器。在DR模式中,调度器根据各个真实服务器的负载情况,连接数多少等,动态地选择一台服务器,不修改目标IP地址和目标端口,也不封装IP报文,而是将请求报文的数据帧的目标MAC地址改为真实服务器的MAC地址。然后再将修改的数据帧在服务器组的局域网上发送。因为数据帧的MAC地址是真实服务器的MAC地址,并且又在同一个局域网。那么根据局域网的通讯原理,真实复位是一定能够收到由LB发出的数据包。真实服务器接收到请求数据包的时候,解开IP包头查看到的目标IP是VIP。(此时只有自己的IP符合目标IP才会接收进来,所以我们需要在本地的回环借口上面配置VIP。另:由于网络接口都会进行ARP广播响应,但集群的其他机器都有这个VIP的lo接口,都响应就会冲突。所以我们需要把真实服务器的lo接口的ARP响应关闭掉。)然后真实服务器做成请求响应,之后根据自己的路由信息将这个响应数据包发送回给客户,并且源IP地址还是VIP。

DR模式小结:

1、通过在调度器LB上修改数据包的目的MAC地址实现转发。注意源地址仍然是CIP,目的地址仍然是VIP地址。

2、请求的报文经过调度器,而RS响应处理后的报文无需经过调度器LB,因此并发访问量大时使用效率很高(和NAT模式比)

3、因为DR模式是通过MAC地址改写机制实现转发,因此所有RS节点和调度器LB只能在一个局域网里面

4、RS主机需要绑定VIP地址在LO接口上,并且需要配置ARP抑制。

5、RS节点的默认网关不需要配置成LB,而是直接配置为上级路由的网关,能让RS直接出网就可以。

6、由于DR模式的调度器仅做MAC地址的改写,所以调度器LB就不能改写目标端口,那么RS服务器就得使用和VIP相同的端口提供服务。

时间: 2024-10-24 03:07:12

LVS-DR+keepalived 搭建web高可用负载均衡的相关文章

RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡

原文地址:http://www.cnblogs.com/mchina/archive/2012/05/23/2514728.html 一.简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. 目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR):十种调度算法(rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq). K

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalived版本:keepalived-1.2.4 三.安装 0.安装LVS前系统需要安装popt-static,kernel-devel,make,gcc,openssl-devel,lftp,libnl*,popt*

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

一.系统环境 实验拓扑: 实验环境: Vmware 9.01 + Windows 8 x64 企业版+8G内存 虚拟机步骤: 1.安装一台CentOS 6.3 x64主机,内存为1GB,网络为NAT模式,注意检查Vmware中EDIT菜单下Virtual Network Editor中VMnet8 2. 加电,安装系统.基础知识了,不再多说,注意:选择英文而不要选择中文,选择是Basic Server模式,系统名称:LVS-MASTER 3.安装系统后,用root用户登录进去,执行 ifconf

Haproxy+Keepalived搭建Weblogic高可用负载均衡集群

配置环境说明:   KVM虚拟机配置 用途 数量 IP地址 机器名 虚拟IP地址 硬件 内存3G  系统盘20G cpu 4核 Haproxykeepalived 2台 192.168.1.10192.168.1.20 Haserver01Haserver02 192.168.30192.168.40 内存6G  系统盘20G cpu 4核 Weblogic 4台 192.168.1.100192.168.1.150 192.168.1.200 192.168.1.250 Clusters01C

LVS+Keepalived搭建MyCAT高可用负载均衡集群

LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR),十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq). Keepalvied Keepalived在这里主要用作RealServer的健康状态检查以及Mast

LVS+keepalived 实现web高可用负载均衡集群

1.实验环境 4台CentOS-7.5虚拟机web-1:192.168.18.103web-2:192.168.18.104keepalived-1(LVS-DR模式):192.168.18.107 keepalived-2(LVS-DR模式):192.168.18.108 vip:192.168.18.110其中keepalived和lvs安装在同一台机器,web单独一台安装客户端为:个人win10笔记本(192.168.18.102)4台虚机防火墙和selinux均已关闭 2.安装keepa

CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡

一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalived版本:keepalived-1.2.4 三.安装 0.安装LVS前系统需要安装popt-static,kernel-devel,make,gcc,openssl-devel,lftp,libnl*,popt* 1.在两台Director Server上分别配置LVS+Keepalived LVS

LVS+KeepAlived,RabbitMQ高可用负载均衡

最近团队准备对项目进行重构,其中用到了RabbitMQ,也考虑了几个方案,下边着重介绍在项目中即将采用的方案.关于RabbitMQ就不在这里详细说明,具体查看 RabbitMQ中文手册.直接看架构图: 如图所示: 前端采用keepalived+lvs实现高可用负载均衡, RabbitMQ HA 队列(镜像队列)进行消息队列结构复制.本方案中搭建两个节点,并且都是磁盘节点(所有节点状态保持一致,节点完全对等),只要有任何一个节点能够工作,RabbitMQ 集群对外就能提供服务.任务处理进程同时监控

搭建MySQL高可用负载均衡集群

1.简介 使用MySQL时随着时间的增长,用户量以及数据量的逐渐增加,访问量更是剧增,最终将会使MySQL达到某个瓶颈,那么MySQL的性能将会大大降低.这一结果也不利于软件的推广. 那么如何跨过这个瓶颈,提高MySQL的并发量呢?方法有很多,分布式数据库.读写分离.高可用负载均衡.增加缓存服务器等等.之前的文章里已经介绍了读写分离的方案了,接下来我将讲解MySQL高可用负载均衡这一方法. 其中实现高可用负载均衡的方法有很多,例如LVS+keepalived组合实现.haproxy+keepal