Director和各RS都得配置使用VIP;
DR模型注意内容:
1、前端路由器将目标IP为VIP的请求报文发往Director
有以下三种方法实现:
arp_announce 限制通告级别
2、RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director;
3、同时RS跟Director要在同一个物理网络;
4、请求报文要经由Director,但响应不能经由Director,而是由RS直接发往Client;
5、不支持端口映射;
大致拓扑图如下:
工作流程:
客户端发送对VIP的请求,通过网络路由和交换机,将请求发送到Director,Director接受请求,经过负载均衡算法选取一台RS,将RIP所在的网卡的MAC地址作为目标MAC,在局域网中进行ARP广播,指定的RS收到请求,进行解析,之后将响应直接回馈给Client,不经过Director。
实验,负载均衡wordpress:
准备: VIP : 172.16.0.66
Director: 172.16.251.73
RS1: 172.16.252.137
RS2: 172.16.253.202
RS1、2中:
先搭建amp环境:yum install -y httpd php php-mysql php-mbstring php-mcrypt mariadb-server(最好rs共享mysql和使用分布式共享其他资源,使得访问的数据相同,在这里先不考虑,详情可查看之前的博客)
配置数据库:
vim /etc/my.cnf.d/server.cnf
systemctl start mariadb.service
mysql_secure_installation 加强数据库安全性,为数据库设置管理员密码,并设定不可匿名访问。
mysql -u root -p password 登录数据库创建,名为wordpress的数据库
CREATE DATABASE wordpress;
编辑wordpress配置文件:
cp wp-config-sample.php wp-config.php
vim wp-config.php
chmod -R a+w wordpress/
配置httpd:
在/var/www/html/下创建wordpress的软连接 ln -s 源文件 目标文件
vim /etc/httpd/conf.d/test.conf 根据需要进行配置
启动httpd服务 systemctl start httpd.service
配置RS网卡:ifconfig lo:0 172.16.0.66 netmask 255.255.255.255 broadcast 172.16.0.66 up
Directory上:
ifconfig ens33:0 172.16.0.66 netmask 255.255.255.255 broadcast 172.16.0.66 up
yum install -y ipvsadm
ipvsadm -A -t 172.16.0.66:80 -s rr
ipvsadm -a -t 172.16.0.66:80 -r 172.16.252.137 -g
ipvsadm -a -t 172.16.0.66:80 -r 172.16.253.202 -g
测试:
在另外一台172.16网域内的主机上
在RS主机中 tail /var/log/httpd/access_log
原创文章,作者:Immortals、zcy,如若转载,请注明出处:http://www.178linux.com/78732