前面一篇我们说到了LVS 群集的NAT 模式的配置,今天说说DR模式的配置。

案例要求:director上的网卡eth0:0上配置VIP地址,eth0上配置DIP地址,外网用户通过交换机访问到directorVIP,然后director通过DIP将请求发送至两台realserver realserver1realserver2 ,然后两台realserver 通过交换机到存储服务器上查找网页,在将结果直接通过左侧的交换机返回给客户机,绕开director.

拓扑图如下

 

步骤如下:

1.real server1real server2 ip正确配置并

安装httpd服务,测试网页分别为test1 和 test2

2.使用命令sysctl -a |grep arp 查看arp_announcearp_ignore的值

[root@localhost ~]# sysctl -a |grep arp 

net.ipv4.conf.eth0.arp_ignore = 0

net.ipv4.conf.eth0.arp_announce = 0

arp_announce的值改为2,将arp_ignore的值改为1/etc/sysctl.conf

[root@localhost ~]# echo "net.ipv4.conf.eth0.arp_announce = 2" >> /etc/sysctl.conf

[root@localhost ~]# echo "net.ipv4.conf.all.arp_announce = 2" >> /etc/sysctl.conf

[root@localhost ~]# echo "net.ipv4.conf.eth0.arp_ignore = 1" >> /etc/sysctl.conf

[root@localhost ~]# echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf

[root@localhost ~]# sysctl -p      #使服务生效

5.net.ipv4.conf.eth0.arp_announce = 2

6.net.ipv4.conf.all.arp_announce = 2

7.net.ipv4.conf.eth0.arp_ignore = 1

8.net.ipv4.conf.all.arp_ignore = 1

3.配置realserver1loopback0:0ip地址,子网掩码为4个 255

设置loip

 

5.server1上添加路由,当directory收到请求时就会转到loip为 10.101的网卡上

[root@localhost ~]# route add  -host 192.168.10.101 dev lo:0

同理server2上是同样的配置。

6.Directory 的配置

director上安装ipvsadm服务

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom

[root@localhost ~]# cd /mnt/cdrom/Cluster

[root@localhost Cluster]# rpm -ivh ipvsadm-1.24-10.i386.rpm 

7.声明服务,添加服务器

[root@localhost Cluster]# ipvsadm -A -t 192.168.10.101:80 -s rr

[root@localhost Cluster]# ipvsadm -a -t 192.168.10.101:80 -r 192.168.10.200 -g

[root@localhost Cluster]# ipvsadm -a -t 192.168.10.101:80 -r 192.168.10.201 -g

8.保存配置,启动ipvsadm服务

[root@localhost Cluster]# service ipvsadm save

Saving IPVS table to /etc/sysconfig/ipvsadm:               [确定]

[root@localhost Cluster]# service ipvsadm start

9.在外网访问如下:刷新两个网页交替出现

 

 

10.directory上查看匹配如下:

[root@localhost Cluster]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.10.101:80 rr

  -> 192.168.10.200:80            Route   1      0          6         

  -> 192.168.10.201:80            Route   1      0          

说明网页各刷新了6

1.在存储设备上设置 (nfs服务器)

创建目录 mkdir /www    vim /www/index.html  输入 test1 and test2 保存退出

编辑共享清单,将文件夹/www 共享出来,允许192.168.20.0网段用户访问

#vim /etc/exports

/www    192.168.20.0/24(ro,sync)

导出共享清单: r:导出 v:详细信息

#exportfs -rv

# service nfs start 启动nfs服务

2.server1 配置如下

查看nfs服务器的共享

[root@localhost ~]# showmount -e 192.168.20.3

Export list for 192.168.20.3:

/www (everyone)

3.修改文件系统表保存退出

[root@localhost ~]# vim /etc/fstab 

/192.168.20.3:/www       /var/www/html           nfs    ro,soft,intr     0 0

执行如下命令,可以看到已经挂载上了

[root@localhost ~]# mount -a

[root@localhost ~]# mount

192.168.20.3:/www on /var/www/html type nfs (ro,soft,intr,addr=192.168.20.3)

4.同样在server2的设置。

通过浏览器就可以访问了如下:

5.刷新发现都是同一个网页并在directory上查看匹配如下:

[root@localhost Cluster]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.10.101:80 rr

  -> 192.168.10.200:80            Route   1      0          5         

  -> 192.168.10.201:80            Route   1      0          5   

说明了各自刷新了5

此时,断开s1s2任何一个都是可以正常访问的。算是备份了。