LVS负载均衡的简单实现

1、理论部分

1.1、LVS的架构

调度层(Director):

集群层(Real Server)

共享层

1.2、LVS的三种工作模式

1)DR模式

- MAC层实现

- Director将请求的数据包目标MAC改为Real Server的MAC地址

- 数据直接返回客户端

2)NAT模式

- IP层实现

- Director将请求的目标IP改为Real Server的IP

- 数据返回在Director将源IP还原

3)TUN模式

- 类似于VPN实现

- Director建立加密IP隧道转发到Real Server

- 数据直接返回客户端

1.3、LVS的IP分类

1)VIP(Virtual IP)

- VIP每台机都需要配置

- IP用于内网通讯并对外提供服务

2)DIP(Driector IP)

- DIP设置于Driector服务器

- 分内外网IP,内网IP用于内部通讯,外网IP用于NAT模式的外网

3)RIP(Real IP)

- RIP设置于Real服务器

- 只有内网IP,IP只用于内网通讯

1.4、LVS的调度算法:

1)轮叫调度(Round Robin,简称RR)

2)加权轮叫(Weighted Round Robin,简称WRR)

3)最少链接(Least Connection,简称LC)

4)加权最少链接(Weighted Least Conncetions,简称WLC)

2、实验部分

2.1、实验前提

1)主机信息

Dr:

director ipaddress=10.168.0.90

vip ipaddress=10.168.0.91

hostname=dr

Rs1:

real ipaddress=10.168.0.94

vip-lo ipaddress=10.168.0.91

hostname=rs1

Rs2:

real ipaddress=10.168.0.95

vip-lo ipaddress=10.168.0.91

hostname=rs2

2)yum源

In Real Server

yum install -y httpd

In Director

yum install -y ipvsad

2.1、NAT模式配置

vim增加/usr/local/sbin/lvs_nat.sh

#! /bin/bash
# director 服务器上开启路由转发功能: 
echo 1 > /proc/sys/net/ipv4/ip_forward 
# 关闭icmp的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects

# director 设置nat防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 10.168.0.0/24  -j MASQUERADE
# director设置ipvsadm
IPVSADM=‘/sbin/ipvsadm‘
$IPVSADM -C
$IPVSADM -A -t 192.168.0.11:80 -s lc -p 300
$IPVSADM -a -t 192.168.0.11:80 -r 10.168.0.94:80 -m -w 1
$IPVSADM -a -t 192.168.0.11:80 -r 10.168.0.95:80 -m -w 1

运行脚本:

sh /usr/local/sbin/lvs_nat.sh

2.2、DR模式配置

In Director

vim增加/usr/local/sbin/lvs_dr.sh

#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=10.168.0.91
rs1=10.168.0.94
rs2=10.168.0.95
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -C
$ipv -A -t $vip:80 -s rr 
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

In Real Server

vim增加/usr/local/sbin/lvs_dr_rs.sh

#! /bin/bash
vip=10.168.0.91
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up 
route add -host $vip 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

运行脚本:

In Director

/usr/local/sbin/lvs_dr.sh

In Real Server

sh /usr/local/sbin/lvs_dr_rs.sh

参考文献:

LVS-DR的工作原理

http://os.51cto.com/art/201105/264303.htm

LVS调度算法分类:

http://www.apelearn.com/bbs/thread-7407-1-1.html

arp_ignore&arp_announce参数(DR模式):

http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html

时间: 2024-11-06 09:39:44

LVS负载均衡的简单实现的相关文章

LVS负载均衡简单配置

LVS的安装与使用 第1章 LVS原理及介绍 1.1 LVS简介 LVS是Linux Virtual Server的简写,意思就是Linux虚拟服务器,是一个虚拟的服务器集群系统,可以在UNIX/LINUX平台下实现负载均衡集群功能.该项目在1998年5月由章文嵩博士组织成立,是中国国内最早出现的自由软件项目之一. LVS项目介绍: LVS项目主页:http://www.linuxvirtualserver.org/ LVS项目介绍:http://www.linuxvirtualserver.o

(转)详解LVS负载均衡之三种工作模型原理和10种调度算法

前言:最近在为我们的产品在做高可用,一边搭环境,一边了解相关知识,搜到这篇博客,质量不错,表述清晰,于是转载过来学习. 标签:详解LVS负载均衡之三种工作模型原理和10种调度算法 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://linuxnx.blog.51cto.com/6676498/1195379 LVS负载均衡原理和算法详解    Internet的快速增长使多媒体网络服务器面对的访问数量快速增加,服务器需要具备提供大

