LVS搭建负载均衡集群服务
2012-05-19 07:56:43 来源:WEB开发网杂项 VS/NAT VS/TUN VS/DR
服务器操作系统 任意 支持隧道 多数(支持Non-arp )
服务器网络 私有网络 局域网/广域网 局域网
服务器数目(100M网络) 10-20 100 多(100)
服务器网关 负载均衡器 自己的路由 自己的路由
效率 一般 高 最高
《三》,配置LVS/NAT ,LVS/TUN , LVS/DR不同的方式来实现负载均衡集群
一,LVS/NAT 方式来实现负载均衡集群
如上LVS简介所说 VS/NAT:也就是网络地址翻译技术实现虚拟服务器,当用户请求到达调度器时,调度器将请求报文的目标地址(即虚拟IP地址)改写成选定的Real Server地址,同时报文的目标端口也改成选定的Real Server的相应端口,最后将报文请求发送到选定的Real Server。在服务器端得到数据后,Real Server返回数据给用户时,需要再次经过负载调度器将报文的源地址和源端口改成虚拟IP地址和相应端口,然后把数据发送给用户,完成整个负载调度过程。
图画的有点难看,表达出一个最简单的LVS/NAT方式的负载均衡集群就差不多了。
1,环境说明:LVS要有两块网卡,一块跟互联网通信,另一块网卡跟局域网通信,并作为局域网的网关。
10.0.0.1是LVS与互联网的虚拟server ip地址,简称为VIP。
192.168.0.254是LVS与内部真实服务器通信的ip地址,简称为DIP.
2,real server 1 和 real server 2 在这里我作为web服务器,分别安装httpd:
yum -y install httpd
echo “server1” > /var/www/html/index.html
service httpd start
3,配置:
echo "1" > /proc/sys/net/ipv4/ip_forward #开启ip转发功能
sysctl -p #立即生效
用ipvsadm设置规则:
[root@localhost ~]# ipvsadm -C # -C 清空
[root@localhost ~]# ipvsadm -A -t 10.0.0.1:80 -s rr # -rr 为调用轮询
[root@localhost ~]# ipvsadm -a -t 10.0.0.1:80 -r 192.168.0.1:873 -m -w 2 #-m 为nat方式
[root@localhost ~]# ipvsadm -a -t 10.0.0.1:80 -r 192.168.0.2:873 -m -w 3 #-m 为nat方式
(相关的ipvsadm命令详细介绍文章后面有参考,可供参考)
在real server1 个 real server2 分别设置默认网关指向内部真实服务器通信的ip地址192.168.0.254:
route add default gw 192.168.23.1
4,一个简单的LVS/NAT方式的负载均衡集群就架设了。现在咱们从外面访问10.0.0.1.之后。
测试是否成功,输入命令ipvsadm查看:
如图已经很清楚的表现出来 ,这个负载群集已经成功的在运行了。
5,总结:第一个LVS/NAT方式的已经实现了,这个方式也是最为简单的!这样有一个好处 Server Array层中real server 用的内部的IP,这样还可以节省IP的开销呢。但是,在NAT方式下,用户请求和响应报文都必须经过Director Server地址重写,当用户请求越来越多时,调度器的处理能力将称为瓶颈!
后面两种LVS/TUN LVS/DR 方式下次补充!!!
补充:ipvsadm命令详细介绍
更多精彩
赞助商链接