共计 1456 个字符,预计需要花费 4 分钟才能阅读完成。
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
相关阅读 :
通过 LVS 实现 WEB 站点的 MySQL 高可用 http://www.linuxidc.com/Linux/2013-06/86390.htm
LVS+Apache+PHP+MySQL 读写分离 http://www.linuxidc.com/Linux/2012-12/77027.htm
MySQL LVS 负载均衡 http://www.linuxidc.com/Linux/2012-09/69862.htm
企业 Web 高可用集群实战之 LVS+Keepalived+MySQL HA http://www.linuxidc.com/Linux/2012-09/70097.htm