下面再说lvs-dr,后端的服务php和数据库服务完全不用改变,只需改变网络模型即可;

搭建网络环境:

Director:

eno16777736:0网卡别名:VIP:172.18.11.7

]# ifconfig eno16777736:0 172.18.11.7 netmask 255.255.255.255 broadcast 172.18.11.7

eno16777736网卡:DIP:172.18.11.111


RS1:

lo:0回环接口别名:VIP:172.18.11.7

eno16777736网卡:RIP:172.18.11.11


RS2:

lo:0回环接口别名:VIP:172.18.11.7

eno16777736网卡:RIP:172.18.11.12


mysql数据库:172.18.11.114


在RS1上为方便设置内核参数,限制arp通告及arp响应,设定从lo接口进入的报文必须由lo接口出去;

编写RS自动设置脚本:

]# vim skp.sh

wKioL1c536fweqB_AABdcXImYj4593.png

]# chmod +x skp.sh

]# ./skp.sh start

]# cat /proc/sys/net/ipv4/conf/all/arp_ignore

]# cat /proc/sys/net/ipv4/conf/all/arp_announce


复制到RS2并执行脚本;

]# scp skp.sh root@172.18.11.12:/root

]# ./skp.sh start


配置Director网卡上的别名为VIP:172.18.11.7

]# ifconfig eno16777736:0 172.18.11.7 netmask 255.255.255.255 broadcast 172.18.11.7

禁止本机向外广播自己,但可以响应其它主机发的广播;


此时,为了测试有直观的效果,把http配置文件,改为指向静态页面:

分别在RS上设置:

wKioL1c55-fyuv1UAAAsMoKkXC8486.png


找一台虚拟机,在172.18.11.0/16网段的地址即可测试:

wKiom1c56FehLu5XAABckLf17g0701.png

此时,lvs-dr模型完成测试,实现了基于rr调度;


后面,测试php部分与上例相同,只需在http配置文件中的,DocmentRoot改为共享存储的目录/php即可:


在RS2上使用nfs服务提供共享存储,安装nfs-utils并启动nfs服务

]# yum -y install nfs-utils

]# systemctl start nfs.service


在RS2上创建共享目录并导出:

]# mkdir /php

]# vim /etc/exports

/php 172.18.0.0/16(rw,no_root_squash)

]# exportfs -r


在RS1上,挂载RS2导出的共享目录:

]# mkdir /php

]# mount -t nfs 172.18.11.12:/php /php


在/php共享目录下,安装部署wordpress:

]# unzip wordpress-4.3.1-zh_CN.zip

]# cd wordpress

]# cp wp-config-sample.php wp-config.php

]# vim wp-config.php

wKioL1c57rrwx2M_AAA2utON5MM491.png


在数据库上操作:

> CREATE DATABASE wpdb;

> GRANT ALL ON wpdb.* TO wpuser@'172.18.%.%' IDENTIFIED BY 'wppass';


在浏览器输入:http://172.18.11.7/wordpress/

显示:

wKioL1c57zPA4-BiAAC8N_ziLQw931.png

安装即可,后面步骤省略,可自行完成;