设为首页 收藏本站
查看: 2922|回复: 6

[经验分享] lvs用nat模式实现负载均衡的方法

[复制链接]

尚未签到

发表于 2012-12-27 09:02:28 | 显示全部楼层 |阅读模式
一、LVS的简介
LVS : Linux Virtual Server 也就是Linux 虚拟服务器。
LVS是一台主机,是将数据转发给其他的真正的服务器主机的。LVS的应用只需要装在调度节点上,它的工作原理基本类似于DNAT。其实虚拟服务器可以看做是一个四层交换。通过套接字来完成的转发。
LVS的特点:高吞吐能力、高并发能力,冗余能力,适用性。

二、在LVS中的命名机制:

15ac06b012c8eb126c3a870e2c66a941.jpg


CIP : 客户端的IP
VIP :(Virtual IP)虚拟地址,外网用户看到的那个地址。
DIP :(Director’s IP)用于转发请求的转发器上的那个地址,一般是跟RIP相连的。
RIP :(Real IP)后端真正提供节点的那些些IP地址
三、LVS有三种工作类型:
1Network address translation (LVS-NAT)网络地址转换
a5261eccb0d1012a9cd79b31fdfda308.jpg

工件特征:
   1、所有的集群结点要在同一个网络中
   2RIP是私有的,仅用于集群结点间的通信
   3Director 要处理入站和出站
   4V_sever 的网关要指向DIP
   5、可以实现端口映射
   6R-serverk 可以是任意操作系统
   7direct 很易成为系统瓶颈
2Direct routing LVS-DR)直接路由 简称为 DR
c8ba3799caa1659c0da27f22e0ac96bf.jpg


用户的请求经过Director,服务器的响应由服务器直接返回给用户
工作特点:
   1、集群结点Real-serverDirectorip在同一个物理网络,因为转发是基于MAC地址的
   2RIP可以使用公网地址
这样有个好处就是当Director不能工作时,用户可以通过IP地址访问服务器
   3director 仅处理入站请求
   4R-server 的网关一定不要指向director,出站请求不经过director
   5、不支持端口映射
   6、大多数操作系统都可以用于 R_SERVER 能配置多个IP地址并要支持隔离ARP广播
   7DR当中 directot的性能比远远优于DNAT
3IP tunneling (LVS-TUN) ip遂道
eacdf7cbceb6e97005fb266b32660c63.jpg


DR模型相似,不同的是,DirectorRealserverip可以不在同一个网络中
   1R-serverdirector
   2rip一定不是私有地址
   3director 仅处理入站请求,不支持端口映射
   4、仅有具有隧道功能的操作系统才能用于R-server
四、LVS 调度方法 Scheduling Methods
可分为两大类:静态调度、动态调度
静态调度有四种:
1Round-Round 轮询 简写为RR
2Weight Round-Round 加权轮询 简写为 WRR
3Destination hashing 简写为 DH 目标地址hash 用于缓存服务器
  4Source hashing SH 源地址hash 也是用于缓存服务器
