1.使用NAT模型的TCP协议类型的lvs服务负载均衡一个php应用,如Discuz!论坛或者phpMyAdmin;

2.使用DR模型的FWM类型的lvs服务负载均衡一个php应用,如Discuz!论坛或者phpMyAdmin;

       注意:以上两个集群需要考虑两个问题:

            1) 是否需要会话保持;

            2) 是否需要共享存储;

3.利用keepalived实现高可用lvs调度器,并实现上述1-3题中的功能;


1.

CentOS 7.4A做Director

CentOS 7.4B和CentOS 7.4D做Real Server

实现如下图所示功能,7.4D的数据库没有wpdb表;而7.4B数据库中有wpdb表,为实现负载均衡才设置的区别;

 

首先我们先把三台主机的核心转发功能打开,echo 1 > /proc/sys/net/ipv4/ip_forward

Director需要两个网卡,设置为仅主机模式;DIP和RIP必须在同一网段;VIP网卡不用;

VIP的设置:

lvs-nat模型的实现 和 lvs-dr模型的实现_第1张图片

DIP的设置:

lvs-nat模型的实现 和 lvs-dr模型的实现_第2张图片

RIP的设置:

CentOS 7.4B:

lvs-nat模型的实现 和 lvs-dr模型的实现_第3张图片

CentOS 7.4D的设置:

lvs-nat模型的实现 和 lvs-dr模型的实现_第4张图片


然后,在Director主机上做lvs-nat设置:

lvs-nat模型的实现 和 lvs-dr模型的实现_第5张图片

lvs-nat模型的实现 和 lvs-dr模型的实现_第6张图片


在两台对应的RS上,把phpmyadmin的安装包导入到http所对应的目录中去;

两台RS中的数据库先不相同,以便设置;

然后在浏览器上打开即可;

lvs-nat模型的实现 和 lvs-dr模型的实现_第7张图片

lvs-nat模型的实现 和 lvs-dr模型的实现_第8张图片



做keepalived高可用时,再其主配置文件/etc/keepalived/keepalived.conf中写入以下内容;

lvs-nat模型的实现 和 lvs-dr模型的实现_第9张图片

lvs-nat模型的实现 和 lvs-dr模型的实现_第10张图片

lvs-nat模型的实现 和 lvs-dr模型的实现_第11张图片

lvs-nat模型的实现 和 lvs-dr模型的实现_第12张图片


重新启动keepalived服务;从而查看ipvsadm nat模型的内容;

lvs-nat模型的实现 和 lvs-dr模型的实现_第13张图片

lvs-nat模型的实现 和 lvs-dr模型的实现_第14张图片





Lvs-DR模型基于FWM的实现;

Director配置

lvs-nat模型的实现 和 lvs-dr模型的实现_第15张图片

image.png

lvs-nat模型的实现 和 lvs-dr模型的实现_第16张图片


RS 配置:

image.png

image.png


另一台RS跟此配置一样;只是两台的RIP为 172.16.1.20172.16.1.40的区别;

 

测试:

lvs-nat模型的实现 和 lvs-dr模型的实现_第17张图片

lvs-nat模型的实现 和 lvs-dr模型的实现_第18张图片



Keepalived高可用实现;

lvs-nat模型的实现 和 lvs-dr模型的实现_第19张图片

lvs-nat模型的实现 和 lvs-dr模型的实现_第20张图片

lvs-nat模型的实现 和 lvs-dr模型的实现_第21张图片