LVS学习笔记 4LVS-DR实验 最终版 试验OK

1,建立好主机,虚拟机通信局域网

首先:

WIN7主机上

添加新硬件--网络适配器--制造商--Microsoft--选择Microsoft回环适配器--下一步

然后在网络和Internet\网络连接里边看到本地连接2,类型为LoopbackAdapter

设置 本地连接2 IP:172.16.10.1/16 其他不用设置

然后:

在虚拟机界面:编辑--虚拟网络编辑器--桥接到:Microsoft Loopback Adapter



规划:

WIN7:172.16.10.10/23

VIP、DIP、RIP在同一网段

Director:eth0--DIP:172.16.10.11/16;eth0:0—VIP:172.16.10.10  桥接

RS1:eth0—RIP:172.16.10.12;lo:0—VIP:172.16.10.10        桥接

RS2:eth0—RIP:172.16.10.13;lo:0—VIP:172.16.10.10        桥接


开始配置虚拟机:

(1)Director

#ifconfig eth0 172.16.10.11/16

# ifconfig eth0:0 172.16.10.10/16

此时还不能直接配置lo:0,如果此时在RS1和RS2配置了lo:0 172.16.10.10,没有配置arp_ignore,arp_announce参数,我们会从WIN7看到如下



可以看到 Director,RS1,RS2均做出了回应

(2)

RS1

#ifconfig eth0 172.16.10.12/16

# sysctl -w net.ipv4.conf.eth0.arp_ignore=1

# sysctl -w net.ipv4.conf.eth0.arp_announce=2

# sysctl -w net.ipv4.conf.all.arp_ignore=1       all也要改,不知道为什么不能直接改all就可以了?

# sysctl -w net.ipv4.conf.all.arp_announce=2

# ifconfig lo:0 172.16.10.10/16



RS2

#ifconfig eth0 172.16.10.13/16

# echo "1">/proc/sys/net/ipv4/conf/eth0/arp_ignore

# echo "2">/proc/sys/net/ipv4/conf/eth0/arp_announce

# echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore

# echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

# ifconfig lo:0 172.16.10.10/16


再次测试:



(3)注意此时从client浏览器登录172.16.10.10是登不上的,因为没有配置响应报文的源IPRSlo:0上的VIP,即,现在的响应报文是从RSeth0上出来的,所以响应报文的源IP自然就是RSRIPclient请求时,目的IPVIP,那么自然会认为收到的响应报文源IP应该是VIP,而此刻client收到的响应报文源IPRIP,所以client是不会接收此响应报文的

所以到此为止的配置还是不可用的,接下来要配置路由条目,保证响应报文使用VIP做响应报文的源地址,还有lo:0的广播地址

分别配置

RS1和RS2;

         #ifconfiglo:0 172.16.10.10 broadcast 172.16.10.10 netmask 255.255.255.255

         #routeadd –host 172.16.10.10 dev lo:0    

Director:

         #route add -host 172.16.10.10 dev eth0:0

(4)最后添加ipvs规则

Rirector:

#ipvsadm –A –t 172.16.10.10:80 –s wlc

#ipvsadm –a –t 172.16.10.12:80 -r 202.193.53.12 –g –w 3

#ipvsadm –a –t 172.16.10.13:80 -r 202.193.53.12 –g –w 1

然后通过win7client浏览器 测试 输入网址:172.16.10.10 OK,DR模型试验成功!


(5)但是这样的功能不够完善,因为如果RS宕机,director依旧会把请求转发给RS,所以要建立健康状态检查机制,当RS下线,就不转发给他,若上线则添加它

用什么检查RS是否在线呢,不如WEB服务是否在线?

使用curl,设置好timeout,

#curl --connect-timeout 1 http://.....  /dev/null

 后段健康状况检查脚本,例如:

#!/bin/bash


还可以把Director作为备用WEB,当所有的RS宕机,就加入director的httpd服务显示服务器维护



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值