Linux平台基于DR模式的LVS搭建

一:DR模式工作流程

VS-DR:Virtual Server via Direct Routing 直接路由的虚拟服务器

VS(virtual server)

VIP: 接收客户端请求

DIP:发送请求给RS的RIP

RS (real server)

RIP:接收请求

VIP:响应请求给客户端

注意:

①四个IP都为公网地址

②RS与VS的VIP相同,且都为公网IP

③当处于同一局域网的LVS的VIP与RS的VIP相同时,可以通过修改内核参数,使RS的VIP禁止广播,使其只用来回应用户请求,且两VIP不冲突。

④只有局域网间通信才用到MAC地址

具体工作流程

(a) 当用户请求到达Director Server,此时请求的数据报文会先到内 核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP

(b) PREROUTING检查发现数据包的目标IP是本机,将数据包送至 INPUT链

(c) IPVS比对数据包请求的服务是否为集群服务,若是,将请求报文 中的源MAC地址修改为DIP的MAC地址,将目标MAC地址修改RIP 的MAC地址,然后将数据包发至POSTROUTING链。 此时的源IP和 目的IP均未修改,仅修改了源MAC地址为DIP的MAC地址,目标 MAC地址为RIP的MAC地址

(d) 由于DS和RS在同一个网络中,所以是通过二层来传输。 POSTROUTING链检查目标MAC地址为RIP的MAC地址,那么此时 数据包将会发至Real Server。

(e) RS发现请求报文的MAC地址是自己的MAC地址,就接收此报文 。处理完成之后,将响应报文通过lo接口传送给eth0网卡然后向外发 出。 此时的源IP地址为VIP,目标IP为CIP

(f) 响应报文最终送达至客户端

二:实验环境

VS一台:

VIP:172.17.252.1(eth0:0 桥接模式)

RS两台:

RS1

RIP:172.17.250.121

VIP:172.17.252.1(lo:0)

RS2

RIP:172.17.250.122

VIP:172.17.252.1(lo:0)

三:实验前准备