动态调度有六种:
1Least-connection(LC) 最少连接
检测服务器上的最少活动的连接数,同时也要检测活动和非活动连接数用下面的的方法计算,谁的overhead小,谁就接受下次的连接请求。这种方式不能区分服务器的响应能力。
计算方法:RS:active*256+inactive=overhead
把请求发给overhead值小的那个
2Weight Least-connetion(WLC) 加权最少连接
基于LC在每个服务器上加上权重。计算方法:
RS:(active*256+inactive)/weight=overhead
在这些算法中WLC算法可以说是最公平的算法了。
3SED Shortest Expected Delay对于WLC的改进
最短期望延迟,这种算法是对WLC的一种改进,不考虑非活动连接数,并且将正处于活动状态的值加1。加1的主要目的,是尽可能的把权重大的服务器尽可能的利用起来。这种机制如果在权重比值比较大情况下会使权重下的服务器的处在空闲状态。
计算方法:RS: (active+1)*256/weight=overhead
4Nerver Queue (NQ)永不排队。基于SED基础的算法,将权重低的空闲服务器分配进一个请求。
5LBLC:DH Locality-Based Least-Connection 基于本地的最少连接。LBLC是从WLC的基础上做出来的,支持权重。它跟DH算法几乎相同,不过DH是静态的,而LBLC是动态的。这种改进并不明显
6LBLCR 带复制的基于本地的最少连接。是对LBLC的一种改进,能在LBLC的基础上对负载均衡机制实现真正的负载均衡。
五、 实现 LVS的方法:ipvs
LVS的机制与Iptables有些类似,有一段是专门定义在用户空间,命令叫ipvsadm,而工作在内核空间中的代码叫ipvs2.4内核之后,ipvsadm已经被做进内核中,只需要将相应的功能开启即可。而我们就是通过用户空间中的ipvsadm定义一些规则来实现对内核中ipvs的控制的。
ipvsadm 命令选项以及运用
ipvsadm
-A 定义一个新的集群服务
-E 修改或者编辑已存在的集群服务
-D 删除一个集群服务
-a 添加
-e 编辑
-C 清空
-R == -restore
-S == -safe
-L|l 列出所有的相关ipvsadm规则
-Z :清空计数器
--stats 输出统计信息,与-L一起用
--rate 也与-L一起用
-n 以数字形式输出
定义一个集群服务的完整语法:
ipvsadmin -A|E -t|u|f VIP:port -s 调度算法[默认
-t : tcp的服务器
-uudp的服务
-f:基于防火墙的服务
-s:指定调度算法
定义Realserver
ipvsadm -a|e -t|u VIP:port -r REALSERVER[:port] [-g|i|m] [-w weight]
ipvsadm -d -t|u VIP:port -r REALSERVER
六、一个实现lvs nat的案例
4ef8e8cabbdf2d4e97f8d533d1a99404.png
1、在director分发装置上要做的(基本的网卡配置略)
[iyunv@localhost ~]# uname -r (查看内核)
2.6.18-164.el5
[iyunv@localhost ~]# grep -i ip_vs /boot/config-2.6.18-164.el5 (过滤内核文件中是否支持ipvsadm
[iyunv@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 (在director上要)
[iyunv@localhost ~]# sysctl -p(立即生效)
[iyunv@localhost ~]# ipvsadm -A -t 192.168.145.100:80 -s rr(添加规则调度算法)
[iyunv@localhost ~]# ipvsadm -a -t 192.168.145.100:80 -r 192.168.2.100 -m (指定要分发的real服务器)
[iyunv@localhost ~]# ipvsadm -a -t 192.168.145.100:80 -r 192.168.2.200 -m
[iyunv@localhost ~]# 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.145.100:80 rr
  -> 192.168.2.200:80             Masq    1      0          0         
  -> 192.168.2.100:80             Masq    1      0          0      
2.其他两台real服务器做基本的配置就行了(需要配置网卡,安装apache,实现web的发布)
最重要的一点是:两台real服务器必须指定网关,指向连接服务器的那个director上的网卡,使返回时有路由。
这样就行了。
3、实现加强的轮询调度
[iyunv@localhost Server]# ipvsadm -E -t 192.168.145.100:80 -s wrr (-E编辑原来的)
[iyunv@localhost Server]# ipvsadm -e -t 192.168.145.100:80 -r 192.168.2.100 -m -w 4
[iyunv@localhost Server]# ipvsadm -e -t 192.168.145.100:80 -r 192.168.2.200 -m -w 2
[iyunv@localhost Server]# ipvsadm -ln
可以看到2.100的连接是2.200的二倍,实现了加强的轮询。
a1ad54393e96adfe4c82dbfb0dcf5e57.png
8673eb7c9ca510292daa92bfae1e676f.png
a2aac5032fda2c92033aab09edf10688.png

做后的疑问:realserver服务器,在做lvs-nat模式时(rr)本来是可以用不同的操作系统实现,但在做的过程中如何用一台windows 2003 server ,另一台用linux,实现的效果是当开始访问的是linuxweb服务,刷新后变成windows 的网页,但以后再刷新一直是windows的网页,如果等一段时间在刷新变成了linux的网页,在刷新变成了windows,在刷还是变不过来,不知道是为什么,用两台linux正常。在查看ipvsadm规则表时,本来对于http访问时无连接访问,但windows显得是处在连接中,不是inactive

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-2965-1-1.html 上篇帖子: Apache+Lvs+Mysql读写分离 下篇帖子: LVS+Heartbeat+Ldirectord

尚未签到

发表于 2013-3-13 17:58:24 | 显示全部楼层
过来看看的

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 03:49:59 | 显示全部楼层
睡眠是一门艺术——谁也无法阻挡我追求艺术的脚步!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 18:58:26 | 显示全部楼层
不在课堂上沉睡,就在酒桌上埋醉。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 14:10:48 | 显示全部楼层
学习了,不错,讲的太有道理了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 04:51:06 | 显示全部楼层
流氓不可怕,就怕流氓有文化。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-19 02:22:33 | 显示全部楼层
穿别人的鞋,走自己的路,让他们找去吧。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

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

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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