首页 > 系统服务 > 详细

linux简单集群实现

时间:2014-04-17 21:43:02      阅读:988      评论:0      收藏:0      [点我收藏+]

一、LVS NAT的实现

实现实验环境

准备3台主机,分别作Director,RS1,RS2,通过访问web服务来测试集群功能!

各网卡配置如下,

服务器网卡地址
Director

eth0:172.16.8.8(作为VIP)

eth1:192.168.10.1(作为DIP)

RS1eth0:192.168.10.11(作为RIP)
RS2eth0:192.168.10.12 (作为RIP)


拓扑图:

bubuko.com,布布扣


1.Director服务器的配置

设置VIP与DIP的地址

[root@master ~]# ifconfig eth0 172.16.8.8/16  //VIP
[root@master ~]# ifconfig eth1 192.168.10.1/24  //DIP


如下图:

bubuko.com,布布扣


2、RS1服务器的配置

配置RIP地址:

[root@master ~]# ifconfig eth0 192.168.10.11/24 //RIP

如图

bubuko.com,布布扣


把RS1服务器的默认网关指向DIP

[root@master ~]# route add default gw 192.168.10.1

如图

bubuko.com,布布扣


创建测试网页文件

# yum -y install httpd //没有httpd的话则安装
# vim /var/www/html/index.html
写如如下内容
<h1>web2</h1>



3.RS2服务器的配置

配置RIP

[root@master ~]# ifconfig eth0 192.168.10.12/24 //RIP

如图

bubuko.com,布布扣


把RS2服务器的默认网关也指向DIP

[root@master ~]# route add default gw 192.168.10.1

如图:

bubuko.com,布布扣


创建网页文件:

# yum -y install httpd //没有httpd的话则安装
# vim /var/www/html/index.html
写如如下内容
<h1>web2</h1>



4 、在Director服务器上配置集群服务

打开IP转发:

# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@master ~]# yum -y install ipvsadm
[root@master ~]# ipvsadm -A -t 172.16.8.8:80 /这里采用默认调度方法wlc来配置集群
[root@master ~]#  ipvsadm -a -t 172.16.8.8:80 -r 192.168.10.11:80 -m -w 3 //添加RS1记录,lvs类型为nat,RS权重为3
[root@master ~]#  ipvsadm -a -t 172.16.8.8:80 -r 192.168.10.12:80 -m -w 1 //添加RS2记录,lvs类型为nat,RS权重为1


如图:

bubuko.com,布布扣


5、打开游览器输入VIP地址172.16.8.8测试

查看ipvsadm状态

bubuko.com,布布扣

从上图看出,nat集群服务已经生效,从Conns,InPkts值来看二者RS权重比3:1,基本符合设定值


二、LVS-DR的配置

VIP和RIP在同一公网网段

服务器网卡地址
Director

eth0:172.16.8.8(作为DIP)

eth0:0:172.16.8.6(作为VIP)

RS1

eth0:172.16.8.7(作为RIP)

lo:0 172.16.8.6 (vip)

RS2

eth0:172.16.8.9 (作为RIP)

lo:0 172.16.8.6 (vip)


拓扑图:

bubuko.com,布布扣


1、Director的配置

准备一块网卡配置VIP与DIP

[root@master ~]# ifconfig eth0 172.16.8.8/16 //(DIP)
[root@master ~]# ifconfig eth0:0 172.16.8.6/16 //(VIP)
[root@master ~]# route add -host 172.16.8.6 dev eth0:0 //让发往172.16.8.6的请求都经过eth0:0


2、RS1的配置

创建网页文件:

# yum -y install httpd //没有httpd的话则安装 
# vim /var/www/html/index.html
写如如下内容
<h1>web1</h1>

 

配置DIP

[root@master ~]# ifconfig eth0 172.16.8.7 //RIP


修改内核参数来先限制arp的广播和应答:

# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

bubuko.com,布布扣


配置VIP

[root@master ~]# ifconfig lo:0 172.16.8.6 netmask 255.255.255.255 broadcast 172.16.8.6 up //配置VIP必须不让realserver对外广播


配置路由

[root@master ~]#  route add -host 172.16.8.6 dev lo:0 #请求是VIP的包,以lo:0接口出去,于是源地址还是为VIP,不会导致因为从eth0出去将源地址变为RIP

bubuko.com,布布扣

bubuko.com,布布扣


3、RS2的配置

创建网页文件
# yum -y install httpd //没有httpd的话则安装
# vim /var/www/html/index.html
写如如下内容
<h1>web2</h1>


修改内核参数来先限制arp的广播和应答:

# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce


配置RIP与VIP

[root@master ~]# ifconfig eth0 172.16.8.9 //RIP
[root@master ~]# ifconfig lo:0 172.16.8.6 netmask 255.255.255.255 broadcast 172.16.8.6 up //配置VIP必须不让realserver对外广播