LVS负载均衡之session解决方案 持久连接

1. 持久连接是什么? 1.1 在LVS中,持久连接是为了用来保证当来自同一个用户的请求时能够定位到同一台服务器. 2. 为什么会用到持久连接? 2.1 cookie/session机制的简单说明: 在Web服务通信中,HTTP本身是无状态协议,不能标识用户来源,此时出现了一个问题,当用户在一个网站浏览了A网页并跳转到B网页,此时服务器就认为B网页是一个新的用户请求,你之前的登陆的信息就都丢失了,头疼.为了记录用户的会话信息,我们的开发者就在客户端/服务器端软件提供了cookie/session

【转】LVS负载均衡之session解决方案 持久连接

原文地址:http://minux.blog.51cto.com/8994862/1744761 1. 持久连接是什么? 1.1 在LVS中,持久连接是为了用来保证当来自同一个用户的请求时能够定位到同一台服务器. 2. 为什么会用到持久连接? 2.1 cookie/session机制的简单说明: 在Web服务通信中,HTTP本身是无状态协议,不能标识用户来源,此时出现了一个问题,当用户在一个网站浏览了A网页并跳转到B网页,此时服务器就认为B网页是一个新的用户请求,你之前的登陆的信息就都丢失了,头

大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)

课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普通的技术人员就可以快速搭建起千万级的高并发大数据网站平台. 亮点一:真实环境还原,课程采用了VM环境重现大网站集群服务器环境,真实环境还原再现. 亮点二:基础实用,细节决定成败,课程内容在演练过程中重点介绍各种细节,保证初级人员快速入门及高级进阶. 亮点三:讲师丰富的海量平台运作经验 讲师tom5多

LVS 负载均衡集群

说明:在学习LVS负载均衡集群时,最好对网络通信原理,尤其是ARP通信原理有所了解,否则,将无法理解LVS的工作原理. LVS工作原理和安装配置#################工作模式及其原理####################VS/NAT模式(即Virtual Server via Network Address Translation): 此种模式是通过网络地址转换技术来实现虚拟服务器. ##实现原理:  1.请求: 客户端发送请求到调度器,调度器将请求报文的目的地址(即虚拟IP地址)

LVS负载均衡的三种模式和八种算法总结

三种LVS负载均衡模式 调度器的实现技术中,IP负载均衡技术是效率最高的,IP虚拟服务器软件(IPVS)是在linux内核中实现的? LVS负载均衡模式---1.NAT模式 NAT用法本来是因为网络IP地址不足而把内部保留IP地址通过映射转换成公网地址的一种上网方式(原地址NAT)?如果把NAT的过程稍微变化,就可以成为负载均衡的一种方式?原理其实就是把从客户端发来的IP包的IP头目的地址在DR上换成其中一台REALSERVER的IP地址并发至此REALSERVER,而REALSERVER则在处

通过keepalived搭建高可用的LVS负载均衡集群

一.keepalived软件简介 keepalived是基于vrrp协议实现高可用功能的一种软件,它可以解决单点故障的问题,通过keepalived搭建一个高可用的LVS负载均衡集群时,keepalived还能检测后台服务器的运行状态. 二.vrrp协议原理简介 vrrp(虚拟路由器冗余协议),是为了解决网络上静态路由出现的单点故障的问题,举个例子,如下图 主机A和B均在同一个局域网内,C和D均是该局域网的网关,即A和B想与外网通信,需指网关到C或D,那究竟指向C好还是指向D好呢?都不好!当指向

观nginx与lvs负载均衡的较量

在技术工作者中,常用到的就是lvs负载均衡和Nginx负载均衡了.这两者也是比较普及的.那么,根据不同的需求,两者存在着不同的优势.具体选择哪一个,还要看您的要求了.那么我们在此为大家分享一篇文章,对两者进行了对比,希望能给您一个参考. 下面来分析一下lvs负载均衡和Nginx负载均衡的区别: 一.lvs负载均衡的优势: 1.抗负载能力强,因为lvs工作方式的逻辑是非常之简单,而且工作在网络4层仅做请求分发之用,没有流量,所以在效率上基本不需要太过考虑.在我手里的lvs,仅仅出过一次问题:在并发