LVS是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立,可以实现LINUX平台下的简单负载均衡。可以提供高的吞吐率、一定的冗余能力、可扩展性。
LVS的类型
Network Address Translation (LVS—NAT)模型所有的流量都经过Director,所以后方的节点一般最多不会超过10个,后发的server可以是任意的操作系统,不具备异地容灾。
Direct Routing (LVS—DR)模型 支持多节点(最大100)请求的流量经过Director,响应时直接给客户,处理的请求多,不能做端口映射,不具备异地容灾能力。
IP Tunneling (LVS—TUN)模型,具有异地容灾能力。
下面举一个小例子来说明一下LVS分发装置的NAT模型,来实现web的群集
Server1 192.168.3.100 GW 192.168.3.354
Server2 192.168.3.200 GW 192.168.3.254
1、在Director上开启数据包转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p --立即生效
2、分别在server1和server2上搭建web服务器,为了看效果在
server1的网页内容为123,server2的网页内容为456
3、看内核中是否有ipvs代码grep -i ip_vs /boot/config-2.6.18-164.el5
安装ipvsadm(建议用yum安装)
yum -y install ipvsadm
先不要启动ipvsadm服务
4、定义虚拟服务LVS规则
ipvsadm -A -t 192.168.2.100:80 -s rr
-A 增加一个虚拟规则
-t tcp
192.168.2.100:80 提供用户访问的ip地址及服务
-s rr 轮询调度的算法
ipvsadm -a -t 192.168.2.100:80 -r 192.168.3.100 -m
--增加后方的server -m 就是NAT模型
ipvsadm -a -t 192.168.2.100:80 -r 192.168.3.200 -m
查看一下规则
保存规则
service ipvsadm save
启动ipvsadm
service ipvsadm start
chkconfig ipvsadm on
这样在浏览器上输入http://192.168.2.100就可访问到后方的web服务器了,显示的是”123“这个web页面,刷新一下就会改变为”456“这个网页,他两依次轮询,(实际应用两个网站是一样的)
改变其中的一个的权重值,是否起作用呢
ipvsadm -e -t 192.168.2.100:80 -r 192.168.3.100 -m -w 10
权重值对rr是算法不起作用的
当将算法改为wrr才起作用
ipvsadm -E -t 192.168.2.100:80 -s wrr