RHEL6 搭建LVS/DR 负载均衡集群 案例

搭建LVS/DR 负载均衡集群 案例


实验拓扑图


操作流程

Director Server :        192.168.4.50 pc50

安装并启用ipvsadm

配置辅助IP地址

创建虚拟服务器,向虚拟服务器中加入节点

Real Server:        192.168.4.51 pc51        192.168.4.52 pc52

配置WEB 服务器

配置辅助IP地址,调整内核参数

Clinet :192.168.4.253 pc253

连接虚拟服务器测试

环境准备

配置yum源

# service iptables stop    //关闭防火墙

# chkconfig iptables off    //关闭开机自启

# setenforce 0                    //设置SELinux 为宽松模式

实施步骤

 配置后端网站服务器 pc51 / pc52


   运行网站服务并编写网页文件

# yum -y install httpd

[[email protected] ~]# echo '192.168.4.51' > /var/www/html/test.html

[[email protected] ~]# echo "192.168.4.52" > /var/www/html/test.html

# service httpd start

# chkconfig httpd on

# yum -y install elinks

[[email protected] ~]# elinks --dump http://localhost/test.html

192.168.4.51

[[email protected] ~]# elinks --dump http://localhost/test.html

192.168.4.52

绑定VIP地址

# ifconfig lo:1 192.168.4.252/32    //只拥有ip 就可以

# ifconfig lo:1

lo:1      Link encap:Local Loopback

inet addr:192.168.4.252  Mask:0.0.0.0

UP LOOPBACK RUNNING  MTU:65536  Metric:1

*  解绑lo:1 上 ip地址 (两种方法):

#ifdown lo;ifup lo;

#service network restart

ARP 广播的问题:

当客户端发起访问VIP 对应的域名的请求时,根据网络通信原理会产生ARP广播

因为负载均衡器和真实的服务器在同一网络并且VIP 设置在集群中的每个节点上

此时集群内的真实服务器会尝试回答来自客户端的ARP广播,就会产生文题,大家都称自己时VIP

修改网路接口的运行参数

内核参数说明:

arp_ignore (定义回复ARP广播的方式)

— 0 (默认值)  回应所有本地地址ARP广播,本地地址可以配置在任意网络接口

— 1 只回应配置在入站网卡接口上的任意IP地址的ARP广播

arp_announce

— 0 (默认值) 使用配置在任意网卡接口上的本地IP地址

— 2 对查询目标使用最适合的本地地址。在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址。首要是选择所有的网路接口的子网中外出访问子网中包含该目标IP地址的本地地址。如果没有合适的地址发现,将选择当前的发送网络接口或其他有可能接受到的ARP回应的网络接口来进行发送。

# cd /proc/sys/net/ipv4/conf/

# ls

all  default  eth0  eth1  eth2  eth3  lo

//临时配置 重启动网络服务失效

# echo 1 > lo/arp_ignore

# cat lo/arp_ignore

1

# echo 2 > lo/arp_announce

# cat lo/arp_announce

2

# echo 1 > all/arp_ignore

# cat all/arp_ignore

1

# echo 2 > all/arp_announce

# cat all/arp_announce

2

 配置分发器 pc50

 装包 ipvsadm

# mount /dev/cdrom /mnt/

//安装 ipvsadm   rpm 包在光盘挂载文件下的LoadBalancer目录下

#cd /mnt/LoadBalancer/

#yum -y install ipvsadm-1.26-4.el6.x86_64.rpm

配置VIP地址

# ifconfig eth0:1 192.168.4.252/32

# ifconfig eth0:1

eth0:1    Link encap:Ethernet  HWaddr 64:52:02:32:01:01

inet addr:192.168.4.252  Bcast:255.255.255.255  Mask:0.0.0.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

创建虚拟服务 

# ipvsadm -A -t 192.168.4.252:80 -s rr

# ipvsadm -L

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.4.252:http rr

添加 real server 节点

# ipvsadm -a -t 192.168.4.252:80 -r 192.168.4.51:80 -g

# ipvsadm -a -t 192.168.4.252:80 -r 192.168.4.52:80 //不指定模式 默认为DR

# ipvsadm -L

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.4.252:http rr

-> 192.168.4.51:http            Route   1      0          0

-> 192.168.4.52:http            Route   1      0          0

保存配置,查看配置

# service ipvsadm save//使配置永久生效

# cat /etc/sysconfig/ipvsadm        //查看ipvsadm 配置

-A -t 192.168.4.252:80 -s rr

-a -t 192.168.4.252:80 -r 192.168.4.51:80 -g -w 1

-a -t 192.168.4.252:80 -r 192.168.4.52:80 -g -w 1

客户端访问

访问VIP 地址 看是否能够实现负载均衡

[[email protected] ~]# ifconfig eth0 | grep HWaddr

eth0      Link encap:Ethernet  HWaddr 64:52:02:32:01:01

[[email protected] ~]# ifconfig eth0 | grep HWaddr

eth0      Link encap:Ethernet  HWaddr 64:52:02:32:02:01

[[email protected] ~]# ifconfig eth0 | grep HWaddr

eth0      Link encap:Ethernet  HWaddr 64:52:02:32:03:01

# arping -c 2 192.168.4.252

ARPING 192.168.4.252 from 192.168.4.253 eth0

