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模型的实现_lvs-nat

DIP的设置:

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_02

RIP的设置:

CentOS 7.4B:

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_03

CentOS 7.4D的设置:

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_04


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

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_05

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_06


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

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

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

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_07

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-dr_08



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

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-dr_09

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_10

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_11

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_12


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

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-dr_13

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-dr_14





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

Director配置

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-dr_15

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_16

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_17


RS 配置:

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-dr_18

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_19


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

 

测试:

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_20

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_21



Keepalived高可用实现;

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_22

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-nat_23

lvs-nat模型的实现 和 lvs-dr模型的实现_lvs-dr_24