1.确保两台RS上都有基于LNMP的测试网站(LNMP网站搭建过程可见博客:http://13172823.blog.51cto.com/13162823/1978924

2.VS

①安装ipvsadm管理软件

[[email protected] ~]# yum install ipvsadm -y

②清除防火墙策略并关闭SElinux

[[email protected] ~]# iptables -F&&setenforce 0

③检测内核是否支持ipvs模块

[[email protected] ~]# grep -i -C 10 "ipvs" /boot/config-2.6.32-696.el6.x86_64

四:实验步骤

※操作环境:VS

1.配置eth0:0为VIP,并只能广播自己

ifconfig eth0:0 172.17.252.1 broadcast 172.17.252.1 netmask 255.255.255.255 up

2.配置VIP路由表

route add -host 172.17.252.1 dev eth0:0

3.创建基于80端口的VS,调度方式为wrr

ipvsadm -A -t 172.17.252.1:80 -s wrr

4.添加RS1、RS2,权重为1


ipvsadm -a -t 172.17.252.1:80 -r 172.17.250.121:80 -g -w 1

ipvsadm -a -t 172.17.252.1:80 -r 172.17.250.122:80 -g -w 1

5.修改内核配置,开启VS路由转发功能


①编辑配置文件

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

②使配置文件生效

sysctl -p

※操作环境:RS1、2

1.配置VIP到 lo:0,且只对自己广播

ifconfig lo:0 172.17.252.1 broadcast 172.17.252.1 netmask 255.255.255.255 up
ifconfig lo:0 172.17.252.1 broadcast 172.17.252.1 netmask 255.255.255.255 up

2.配置lo:0路由

route add -host 172.17.252.1 lo:0

3.只回答目标IP地址是来访网络接口本地地址的ARP查询请求

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

4.对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

5.关闭arp应答


echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

相关知识点:

“1”:仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应

“2”:必须避免将接口信息向非本网络进行通告

6.确保RS的nginx、php-fpm、mariadb服务开启

时间: 2024-10-07 11:18:18

Linux平台基于DR模式的LVS搭建的相关文章

Linux平台基于NAT模式的LVS搭建

一:NAT模式工作流程 VS-NAT:Virtual Server via NAT  基于地址翻译的虚拟服务器 二:几个IP CIP:client IP VIP:virtual IP CIP通过路由器来访问VIP,所以VIP为桥接模式IP DIP:Director IP RIP:Real IP DIP与RIP为同一网段,所以都为仅主机模式IP 三:实验环境 ①VS一台: VIP: 172.17.252.226   DIP: 192.168.116.66 ②RS两台: RS1: 192.168.2

基于DR模式的keepalived主从模式高可用架构搭建

一:架构图示 2.keepalived是什么? Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机 ,或工作出现故障,Keepalived将检测到,通过VRRP协议,将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后 Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器. 3.VRRP协议是什么? VRRP(Virtual Router Redundancy Protoc

LVS 的 NAT模式和DR模式介绍及搭建

LVS简介: LVS全称 Linux Vritual Server,linux虚拟服务器,主要用于多服务器的负载均衡,工作于网络层.LVS工作相似iptables,很多原理相通. LVS调度方法: # grep -i 'VS'/boot/config-2.6.32-431.el6.x86_64 |grep -A 10 'IPVS scheduler' # IPVS scheduler CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m C

LVS基于DR模式负载均衡的配置

DR: 集群节点跟director必须在同一个物理网络中: 后端服务器(真实服务器)可以使用公网地址,实现便捷的远程管理和监控: director仅负责处理入站请求,响应报文则由realserver直接发往客户端: 不支持端口映射: 准备3台服务器,一台做转发,2太做子服务器,如下: Node1 VIP:192.168.252.200 DIP:192.168.252.11 集群服务器DR Node2 RIP:192.168.252.12 VIP:192.168.252.200 RS,apache

[Linux]--构建DR模式的LVS群集

NAT模式的LVS负载均衡群集 客户端:1.1.1.254/8 LVS调度器(Centos6.5)eth0 1.1.1.10/8        eth0:0   1.1.1.1 web服务器                        eth0 1.1.1.20/8        lo 1.1.1.1 web服务器                        eth0 1.1.1.30/8        lo  1.1.1.1 NFS服务器                       192

实现keepalived企业级高可用基于LVS-DR模式

一.为什么要使用keepalived 当后端实现了负载均衡后坏掉一台机器后可以用另一台后台web服务器补上,但是当前端的LVS坏掉后,整套服务就彻底废掉,因此前端的LVS也需要实现负载均衡. Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的

搭建LVS(DR模式)+Keepalived高可用群集,可跟做!!!

Keepalived的设计目标就是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器.管理服务器池,而不仅仅用作双机热备.使用Keepalived构建LVS群集更加简便易用,主要优势体现在,对LVS负载调度器实现热备切换.提高可用性,对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入. 在基于LVS(DR模式)+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,两台以上的节点服务器,本次实验以DR模式的LVS群集为基础,增加一台负载

高可用群集lvs DR模式搭建

上一篇文章已经解释过lvs的原理已及作用,DR模式与NAT模式在部署上是有区别的:  此拓扑中调度器只作为用户访问web的入口,各个web回应时直接利用的是网络,不通过调度器回应. 部署DR模式的lvs环境需要注意几个点: 调度器以及各个节点都必须配置VIP地址 调度器中关闭icmp定向(ICMP重定向报文是ICMP控制报文中的一种.在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求重新选择路由.此类报文有可能用以攻击, 有的攻击利用icmp

基于云端虚拟机的LVS/DR+Keepalived+nginx的高可用集群架构配置

最近,公司要我部署一个集群架构,选来选取还是选择了大家都很熟悉的基于DR的LVS+Keepalived做负载分发,然后使用轻量级的nginx做中间代理层,这里呢先暂时实现一个简单web应用功能,对于代理功能和后续的web层部署.数据层安排将择机更新! 首先看一下集群框架:   下面开始我们的集群搭建行程: 一.IP规划: 做一件事情需要想想怎么去做既简单又有条理,我们做项目也应该如此.所以这里一定先做一个简单的规划,对于你后续测试的时候出现不能分发的情况有所解决. 负载均衡层