LVS-DR模型实现调度
LVS-DR集群环境实现
(LVS服务器的网关可以任意配置,只要能出本地接口就行)
实验环境:(5台主机)
一台客户端
一台路由器
一台LVS服务器
两台RS服务器
1、搭建网络环境
路由器配置:
一个接口连接私网
私网需要配置两个
一个要和发布出去的私网IP通信(VIP:10.0.0.100,掩码可以任意)
一个要和和LVS和RS服务器间通信(DIP:192.168.205.101)
一个接口连接公网
配置IP:
公网IP配置:
DEVICE=eth1 ONBOOT=yes BOOTPROTO=none IPADDR=172.18.106.21 PREFIX=16
私网IP配置:
cd /etc/sysconfig/network-scripts
vim ifcfg-eth0
DEVICE=eth0 ONBOOT=yes BOOTPROTO=none IPADDR=192.168.205.101 FREFIX=24
cp ifcfg-eth0 ifcfg-eth0:1
DEVICE=eth0:1 ONBOOT=yes BOOTPROTO=none IPADDR=10.0.0.200 PREFIX=24(私网IP,且与LVS的VIP能通信)
打开IP转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
重启network服务
LVS网络配置:
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
NAME=ens33 DEVICE=ens33 ONBOOT=yes BOOTPROTO=none IPADDR=192.168.205.132 PREFIX=24 GATEWAY=192.168.205.101(网关可以任意配置,因为响应报文直接由RS服务器发往Clinet)
重启network服务
RS网络配置(两台配置几乎相同,IP改一下就行了)
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
NAME=ens33 DEVICE=ens33 ONBOOT=yes BOOTPROTO=none IPADDR=192.168.205.132 PREFIX=24 GATEWAY=192.168.205.101(网关需要指定为路由器,由于只有一个路由器,所以指向路由器接口的IP)
重启network服务
2、实现LVS-DR模型
LVS服务器
#!/bin/bash vip='10.0.0.100' iface='ens33:1' mask='255.255.255.255' port='80' rs1='192.168.205.100' rs2='192.168.205.160' scheduler='wrr'(调度算法可以修改) type='-g' case $1 in start) ifconfig $iface $vip netmask $mask iptables -F ipvsadm -A -t ${vip}:${port} -s $scheduler ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1(修改调度算法的时候这里可修改穷权重) ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1 ;; stop) ipvsadm -C ifconfig $iface down ;; *) echo "Usage $(basename $0) start|stop";exit 1 ;; esac
RS服务器
#!/bin/bash vip='10.0.0.100' mask='255.255.255.255' dev=lo:1 case $1 in start) echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore(会还网卡的arp_ignore可以为默认值,不影响客户端访问RS服务器) echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce(回环网卡的arp_announce可以为默认值,不影响客户端访问RS服务器) ifconfig $dev $vip netmask $mask ;; stop) ifconfig $dev down echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce ;; *) echo "Usage: $(basename $0) start|stop" exit 1 ;; esac
注意:此脚本设置的IP没有保存到文件中,如果重启网络服务需重新运行脚本
了解内容:
限制响应级别:arp_ignore
0:默认值,表示可使用本地任意接口上配置的任意地址进行响应
1: 仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应
限制通告级别:arp_announce
0:默认值,把本机所有接口的所有信息向每个接口的网络进行通告
1:尽量避免将接口信息向非直接连接网络进行通告
2:必须避免将接口信息向非本网络进行通告
实现http和https在同一集群调度
在防火墙上打标签
iptables -t mangle -A PREROUTING -d 10.0.0.100 -p tcp -m muliport --dport 80,443 -j MARK --set-mark 10
添加集群(如果之前有别的httpd服务的集群,可以删掉)
ipvsadm -A -f 10 -s wrr
添加集群的RS服务器
ipvsadm -a -f 10 -r 192.168.205.100 -g
ipvsadm -a -f 10 -r 192.168.205.160 -g
持久连接实现方式:-p选项
每端口持久(PPC):每个端口对应定义为一个集群服务,每集群服务单独调度
每防火墙标记持久(PFWMC):基于防火墙标记(MAKRK)定义集群服务;可实现将多个端口上的应用统一调度,即所谓的port Affinity
每客户端持久(PCC):基于0端口(表示所有服务)定义集群服务,即将客户端对所有应用的请求都调度至后端主机,必须定义为持久模式
转载于:https://blog.51cto.com/13520924/2093474
LVS-DR模型实现调度相关推荐
- LVS DR模型详解
DR模型的特点: 1.director必须与realserver位于同一个网络. 2.realserver可以使用公网ip地址,便于远程管理与配置. 3.director只负责处理入站请求.而响应报文 ...
- lvs dr 模型配置详解
lvs dr 模型配置详解 [学习笔记] 前期准备: 两台服务器 note01(lvs服务器) note02(real sever) 1 首先在note01配置子网卡: ifconfig eth0:2 ...
- LVS DR模型及LVS持久连接
LVS之DR模型以及持久连接 LVS的简单介绍 linux virtual server 简单来讲lvs是一段内核代码 类似于netfilter本身是一框架但不提供任何功能,但是在这框架上提供了能够根 ...
- LVS DR模型配置示例
要让路由知道哪台主机是Director,进行选择: 1.VIP:MAC(Director VIP) -- MAC绑定,但未必可行,例如路由是运营商的. 2.arptables 3.kernel par ...
- lvs基本概念、调度方法、ipvsadm命令及nat模型示例
LVS类型: NAT:-->(DNAT) DR TUN FULLNAT LVS的常见名词解释 CIP<-->VIP--DIP<-->RIP Direct Routing: ...
- LVS(14)——DR模型实践、交换机
DR模型的配置见我的上一篇博客: 在lvs主机上操作ipvsadm: 在第四台和第五台主机上开启httpd服务 这里实现了DR模型,接下来测试 在客户端访问该vip: 访问成功 总结:DR模型里的真实 ...
- LVS(13)——DR模型准备工作及ip地址冲突问题
之前,我们的模型都是-m,也就是NAT模型,但是我们如果不指定,默认模型是DR模型. 也就是route. DR模型也准备五台主机: (1)客户端主机 单网卡NAT 192.168.19.180 (2) ...
- 详解LVS配置DR模型
详解LVS配置DR模型 准备: 三台服务器,一台LVS,两台RS 操作 LVS: 8是随便写的 新配置一个虚拟网卡,作为LVS的VIP,之后的访问就用这个"192.168.28.150&qu ...
- 负载均衡集群LVS模式之DR模型
在NAT模型下,director的工作能力是很有限的,每个用户访问服务器时,都要先访问director,在一定的范围内director可以承受,但超出这个范围director就无能为力,在较大规模应用 ...
- LVS——DR模式(负载均衡)
1. DR模式(直接路由模式:Virtual Server via Direct Routing) DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接 ...
最新文章
- Python中的 @staticmethod@classmethod方法
- 多线程批量ping服务器
- 降低百倍时间步,精度媲美传统神经网络:上交等机构提出ANN-SNN转换框架
- 【渝粤题库】陕西师范大学400005 中国传统文化 作业(专升本)
- DataBinding注意事项Error parsing XML: duplicate attribute以及如何在listview中使用DataBinding...
- (16)FPGA面试技能提升篇(Python)
- iOS 14.5新功能:解锁iPhone更方便!
- pro git学习笔记 4
- 如何查看redhat社区的solution(或者订阅);redhat内容不全
- python设计查询余额程序_使用Python调取任意数字资产钱包余额功能
- 深圳市科技创新委员会关于2021年高新技术企业培育库拟入库企业名单公示的通知
- 左程云 Java 笔记--排序
- 斐波那契数列c语言while,C语言数据结构递归之斐波那契数列
- 王珊数据库系统概论第5版视频教材
- 【致敬ImageNet】ResNet 6大变体:何恺明,孙剑,颜水成引领计算机视觉这两年
- 产品经理如何破壳成长?
- 游戏策划学习:哲学好难
- 通达信股票接口盘后数据下载流程是怎么样的?
- Newtown(牛顿)方法收敛速度
- 实体店经营的3步锁客裂变
热门文章
- [Java] 蓝桥杯ALGO-100 算法训练 整除问题
- 1078. 字符串压缩与解压 (20)-PAT乙级真题
- 【软件体系结构】考点整理
- 【软件测试】边界测试中所选择的输入测试数据一定是有效数据(错)
- 【软件项目管理】用例分析方法采用一种面向对象的情景分析方法
- win10计算机桌面显示器,Win10电脑屏幕分为四屏投影测试
- 和表头对齐 表格_表格技巧—如何在Excel表格中制作三栏表头
- 使用MMS(MongoDB Monitoring Service)监控MongoDB
- TimeSten专题:配置TT客户端的简明方法
- 【 58沈剑 架构师之路】4种事务的隔离级别,InnoDB如何巧妙实现?