LVS集群DR模式

系统:CentOS-7-x86_64-Minimal-1611.iso

三台虚拟机网络规划:

Director (桥接网卡)

enp0s3DIP:192.168.43.201

192.168.43.1enp0s3:0

VIP:192.168.43.200

Realserver One(桥接网卡)

enp0s3RIP:192.168.43.202

192.168.43.1lo:0

VIP:192.168.43.200

Realserver Two(桥接网卡)

enp0s3RIP:192.168.43.202

192.168.43.1lo:0

VIP:192.168.43.200

一 Director网络配置

1.配置DIP

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

IPADDR=192.168.43.201GATEWAY=192.168.43.1DNS1=8.8.8.8DNS2=114.114.114.114

2.安装ifconfig

[root@localhost ~]# sudo yum install net-tools

3.配置网卡enp0s3:0

[root@localhost ~]# ifconfig enp0s3:0 192.168.43.200

4.添加路由

[root@localhost ~]# route add -host 192.168.43.200 dev enp0s3:0

二 RealServer配置

将RealServer网络设置成桥接模式,上传TOMCAT,并安装JDK。

1.关闭防火墙

[root@localhost ~]# systemctl stop firewalld.service

[root@localhost ~]# systemctl disable firewalld.service

如不关闭防火墙测试时会报错(No route to host)

2.配置RIP

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

IPADDR=192.168.43.202(203)GATEWAY=192.168.43.1DNS1=8.8.8.8DNS2=114.114.114.114

(此时不能配置VIP)

3.配置对ARP请求响应级别以及将自己地址向外通告的通告级别

arp_ignore和arp_announce参数都和ARP协议相关,主要用于控制系统返回arp响应和发送arp请求时的动作

arp_ignore:系统在收到外部的arp请求时,是否要返回arp响应

Linux内核参数arp_ignore的值经常使用的有以下三种

0:响应任意网卡上接收到的对本机IP地址的arp请求(包括环回网卡上的地址),而不管该目的IP是否在接收网卡上。

1:只响应目的IP地址为接收网卡上的本地地址的arp请求。

2:只响应目的IP地址为接收网卡上的本地地址的arp请求,并且arp请求的源IP必须和接收网卡同网段。

在DR模式下,每个RealServer要在环回网卡(lo:0)上绑定虚拟服务IP。这时候,如果客户端对于VIP的arp请求广播到了各个真实服务器节点,如果arp_ignore参数配置为0,则各个真实服务器节点都会响应该arp请求,此时客户端就无法正确获取 Director服务器的VIP(虽然VIP配置在enp0s3:0上,但是对外提供服务的还是是enp0s3)所在的网卡enp0s3的MAC地址。假如RealServer One网卡enp0s3响应了该arp请求,客户端RealServer One的enp0s3网卡的MAC地址误认为是Director服务器VIP所在网卡的MAC,从而将业务请求消息直接发到了RealServer One的enp0s3网卡。这时候虽然因为RealServer One在环回网卡上也绑定了VIP,RealServer One也能正常处理请求,业务暂时不会受到影响。但是此时由于客户端请求没有发到Director的VIP上,所以LVS的负载均衡能力没有生效。造成的后果就是,RealServer One一直在单节点运行。所以DR模式下要求arp_ignore参数要求配置为1。

arp_announce:系统在对外发送arp请求时,如何选择arp请求数据包的源IP地址

Linux内核参数arp_announce的值经常使用的有以下三种

0:允许使用任意网卡上的IP地址作为arp请求的源IP,通常就是使用数据包a的源IP。

1:尽量避免使用不属于该发送网卡子网的本地地址作为发送arp请求的源IP地址。

2:忽略IP数据包的源IP地址,选择该发送网卡上最合适的本地地址作为arp请求的源IP地址。

当RealServer进行响应时,因请求的是lo:0接口的VIP,响应的时候会通过enp0s3接口转发出去,然而,在Linux系统中,响应从那个接口出去,响应报文就会使用那个接口上的地址,所以此时就会使用RealServer enp0s3的MAC和IP地址作为源地址进行响应,但是客户端又没有请求enp0s3上的RIP,所以DR模式下arp_announce参数配置为2,然后添加一条路由让lo:0接口响应即可。

[root@localhost conf]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

[root@localhost conf]# echo1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@localhost conf]# echo2 > /proc/sys/net/ipv4/conf/enp0s3/arp_announce

[root@localhost conf]# echo1 > /proc/sys/net/ipv4/conf/enp0s3/arp_ignore

4.配置VIP

[root@localhost conf]# ifconfig lo:0 192.168.43.200

[root@localhost conf]# ifconfg lo:0 192.168.43.200 broadcast 192.168.43.200 netmask 255.255.255.255 up

#配置路由

[root@localhost conf]# route add -host 192.168.43.200 dev lo:0

5.物理机验证

ping 192.168.43.200#查看路由的IP是否与Director enp0s3网卡 MAC地址绑定

arp-a

#删除所有arp解析

arp -d *

6. 修改Tomcat默认启动端口为80

~/tomcat/conf/server.xml

7.修改Tomcat默认主页

~/tomcat/bin/webappes/ROOT/index.jsp

RealServer One(Two)

三 配置规则

[root@localhost ~]# ipvsadm -C[root@localhost~]# ipvsadm -A -t 192.168.43.200:80 -s wlc

