Linux/Python学习论坛-京峰教育

 找回密码
 立即注册

一键登录:

搜索
热搜: 活动 交友 discuz
查看: 721|回复: 0

LVS/NAT学习笔记

[复制链接]

238

主题

288

帖子

1925

积分

超级版主

Rank: 8Rank: 8

积分
1925
QQ
发表于 2015-3-20 16:43:12 | 显示全部楼层 |阅读模式
集群技术主要分为三大类:
高可用性(High Available Cluster),例:Linux-HA
负载均衡(Load balancing Cluster),例:LVS、MOSIX
高性能计算(High Performance Computing),例:Beowulf

LVS(linux virtual server)针对高可伸缩、高可用网络服务的需求,给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。
在LVS框架中,提供了含有三种IP负载均衡技术的IP虚拟服务器软件:IPVS、基于内容请求分发的内核Layer-7交换机KTCPVS和集群管理软件。

IP虚拟服务器软件IPVS
IPVS软件实现了这三种IP负载均衡技术:VS/NAT、VS/TUN、VS/DR。
在调度器的实现技术中,IP负载均衡技术是效率最高的。VS/NAT技术(Virtual Server via Network Address Translation)有广泛的应用,如Cisco的LocalDirector、F5的Big/IP和 Alteon的ACEDirector。在分析VS/NAT的缺点和网络服务的非对称性的基础上,提出通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。IP负载均衡技术参考:http://www.linuxvirtualserver.org/zh/lvs3.html

IPVS的八种调度算法:
轮叫(Round Robin)
加权轮叫(Weighted Round Robin)
最少链接(Least Connections)
加权最少链接(Weighted Least Connections)
基于局部性的最少链接(Locality-Based Least Connections)
带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)
目标地址散列(Destination Hashing)
源地址散列(Source Hashing)
具体参考:http://www.linuxvirtualserver.org/zh/lvs4.html

安装和配置ipvsadm实现lvs
网络拓扑图如下:


uname –a
ln -s /usr/src/kernels/2.6.18-128.el5-i686/ /usr/src/linux
tar -zxvf ipvsadm-1.24.tar.gz
make&&make install

配置lvs/NAT
echo "1" > /proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -A -t 220.90.88.10:80 -s rr
ipvsadm -a -t 220.90.88.10:80 -r 192.168.0.10:80 -m -w 1
ipvsadm -a -t 220.90.88.10:80 -r 192.168.0.20:80 -m -w 1

相关ipvsadm的命令可查看http://junlee.blog.51cto.com/228061/247751

在客户段访问http://220.90.88.10 以轮询的方式调用真实服务器的页面!出现交替返回两台服务器的页面,表示成功实现了LVS/NAT。

后记:虽然实现了负载平衡,但是当真实的web服务器中有一台出现问题无法提供web服务时,会出现一部分请求没有响应,这样问题就出现了。要如何实现负载调度器监视realserver的状态,当realserver出现问题把他从集群中踢出,不再转发请求到这个故障realserver。从而解决这个问题。后面将会用lvs+keepalived解决以上的问题

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|京峰教育,只为有梦想的人 ( 京ICP备15013173号 )

GMT+8, 2020-2-25 14:52 , Processed in 0.022506 second(s), 12 queries , Redis On.

快速回复 返回顶部 返回列表