|
/*
@author:luowen
@time:2013-08-09
@LVS+[NET,TUNL,DR]实现负载均衡
[LVS-NAT]
1.原理:外网Ip访问LVS服务器,LVS通过地址转换成外网访问真是的服务器,真是服务器把结
果返回给LVS在由LVS返回给外网IP
客户访问IP:外网
LVS:两个网卡一个外网IP,一个内网IP
真是服务器:和LVS在同一个网段的内网
注:这个模式只需要一个公网ip,但是每次请求和返回都需要经过LVS服务器,服务器可能会成为瓶颈.
2.安装 yum install ipvsadm*
3.配置
[网络拓扑]
lvs-server:
两个网卡: eth0 : 8.8.8.8 eth1 192.168.1.1
real-server1:
一块网卡: eth0 : 192.168.1.2
real-server2:
一块网卡: eth0 : 192.168.1.2
[注] real-server1 eth0,real-server2 eth0 ,lvs-server eth1 在同一个网段
[LVS-SERVER]
(1). echo '1' > /proc/sys/net/ipv4/ip_forward 开启路由管道(服务器两个网卡可以链接数据,实现路由)
(2). ipvsadm -C //清除所有的转发表
(3).ipvsadm -A -t 8.8.8.8:80 -s rr
ipvsadm -a -t 8.8.8.8:80 -r 192.186.10.2:80 -m
ipvsadm -a -t 8.8.8.8:80 -r 192.186.10.3:80 -m
[REAL-SERVER](两台都一样)
(1). route add default gw 192.168.1.1 真实服务器都要通过LVS eth1 网卡出去 //配置网关
(2). 如果实验失败,检查下iptables selinux 设置
[LVS-IP-TUNL]
1.
原理:外网Ip访问LVS服务器,LVS调度到真是服务器,真是服务器把结果直接返回给外网客户
客户访问IP:外网
LVS:公网IP
真是服务器:公网IP
注:LVS和真是服务器都需要配置同样的公网IP,需要租用四个公网的ip,没有瓶颈
2.安装ipvsadm yum install ipvsadm*
3.配置
[LVS SERVER]
ifconfig tunl0 192.168.10.10 netmask 255.255.255.255 up //配置隧道ip地址
route add -host 200.168.10.10 dev tunl0 //添加路由
ipvsadm -C
ipvsadm -At 200.168.10.10:80 -s rr
ipvsadm -at 200.168.10.10:80 -r 200.168.10.3 -i
ipvsadm -at 200.168.10.10:80 -r 200.168.10.4 -i
[REAL SERVER](两台都一样)
ifconfig tunl0 192.168.10.10 netmask 255.255.255.255 up //配置隧道ip地址
route add -host 200.168.10.10 dev tunl0 //添加路由
echo '1' >/proc/sys/net/ipv4/conf/tunl0/arp_ignore //当
echo '2' >/proc/sys/net/ipv4/conf/tunl0/arp_announce
echo '1' >/proc/sys/net/ipv4/conf/all/arp_ignore
echo '2' >/proc/sys/net/ipv4/conf/all/arp_announce
[LVS-DR]
1.
原理:就是讲tunl网卡用lo网卡代替
2.安装ipvsadm yum install ipvsadm*
3.配置
[LVS SERVER]
ifconfig eth0:0 192.168.10.10 netmask 255.255.255.255 up //配置隧道ip地址
route add -host 200.168.10.10 dev eth0:0 //添加路由
ipvsadm -C
ipvsadm -At 200.168.10.10:80 -s rr
ipvsadm -at 200.168.10.10:80 -r 200.168.10.3 -g
ipvsadm -at 200.168.10.10:80 -r 200.168.10.4 -g
[REAL SERVER]
ifconfig lo:0 192.168.10.10 netmask 255.255.255.255 up //配置隧道ip地址
route add -host 200.168.10.10 dev lo:0//添加路由
echo '1' >/proc/sys/net/ipv4/conf/lo/arp_ignore //当
echo '2' >/proc/sys/net/ipv4/conf/lo/arp_announce
echo '1' >/proc/sys/net/ipv4/conf/all/arp_ignore
echo '2' >/proc/sys/net/ipv4/conf/all/arp_announce
[轮叫算法]
1.Round Robin 平均轮叫 (平均分配)
2.Weighted Round Robin 加权轮叫(自动分配到性能好的服务器)
3.Least Connections 最少链接算法(分配到最少链接的服务器)
4.Weighted Least Connections 加权最少链接算法
/*
|
|
|