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模型实现调度相关推荐

  1. LVS DR模型详解

    DR模型的特点: 1.director必须与realserver位于同一个网络. 2.realserver可以使用公网ip地址,便于远程管理与配置. 3.director只负责处理入站请求.而响应报文 ...

  2. lvs dr 模型配置详解

    lvs dr 模型配置详解 [学习笔记] 前期准备: 两台服务器 note01(lvs服务器) note02(real sever) 1 首先在note01配置子网卡: ifconfig eth0:2 ...

  3. LVS DR模型及LVS持久连接

    LVS之DR模型以及持久连接 LVS的简单介绍 linux virtual server 简单来讲lvs是一段内核代码 类似于netfilter本身是一框架但不提供任何功能,但是在这框架上提供了能够根 ...

  4. LVS DR模型配置示例

    要让路由知道哪台主机是Director,进行选择: 1.VIP:MAC(Director VIP) -- MAC绑定,但未必可行,例如路由是运营商的. 2.arptables 3.kernel par ...

  5. lvs基本概念、调度方法、ipvsadm命令及nat模型示例

    LVS类型: NAT:-->(DNAT) DR TUN FULLNAT LVS的常见名词解释 CIP<-->VIP--DIP<-->RIP Direct Routing: ...

  6. LVS(14)——DR模型实践、交换机

    DR模型的配置见我的上一篇博客: 在lvs主机上操作ipvsadm: 在第四台和第五台主机上开启httpd服务 这里实现了DR模型,接下来测试 在客户端访问该vip: 访问成功 总结:DR模型里的真实 ...

  7. LVS(13)——DR模型准备工作及ip地址冲突问题

    之前,我们的模型都是-m,也就是NAT模型,但是我们如果不指定,默认模型是DR模型. 也就是route. DR模型也准备五台主机: (1)客户端主机 单网卡NAT 192.168.19.180 (2) ...

  8. 详解LVS配置DR模型

    详解LVS配置DR模型 准备: 三台服务器,一台LVS,两台RS 操作 LVS: 8是随便写的 新配置一个虚拟网卡,作为LVS的VIP,之后的访问就用这个"192.168.28.150&qu ...

  9. 负载均衡集群LVS模式之DR模型

    在NAT模型下,director的工作能力是很有限的,每个用户访问服务器时,都要先访问director,在一定的范围内director可以承受,但超出这个范围director就无能为力,在较大规模应用 ...

  10. LVS——DR模式(负载均衡)

    1. DR模式(直接路由模式:Virtual Server via Direct Routing) DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接 ...

最新文章

  1. Python中的 @staticmethod@classmethod方法
  2. 多线程批量ping服务器
  3. 降低百倍时间步,精度媲美传统神经网络:上交等机构提出ANN-SNN转换框架
  4. 【渝粤题库】陕西师范大学400005 中国传统文化 作业(专升本)
  5. DataBinding注意事项Error parsing XML: duplicate attribute以及如何在listview中使用DataBinding...
  6. (16)FPGA面试技能提升篇(Python)
  7. iOS 14.5新功能:解锁iPhone更方便!
  8. pro git学习笔记 4
  9. 如何查看redhat社区的solution(或者订阅);redhat内容不全
  10. python设计查询余额程序_使用Python调取任意数字资产钱包余额功能
  11. 深圳市科技创新委员会关于2021年高新技术企业培育库拟入库企业名单公示的通知
  12. 左程云 Java 笔记--排序
  13. 斐波那契数列c语言while,C语言数据结构递归之斐波那契数列
  14. 王珊数据库系统概论第5版视频教材
  15. 【致敬ImageNet】ResNet 6大变体:何恺明,孙剑,颜水成引领计算机视觉这两年
  16. 产品经理如何破壳成长?
  17. 游戏策划学习:哲学好难
  18. 通达信股票接口盘后数据下载流程是怎么样的?
  19. Newtown(牛顿)方法收敛速度
  20. 实体店经营的3步锁客裂变

热门文章

  1. [Java] 蓝桥杯ALGO-100 算法训练 整除问题
  2. 1078. 字符串压缩与解压 (20)-PAT乙级真题
  3. 【软件体系结构】考点整理
  4. 【软件测试】边界测试中所选择的输入测试数据一定是有效数据(错)
  5. 【软件项目管理】用例分析方法采用一种面向对象的情景分析方法
  6. win10计算机桌面显示器,Win10电脑屏幕分为四屏投影测试
  7. 和表头对齐 表格_表格技巧—如何在Excel表格中制作三栏表头
  8. 使用MMS(MongoDB Monitoring Service)监控MongoDB
  9. TimeSten专题:配置TT客户端的简明方法
  10. 【 58沈剑 架构师之路】4种事务的隔离级别,InnoDB如何巧妙实现?