[root@localhost~]# ipvsadm -a -t 192.168.43.200:80 -r 192.168.43.202 -g -w 2[root@localhost~]# ipvsadm -a -t 192.168.43.200:80 -r 192.168.43.203 -g -w 1[root@localhost~]# ipvsadm -L -n

IP Virtual Server version1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags->RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP192.168.43.200:80wlc-> 192.168.43.202:80 Route 2 0 0

-> 192.168.43.203:80 Route 1 0 0[root@localhost~]#

验证:浏览器访问Director主机http://192.168.43.200,RealServer One 和RealServer Two交替出现。

php lvs,LVS(四)LVS集群DR模式相关推荐

  1. LVS集群-DR模式及AB压力测试软件的使用方法

    一. LVS-DR和LVS-IP TUN集群概述 1. 服务概述 1.1 Direct Routing(直接路由) director分配请求到不同的real server.real server处理请 ...

  2. linux lvs公网ip,Linux集群架构(2)LVS介绍、LVS的调度算法、NAT模式搭建、 DR模式、keepalive...

    负载均衡集群介绍 LVS介绍 1.LVS NAT模式:(,目标ip转发.适用于小型集群,机器数量不多10台左右) 2.LVS IP Tunnel模式(将目标ip进行更改) (在这个模式下的rs机器都是 ...

  3. LVS集群-DR负载均衡集群

    LVS集群-DR负载均衡集群 服务介绍 Director 分配请求到不同的real server. real server 处理请求后直接回应给用户,这样director 负载均衡器仅处理客户机与服务 ...

  4. LVS四层负载均衡集群

    大型网站高并发解决方案LVS 文章目录 大型网站高并发解决方案LVS 一.集群功能分类 LB 图示 负载均衡产品分类 软件负载均衡设备 硬件负载均衡设备 HA 二.负载均衡 负载均衡的主要方式 htt ...

  5. 使用LVS构建可伸缩WEB集群

    原文:http://kb.linuxvirtualserver.org/wiki/Building_Scalable_Web_Cluster_using_LVS Building Scalable W ...

  6. RabbitMq(十七)rabbitmq的四种集群监控

    rabbitmq的四种集群监控方式: rabbitmq控制台页面监控 tracing日志监控 使用api接口自定义实现监控 使用Zabbix监控rabbitmq 第一种.使用控制台页面监控rabbit ...

  7. 《Reids 设计与实现》第十四章 集群(上)

    <Reids 设计与实现>第十四章 集群(上) 文章目录 <Reids 设计与实现>第十四章 集群(上) 一.简介 二.节点 1.启动节点 2.集群数据结构 3.CLUSTER ...

  8. RVC使用指南(四)-集群状况

    RVC使用指南(四)-集群状况 https://mp.weixin.qq.com/s/tMkHTST0dnDoQx-HFyc-5g 本文使用与vSAN运行状况相关的命令,这些命令仅在安装了Health ...

  9. RabbitMQ学习之集群镜像模式配置

    1.增加负载均衡器 关于负载均衡器,商业的比如F5的BIG-IP,Radware的AppDirector,是硬件架构的产品,可以实现很高的处理能力.但这些产品昂贵的价格会让人止步,所以我们还有软件负载 ...

最新文章

  1. 微信小程序红包开发 小程序发红包 开发过程中遇到的坑 微信小程序红包接口的...
  2. python flask源码解析_用尽洪荒之力学习Flask源码
  3. Mpvue+koa开发微信小程序——腾讯云开发环境的搭建及部署实现真机测试
  4. c++中静态成员变量和静态成员函数
  5. 操作系统--进程状态切换以及cpu调度(转)
  6. 分布式数据库中间件概念
  7. 环境科学跨考专计算机,环境 计算机相结合 跨学科
  8. .net ServiceStack.Redis 性能调优
  9. ILSpy的下载与使用
  10. Vue和Springboot实现SM4加密和解密(前端可加密,后端可加解密,MD5同理)
  11. 【深度学习】史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)...
  12. Android 强制指定录音声卡
  13. 在页面点击“生成二维码”,直接把二维码图片下载下来
  14. java mybatis多层collection嵌套查询
  15. 《童虎学习笔记》5分钟了解Citus核心系统表
  16. Spring 纯注解定时任务
  17. 用python写个随机抽取姓名的程序
  18. win7计算机评分性能,Win7内存评分:两种规格6分以内_内存硬盘技巧-中关村在线...
  19. CANoe提取blf文件中的Eth数据为pcap文件
  20. 零基础无实物一步一步学PLCS7-1200仿真 背景知识一 低压元器件基础

热门文章

  1. Arch Linux 安装 Xerox Phaser 3125N 网络打印机备忘录
  2. 六月开发语言排行榜出炉 ActionScript回前20
  3. 『非常重要』非矿工用户如何安全度过BCH11月算力战历史时刻!
  4. 比特币现金网络会看到什么样的代币?
  5. Loadrunner常见的乱码问题
  6. TCP_Wrappers 基于TCP的安全控制
  7. 对称密码算法Rijndael解析—加密
  8. 调试Docker容器
  9. React native 项目进阶(redux, redux saga, redux logger)
  10. PHP zval内存回收机制和refcount_gc和is_ref_gc