centos部署LVS负载均衡直接路由DR模式
环境:
在vm里开三个虚拟机
负载调度器:10.0.3.102
真实服务器1:10.0.3.103
真实服务器2:10.0.3.104
虚拟ip: 10.0.3.99 (用来飘移)
负载调度器上
ifconfig eth0:0 10.0.3.99 netmask 255.255.255.0 #增加虚拟ip
route add -host 10.0.3.99 dev eth0:0 #添加路由?这个不是很清楚
yum install ipvsadm* -y #安装ipvsamd*
ipvsadm -C #清空虚拟服务器列表 ,执行过一次后,后面这三条命令都要重新执行
ipvsadm -At 10.0.3.99:80 -s rr #增加一台虚拟服务器,调度算法为rr轮询
ipvsadm -at 10.0.3.99:80 -r 10.0.3.103:80 -g #在虚拟服务器里增加一台真实服务器
ipvsadm -at 10.0.3.99:80 -r 10.0.3.104:80 -g
ipvsadm -L #查看
service iptables stop #关闭防火墙
vi /etc/selinux/config #关闭selinux
setenforce 0
watch ipvsadm
curl 10.0.3.99
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.3.99:http rr
-> 10.0.3.103:http Route 1 0 0
-> 10.0.3.104:http Route 1 0 0
真实服务器A
ifconfig eth0:0 10.0.3.99 netmask 255.255.255.255
route add -host 10.0.3.99 dev eth0:0
echo “1” > /proc/sys/net/ipv4/conf/eth0/arp_ignore #后面有解释
echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore
echo “2” > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce
yum install httpd -y
service httpd start
vi /var/www/html/index.html
curl localhost
curl 10.0.3.100
curl 10.0.3.99
service firewalld stop
service iptables stop
curl 10.0.3.99
curl 10.0.3.99
真实服务器B
ifconfig eth0:0 10.0.3.99 netmask 255.255.255.255
route add -host 10.0.3.99 dev eth0:0
echo “1” > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore
service iptables stop
setenforce 0
echo “2” > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce
service iptables status
yum install httpd -y
service httpd start
vi /var/www/html/index.html
效果
[root@localhost ~]# curl 10.0.3.99
this is 103
[root@localhost ~]# curl 10.0.3.99
this is 104
[root@localhost ~]# curl 10.0.3.99
this is 104
[root@localhost ~]# curl 10.0.3.99
this is 103
注意,这个用浏览器访问时,可能需要多刷新几次,或另开一个窗口,亦或另开一个浏览器,才会出现ip飘移到另一台服务器ip的情况,显示另一个服务器对应的web页面
arp_ignore:定义对目标地址为本地IP的ARP询问不同的应答模式0
0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求
1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求
2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内
arp_announce:对网络接口上,本地IP地址的发出的,ARP回应,作出相应级别的限制: 确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口
0 - (默认) 在任意网络接口(eth0,eth1,lo)上的任何本地地址
1 -尽量避免不在该网络接口子网段的本地地址做出arp回应.
当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理.
2 -
对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址.
如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送.
centos部署LVS负载均衡直接路由DR模式的更多相关文章
- LVS负载均衡集群--DR模式部署
目录: 一.LVS-DR数据包流向分析 二.DR 模式的特点 三.LVS-DR中的ARP问题 四.DR模式 LVS负载均衡群集部署 一.LVS-DR数据包流向分析 1.为方便进行原理分析,将clien ...
- LVS 负载均衡 (VS/DR模式 与 VS/TUN 模式)
一.VS/DR模式 ①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP. ②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将目标MAC改为了RIP的MAC ...
- LVS负载均衡常用的工作模式有NAT、DR、和TUN三种,其中DR模式性能最为优越,使用最为广泛。
一.安装LVS LVS的编译安装参考本站文章:http://www.linuxe.cn/post-192.html,对于LVS这种功能性软件,在生产中用yum安装也是没有问题的. 1 yum inst ...
- LVS负载均衡集群--NAT模式部署
目录: 一.企业群集应用概述 二.负载均衡群集架构 三.负载均衡群集工作模式分析 四.关于LVS虚拟服务器 五.NAT模式 LVS负载均衡群集部署 一.企业群集应用概述 1.群集的含义 Cluster ...
- LVS负载均衡机制之LVS-DR模式工作原理以及简单配置
本博文主要简单介绍一下LVS负载均衡集群的一个基本负载均衡机制:LVS-DR:如有汇总不当之处,请各位在评论中多多指出. LVS-DR原理: LVS的英文全称是Linux Virtual Server ...
- LVS负载均衡的三种模式和八种算法总结
三种LVS负载均衡模式 调度器的实现技术中,IP负载均衡技术是效率最高的,IP虚拟服务器软件(IPVS)是在linux内核中实现的。 LVS负载均衡模式---1.NAT模式 NAT用法本来是因为网络I ...
- 构建LVS负载均衡集群——NAT模式(最简单方式)
一.装备一台lvs调度器主机要求两个网卡一个为内部局域网ip,一个为公网ip #IP地址设置过程不再重复 [root@localhost ~]# ip a | grep eth0 #内网ip : et ...
- LVS 负载均衡 三种工作模式 十种调度算法
原文链接:https://blog.csdn.net/weixin_40470303/article/details/80541639 一.LVS简介 LVS(Linux Virtual Server ...
- LVS负载均衡集群(DR)
-----构建DR模式的LVS群集----- --client---------------------LVS------------------------WEB1----------------- ...
随机推荐
- [JZOJ5398]:Adore(状压DP+记忆化搜索)
题目描述 小$w$偶然间见到了一个$DAG$. 这个$DAG$有$m$层,第一层只有一个源点,最后一层只有一个汇点,剩下的每一层都有$k$个节点. 现在小$w$每次可以取反第$i(1<i< ...
- ztree复选框
var setting = { check: { enable: true // chkboxType : { "Y" : "", "N" ...
- Pandas使用groupby()时是否会保留顺序?
PythonPandas:使用groupby()和agg()时是否保留了顺序? 看到这个增强问题 简短的答案是肯定的,groupby会保留传入的顺序.你可以用你的例子来证明这一点: df = pd.D ...
- mybatis逆向工程的text类型的一个小坑
数据库如果配有text的数据类型的 mybatis生成逆向工程的时候会单独将text提取出来 ByExampleWithBLOBs 会生成上面后缀的查询和修改的语句 因此查询起来会产生没有必要的麻烦, ...
- C++入门经典-例2.7-控制cout打印格式程序
1:代码如下: // 2.7.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #incl ...
- hdjs---1、hdjs爬坑杂记
hdjs---1.hdjs爬坑杂记 一.总结 一句话总结: 对hdjs这种文档和完善都不是很好的插件,应该先在项目的空页面试,成功后再用到用了框架的项目中 1.hdjs4.0.18引入select2? ...
- leetcode-easy-string- 38 Count and Say
mycode 91.28% 思路:题意实在太难理解了,尤其是英文又不好,只能参看下别人的资料,理解下规则.终于理解,题意是n=1时输出字符串1:n=2时,数上次字符串中的数值个数,因为上次字符串有 ...
- linux如何杀掉进程(kill)
方法/步骤1: 使用“ps -e|grep mysql”命令,查看mysql程序的对应的pid号.结果如下图: 方法/步骤2: 使用“kill -9 2891”命令,可以结束掉mysqld_saf ...
- 四十九:数据库之Flask-SQLAlchemy下alembic的配置
准备工作 配置数据 创建迁移文件并映射到数据库 增加字段 删除字段
- Report List 报表开发
1. Report List的输出定义 * ...NO STANDARD PAGE HEADING: 输出的报表不包含表头: * ...LINE-SIZE col : 输出的报表不包含表头: * .. ...