您的位置:首页 > 其它

NAT和DR负载均衡集群简单配置

2013-09-11 17:23 344 查看
基于web的Nat集群配置



一、条件

1、最少三台服务器,一台配置调度器,其余主机配置web服务器

2、调度器主机上最少有两张网卡,一张网卡作为内部网络的网关(DIP),另一张网卡作为公网ip(VIP),由于这种类型有公网和内网之分,所以,需要对两张网卡设置成不同的网络,而如果是一张网卡,就无法实现。

二、规划

1,由于是在虚拟机中进行配置,就都是用私有地址了。

配置ip和路由以及网关

首先为网卡选择网络连接方式,防止配置好ip后,在选择连接方式,ip会重置

DIP、realserver1、realserver2选择vmnet

VIP桥接就好

调度器VIP:172.16.5.11

DIP: 192.168.1.11作为realserver的网关

服务器ip

Realserver1:192.168.1.12

Realserver2:192.168.1.13

2,为realserver提供网页

3,安装lvs调度器工具ipvsadm,给调度器配置规则

三、配置

1,网络选择

按照上述所说,选择好网络,接下来就开始配置ip

2,realserver1配置

# ifconfig eth0 192.168.1.12/24 up
# route add default gw 192.168.1.11
提供网站首页

# vim /var/www/html/index.html
<h1>realserver1</h1>
# service httpd start
3,realserver2配置

# ifconfig eth0 192.168.1.13/24 up
# route add default gw 192.168.1.11
提供网站首页

# vim /var/www/html/index.html
<h1>realserver2</h1>
# service httpd start
4,调度器配置

# ifconfig eth0 172.16.5.11/16 up
# ifconfig eth1 192.168.1.11/24 up
# route add default gw 172.16.0.1------------教室网关
5,安装ipvsadm-1.25-10.el6.x86_64

# yum -y install ipvsadm-1.25-10.el6.x86_64
6,配置规则

# ipvsadm -A -t 172.16.5.11:80 -s rr
# ipvsadm -a -t 172.16.5.11:80 -r 192.168.1.12 -m
# ipvsadm -a -t 172.16.5.11:80 -r 192.168.1.13 -m
7,启用转发

# sysctl -w net.ipv4.ip_forward=1
这一步不可少,否则,只能接受请求报文,响应报文发不出去。

基于web的DR(director route)类型的负载均衡

一、分析及规划

1,同样,至少三台主机,一台做调度器,其余两台做web服务器。

2,因为这种类型的报文的传送是通过ARP解析mac地址,进行ip欺骗的网络传输。请求报文送达目的主机,目的主机直接将返回报文发往原地址,无需经过调度器,因此调度器只需要一块网卡即可。

3,调度器上的vip是用户请求的ip,也是web服务需要封装mac地址的ip,是公网IP,可以在同一块网卡上另添加一个ip(DIP),作为和reaserver(RIP)通信的一个网段内的ip,此时rip可以是私有ip,也可以使公网ip,这取决于dip的类型。我们暂且使用私有ip。

4,reserver收到报文后,直接讲报文转发出去,但能跟外界通信的只有RIP,但发出去的报文源ip却是vip,这就需要设置内核参数,来达到目的。

5,规划

Vip:172.16.5.11

Dip:192.168.1.11

Realserver1:eth0:192.168.1.12

Lo:0:172.16.5.11

Realserver2:eth0:192.168.1.13

Lo:0:172.16.5.11

6,其余配置沿用nat机制。

二、配置实现

1、Realserver1

# ifconfig eth0 192.168.1.12
# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# ifconfig lo:0 172.16.5.11 broadcast 172.16.5.11 netmask 255.255.255.255 up
# route add -host 172.16.5.11 dev lo:0
# route add default gw 192.168.1.254----------三台主机在同一个网段
提供网站首页

# vim /var/www/html/index.html
<h1>realserver1</h1>
2、Realserver1

# ifconfig eth0 192.168.1.13
# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# ifconfig lo:0 172.16.5.11 broadcast 172.16.5.11 netmask 255.255.255.255 up
# route add -host 172.16.5.11 dev lo:0
# route add default gw 192.168.1.254----------三台主机在同一个网段
提供网站首页

# vim /var/www/html/index.html
<h1>realserver2</h1>
3、配置调度器

# ifconfig eth0 172.16.5.11 broadcast 172.16.5.11 netmask 255.255.255.255 up------调度器配置Vip的网卡是外网接口

# ifconfig eth0:1 192.168.1.11
# route add default gw 192.168.1.254
规则配置

# ipvsadm -A -t 172.16.5.11:80 -s wrr
-s 指明方法

Wrr 权重模式

# ipvsadm -a -t 172.16.5.11:80 -r 192.168.1.12 -g -w 2
# ipvsadm -a -t 172.16.5.11:80 -r 192.168.1.13 -g -w 3
-g 是dr模式

-w 指明权重

4、别忘了启用转发

# sysctl -w net.ipv4.ip_forward=1

三、lvs的其他注意事项:

关于时间同步:各节点间的时间偏差不大于1s,建议使用统一的ntp服务器进行更新时间;

DR模型中的VIP的MAC广播问题:

在DR模型中,由于每个节点均要配置VIP,因此存在VIP的MAC广播问题,在现在的linux内核中,都提供了相应kernel 参数对MAC广播进行管理,具体如下:

arp_ignore: 定义接收到ARP请求时的响应级别;

0:只要本地配置的有相应地址,就给予响应;
1:仅在请求的目标地址配置在到达的接口上的时候,才给予响应;DR模型使用

arp_announce:定义将自己地址向外通告时的通告级别;

0:将本地任何接口上的任何地址向外通告;
1:试图仅向目标网络通告与其网络匹配的地址;
2:仅向与本地接口上地址匹配的网络进行通告;DR模型使用

本文出自 “秋风颂” 博客,请务必保留此出处http://qiufengsong.blog.51cto.com/7520243/1294659
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: