一、案例一NAT 案例简单介绍:
三台RHEL5.8虚拟机, 两台做集群web服务器realserver ,ip分别为192.168.2.2和192.168.2.4。它们gateway都要指向分发器director的内网地址192.16.2.3。将这两个web服务器放在虚拟网络中的host-only中。
分发器director ,Ip为172.16.20.3与外网通信,ip为192.168.2.3(放在host-only)做为内部集群web服务器的网管。
本地物理机做客户端client,它的ip我们设置为192.168.0.193
配置过程: 1、web对象1上安装httpd包。将web1的gateway改成director的私有ip地址
#Realserver1:ip为192.168.2.2 - [iyunv@yangyaru ~]# yum install -y httpd
- [iyunv@yangyaru ~]# echo “linux 2 nat ”>/var/www/html/index.html
- [iyunv@yangyaru ~]# service httpd start
- [iyunv@yangyaru~]# setup
web服务器2配置与web1的步骤一样。
2、分发器director有两个网卡,一个为公网ip地址为172.16.20.3,一个为私有ip地址为192.168.2.3将它放在host—only中,安装ipvsadm包,添加规则。
- [iyunv@yangyaru ~]# yum install -y ipvsadm
- [iyunv@yangyaru ~]# service ipvsadm start
-
- ipvsadm: Clearing the current IPVS table: [ OK ]
-
- ipvsadm: Applying IPVS configuration: [ OK ]
- [iyunv@yangyaru ~]#ipvsadm -A -t 172.16.20.3:80 -s wrr
-
- [iyunv@yangyaru ~]# ipvsadm -A -t 172.16.20.3:80 -r 192.168.1.2 -m -w 2
- [iyunv@yangyaru ~]# ipvsadm -A -t 172.16.20.3:80 -r 192.168.1.4 -m -w 1
3、验证服务:
有上面的验证结果我们可以看wrr调度方式的比例是1:3 ^_^
二、LVS之DR转换模式: 实现DR转换的方式: 1、VIP:MAC(DVIP) 手动的添加arp解析。但是具有一定的局限性,因为我们的路由器很有可能不是我们自己的。 2、arptables: 3、kernel parameter arp——ignore:定义接受到arp请求时的响应级别 0:只要本地配置的有相应地址,就给与响应 1:仅在请求的目标地址配置请求到达的接口上的时候,才给与响应 arp——announce:定义将自己的地址向外通告时的通告级别 0:将本地任何接口上的任何地址向外通告 1:尽可能仅向目标网络通告与其网络匹配的地址 2:仅向与本地接口上地址匹配的网络进行通报
三、案例二DR配置,我们使用上面的第3中方式 kernel parameter来实现: 1、案例的简单说明:
三台RHEL5.8虚拟机, 两台做集群web服务器realserver ,ip分别为172.16.20.2和172.16.20.4。
Ip为172.16.20.3的主机做分发器director ,
本地物理机做客户端client
2、配置过程步骤:
#Realserver1:ip为172.16.20.2
- [iyunv@yangyaru ~]# yum install -y httpd
- [iyunv@yangyaru ~]# echo “linux 2”>/var/www/html/index.html
-
- [iyunv@yangyaru ~]# sysctl -w net.ipv4.conf.eth0.arp_announce=2
-
- [iyunv@yangyaru ~]# sysctl -w net.ipv4.conf.all.arp_announce=2
-
- [iyunv@yangyaru ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
-
- [iyunv@yangyaru ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
-
- [iyunv@yangyaru ~]# ifconfig lo:0 172.16.20.5 netmask 255.255.255.255 broadcast 172.16.20.5 up
-
- [iyunv@yangyaru ~]# route add -host 172.16.20.5 dev lo:0
#Realserver2:ip为172.16.20.4
- [iyunv@yangyaru ~]# yum install -y httpd
- [iyunv@yangyaru ~]# echo “linux 4”>/var/www/html/index.html
-
- [iyunv@yangyaru ~]# sysctl -w net.ipv4.conf.eth0.arp_announce=2
-
- [iyunv@yangyaru ~]# sysctl -w net.ipv4.conf.all.arp_announce=2
-
- [iyunv@yangyaru ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
-
- [iyunv@yangyaru ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
-
- [iyunv@yangyaru ~]# ifconfig lo:0 172.16.20.5 netmask 255.255.255.255 broadcast 172.16.20.5 up
-
- [iyunv@yangyaru ~]# route add -host 172.16.20.5 dev lo:0
#Director:eth0上ip为172.16.20.3 eth0:0 172.16.20.5
- [iyunv@yangyaru ~]# yum install -y ipvsadm
- [iyunv@yangyaru ~]# service ipvsadm start
-
- ipvsadm: Clearing the current IPVS table: [ OK ]
-
- ipvsadm: Applying IPVS configuration: [ OK ]
- [iyunv@yangyaru ~]# ipvsadm -A -t 172.16.20.5:80 -s wlc
-
- [iyunv@yangyaru ~]# ipvsadm -a -t 172.16.20.5:80 -r 172.16.20.2 -g -w 2
-
- [iyunv@yangyaru ~]# ipvsadm -a -t 172.16.20.5:80 -r 172.16.20.4 -g -w 1
3、验证我们的结果。
#本地物理机浏览器验证我们的集群web服务。
#查看我们集群服务器上面连接状态。
[Shell] 纯文本查看 复制代码 [iyunv@yangyaru ~]# ipvsadm -L -n --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 172.16.20.5:80 25 221 0 18994 0
-> 172.16.20.4:80 9 80 0 6872 0
-> 172.16.20.2:80 16 141 0 12122
|