lvs-dr模型负载均衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lvs-dr模型负载均衡相关的知识,希望对你有一定的参考价值。

下面再说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

技术分享

]# 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 [email protected]:/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上设置:

技术分享


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

技术分享

此时,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

技术分享


在数据库上操作:

> CREATE DATABASE wpdb;

> GRANT ALL ON wpdb.* TO [email protected]‘172.18.%.%‘ IDENTIFIED BY ‘wppass‘;


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

显示:

技术分享

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

以上是关于lvs-dr模型负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

LVS-DR负载均衡模型的RIP和VIP在不同网络的实现

双主模型高可用负载均衡集群的实现(keepalived+lvs-dr)

负载均衡之LVS-NAT LVS-DR模型详解

lvs-dr实现mysql负载均衡集群

集群------LVS-DR负载均衡群集(部署过程图文详解)

lvs-DR 负载均衡