配置路由:

[root@master ~]#  route add -host 172.16.8.6 dev lo:0 #请求是VIP的包,以lo:0接口出去,于是源地址还是为VIP,不会导致因为从eth0出去将源地址变为RIP

bubuko.com,布布扣


4、在Director服务器上添加集群服务

[root@master ~]# ipvsadm -A -t 172.16.8.6:80 -s rr
[root@master ~]# ipvsadm -a -t 172.16.8.6:80 -r 172.16.8.7 -g
[root@master ~]# ipvsadm -a -t 172.16.8.6:80 -r 172.16.8.9 -g

bubuko.com,布布扣


打开网页测试:

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣


从上图看出LVS-DR模型配置成功!


三、LVS -DR模型的另一种配置

为了节约公网地址,DR模型下VIP可用公网地址,RIP用内网地址,将网关都指向同一个路由器,以此来实现DR模型的LVS负载均衡

服务器网卡地址
Director

eth0:172.16.8.6(作为VIP)

eth1:192.168.10.1(作为DIP)

RS1

eth0:192.168.10.11(作为RIP)

lo:0 172.16.8.6 (VIP)

gw:192.168.10.13

RS2

eth0:192.168.10.12 (作为RIP)

lo:0 172.16.8.6 (VIP)

gw:192.168.10.13

Client(网关服务器)

eth0:192.168.10.13

eth1:172.16.10.1


拓扑图:

bubuko.com,布布扣


1.Director服务器的配置

准备二块网卡设置VIP与DIP的地址

[root@master ~]# ifconfig eth0 172.16.8.6/16  //VIP
[root@master ~]# ifconfig eth1 192.168.10.1/24  //DIP


2、RS1的配置

创建网页文件
# yum -y install httpd //没有httpd的话则安装
# vim /var/www/html/index.html
写如如下内容
<h1>web1</h1>


修改内核参数来先限制arp的广播和应答:

# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce


配置VIP与DIP:

[root@master ~]# ifconfig eth0 192.168.10.11 //RIP
[root@master ~]# ifconfig lo:0 172.16.8.6 netmask 255.255.255.255 broadcast 172.16.8.6 up //配置VIP必须不让realserver对外广播


配置路由与网关:

[root@master ~]#  route add -host 172.16.8.6 dev lo:0 //请求是VIP的包,以lo:0接口出去,于是源地址还是为VIP,不会导致因为从eth0出去将源地址变为RIP
[root@master ~]# route add default gw 192.168.10.13 //指向路由服务器

bubuko.com,布布扣


3、RS2的配置

创建网页文件
# yum -y install httpd //没有httpd的话则安装
# vim /var/www/html/index.html
写如如下内容
<h1>web2</h1>


修改内核参数来先限制arp的广播和应答

# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce


配置VIP与DIP:

[root@master ~]# ifconfig eth0 192.168.10.12 //RIP
[root@master ~]# ifconfig lo:0 172.16.8.6 netmask 255.255.255.255 broadcast 172.16.8.6 up //配置VIP必须不让realserver对外广播


配置路由与网关:

[root@master ~]#  route add -host 172.16.8.6 dev lo:0 //请求是VIP的包,以lo:0接口出去,于是源地址还是为VIP,不会导致因为从eth0出去将源地址变为RIP
[root@master ~]# route add default gw 192.168.10.13 //网关指向路由服务器

bubuko.com,布布扣


4、配置路由服务器

启动一台主机配置成路由服务器,添加以下规则:

配置网卡:

bubuko.com,布布扣


添加路由规则:

[root@master ~]# route add -net 192.168.10.0 netmask 255.255.255.0 dev eth1 //发往192.168.10网段的请求经过eth1出去
[root@master ~]# route add -net 172.16.0.0 netmask 255.255.0.0 dev eth0   //发往172.16.0.0网段的请求经过eth0出去

bubuko.com,布布扣


5、在Director服务器上添加集群服务

[root@master ~]# ipvsadm -A -t 172.16.8.6:80 -s rr
[root@master ~]# ipvsadm -a -t 172.16.8.6:80 -r 192.168.10.11 -g
[root@master ~]# ipvsadm -a -t 172.16.8.6:80 -r 192.168.10.12 -g


测试:

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣


从图看出vip与RIP不在同一网段的DR模型配置成功!


注:如果各个网卡都是桥接的话,反应可能有点延迟,测试时,最好把各个网卡放在同一HOST-ONLY下,我这里是虚拟机:如图

bubuko.com,布布扣


在路由服务器上测试,如图:

bubuko.com,布布扣

linux简单集群实现,布布扣,bubuko.com

linux简单集群实现

原文:http://584014981.blog.51cto.com/8605371/1396544

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!