环境:
在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 7 lvs 负载均衡搭建部署的更多相关文章

  1. LVS负载均衡群集部署——NAT模式

    LVS负载均衡群集部署--NAT模式 1.群集应用概述 2.NAT模式LVS负载均衡群集部署 1.群集应用概述: 存在的问题: 互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求 ...

  2. LVS负载均衡群集部署——DR模式

    LVS负载均衡群集部署--DR模式 1.LVS-DR概述 2.部署实验 1.LVS-DR概述: LVS-DR(Linux Virtual Server Director Server)工作模式,是生产 ...

  3. NAT模式 LVS负载均衡群集部署

    NAT模式 LVS负载均衡群集部署的操作步骤 实验环境准备: 负载调度器:内网关 ens33:172.16.10.1,外网关 ens37:12.0.0.1 Web节点服务器1:172.16.10.10 ...

  4. LVS负载均衡集群--DR模式部署

    目录: 一.LVS-DR数据包流向分析 二.DR 模式的特点 三.LVS-DR中的ARP问题 四.DR模式 LVS负载均衡群集部署 一.LVS-DR数据包流向分析 1.为方便进行原理分析,将clien ...

  5. LVS负载均衡集群--NAT模式部署

    目录: 一.企业群集应用概述 二.负载均衡群集架构 三.负载均衡群集工作模式分析 四.关于LVS虚拟服务器 五.NAT模式 LVS负载均衡群集部署 一.企业群集应用概述 1.群集的含义 Cluster ...

  6. Linux中keepalived+LVS负载均衡的搭建测试

    1.1 LVS简介       LVS(Linux Virtual Server),也就是Linux虚拟服务器, 是一个自由软件项目.使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Lin ...

  7. lvs负载均衡的搭建

       lvs负载均衡的搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.         在部署环境前,我们需要了解一下一些协议 一.什么是arp 地址解析协议,即ARP(Addr ...

  8. 企业高并发的成熟解决方案(一)----搭建LVS负载均衡

    企业整个架构分析 1. App服务器上边部署应用,如果是java的话,一般是tomcat: 2. 负载均衡服务器负责转发请求,这种既有主机又有备机的负载均衡成为高可用(HA): 3. 一般web服务器 ...

  9. LVS负载均衡在Ubuntu环境下部署详解

    一.本地环境介绍: 负载均衡的三台机器均为Ubuntu Server 14.04 64位系统,内核中已集成ipvs模块( modprobe -l | grep ipvs 查看 ).为演示LVS负载均衡 ...

随机推荐

  1. linux 常用重启

    sudo reboot 为最常用重启 Linux centos关机与重启命令详解与实战 Linux centos重启命令: 1.reboot 普通重启 2.shutdown -r now 立刻重启(r ...

  2. win 10 初始环境变量

    有时用户会修改Win10系统的环境变量,改到后面原来是什么的也记不得了,想要改回去还要去别的电脑查看,这里转载下Win10 64位环境变量的默认初始值. 附:打开环境变量方法:电脑左下右键——系统—— ...

  3. L293 给地球降温

    Countries look at ways to tinker with Earth’s thermostat The idea of cooling the climate with strato ...

  4. 堆排序python实现

    def MAX_Heapify(heap,HeapSize,root):#在堆中做结构调整使得父节点的值大于子节点 left = 2*root+1 right = left + 1 larger = ...

  5. nginx 更改用户组

    为什么要更改 Nginx 服务的默认用户:就像更改 ssh 的默认 22 端口一样,增加安全性,Nginx 服务的默认用户是 nobody ,我们更改为 nginx 1) 添加 nginx 用户 us ...

  6. Vue项目初始化

    1. 生成项目模板 vue init <模板名> 本地文件夹名称2. 进入到生成目录里面 cd xxx npm install3. npm run dev vue项目模板介绍: simpl ...

  7. error_log

    对于我们做php开发的人员,上了生产环境,一定要把相关debug,display_errors错误提示等关掉.谁还难免不犯个错呢?这样能防止非致命性报错下,导致项目路径.数据库等信息泄漏. 问:那么问 ...

  8. delete CDU

    function DeletePDU(){ global $person; $this->MakeSafe(); // Do not attempt anything else if the l ...

  9. phpexcel 的使用

    首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...

  10. 【Python】进程3

    #练习: import time from multiprocessing import Pool def run(fn): #fn: 函数参数是数据列表的一个元素 time.sleep(1) ret ...