Unicast reply from 192.168.4.252 [64:52:02:32:01:01]  0.820ms

Unicast reply from 192.168.4.252 [64:52:02:32:01:01]  0.803ms

Sent 2 probes (1 broadcast(s))

Received 2 response(s)

# elinks --dump http://192.168.4.252/test.html

192.168.4.52

# elinks --dump http://192.168.4.252/test.html

192.168.4.51

# elinks --dump http://192.168.4.252/test.html

192.168.4.52

//客户端 轮询到不同的后端真实服务器

[[email protected] ~]# ipvsadm -Ln --stats

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

-> RemoteAddress:Port

TCP  192.168.4.252:80               3       15        0     1272        0

-> 192.168.4.51:80                     1        5         0      424          0

-> 192.168.4.52:80                     2       10        0      848          0




原文地址:http://blog.51cto.com/13558754/2060405

时间: 2024-10-05 04:55:15

RHEL6 搭建LVS/DR 负载均衡集群 案例的相关文章

LVS DR 负载均衡集群

LVS DR 负载均衡集群 试验准备:五台主机ABCDE,主机ABCDE均为单网卡,IP地址分别为192.168.10.2,192.168.10.3,192.168.10.4,192.168.10.5,192.168.10.6.主机A作为内网客户端,主机B负载均衡调度器,主机C和主机D作为网站服务器,主机E作为共享存储,均清除防火墙和SELINUX.操作系统均为RHELx86_64,为最小化安装. 主机A操作 #vim /etc/sysconfig/network-scripts/ifcfg-e

Centos7搭建lvs+keepalive负载均衡集群

keepalived简介 keepalived是分布式部署解决系统高可用的软件,结合lvs(LinuxVirtual Server)使用,解决单机宕机的问题. keepalived是一个基于VRRP协议来实现IPVS的高可用的解决方案.对于LVS负载均衡来说,如果前端的调度器direct发生故障,则后端的realserver是无法接受请求并响应的.因此,保证前端direct的高可用性是非常关键的,否则后端的服务器是无法进行服务的.而我们的keepalived就可以用来解决单点故障(如LVS的前端

搭建LVS+Keepalived负载均衡集群

这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G SSD,双核 软件环境: 因为资源有限.搭建了4个虚拟机. 虚拟机 [[email protected] work]# uname -a Linux rs-1 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_6

使用Nginx1.9.9+Keepalived1.2.x搭建高可用负载均衡集群

一 简介以及原理介绍 (1)Nginx概念介绍: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度.京东.新浪.网易.腾讯.淘宝等 (2)Keepalived概念介绍: Keepalived的作用是检测服务器的状态,如果有一台we

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

Nginx+Keepalived搭建高可用负载均衡集群   一. 环境说明 前端双Nginx+keepalived,nginx反向代理到后端的tomcat集群实现负载均衡,Keepalived实现集群高可用. 操作系统: Centos 6.6_X64 Nginx版本: nginx-1.9.5 Keepalived版本:keepalived-1.2.13 结构: Keepalived+nginx-MASTER:10.6.1.210         Keepalived+nginx-BACKUP:

搭建高性能Jboss负载均衡集群

负载均衡集群是由两台或者两台以上的服务器组成.分为前端负载调度和后端服务两个部分.负载调度部分负载把客户端的请求按照不同的策略分配给后端服务节点,而后端节点是真正提供营养程序服务的部分.与双机热备不同的是,负载均衡集群中,所有的后端节点都处于活动动态,它们都对外提供服务,分摊系统的工作负载. 负载均衡集群可以把一个高负荷的应用分散到多个节点共同完成,适用于业务繁忙.大负荷访问的应用系统.负载均衡集群的一大优点除了将大负荷进行分摊解决性能问题之外,他还有极强的出错互补机制,每一个提供服务的节点在出

linux集群系列(3) --- LVS之负载均衡集群DR实例

一.简介     1.1.  负载均衡集群:LB (load balancing) LVS 是linux virtual server 的简写,即linux的虚拟服务器,是一个虚拟的服务器集群系统.ip负载均衡技术是在负载调度器的实现技术中效率最高的,在已有的ip负载均衡技术中,主要通过网络地址转换(即VS/NAT 技术).由于使用nat技术会使分派器成为瓶颈,所以提出了通过ip隧道实现虚拟服务器(即VS/TUN)和通过直接路由实现虚拟服务器的方法即VS/DR. VS/NAT.VS/TUN和VS

Redhat/CentOS7-环境虚拟机简单搭建Nginx+Tomcat负载均衡集群

Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,是开发和调试JSP程序的首选.由于Tomcat处理静态HTML的能力运不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端. Nginx服务器能支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存.CPU等系统资源消耗非常低. 通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂请求等问题,不能单独应用于生产环

keepalived+LVS实现负载均衡集群

keepalived keepalived基于vrrp(虚拟路由冗余)协议,是vrrp协议在linux主机上的实现,早先是设计出来和LVS协同工作的,在配置文件中可以直接支持生成ipvs规则 vrrp协议: vrrp协议将route_id相同的主机或路由绑定在一起组成一个虚拟路由组,一个组内有一个master和多个backup,master每隔一段时间通过组播的方式向整个虚拟路由组发送一个数据包告诉所有backup在线信息. 当多个路由器组成了一个虚拟组,vrrp或给这个虚拟主生成一个虚拟ip和