lvs-dr原理

lvs-nat原理: 

当我们的网站流量越来越大时一台web服务器已经无法满足需求了,我们该如何解决呢??
把服务器连接起来实现负载均衡或许是个不错的办法。。
下面我就来看看怎么实现吧。当然这只是个经典版的实验。不足之处请多多指教。

本实验使用了4台机器分别:

分发器:super63    
realserver:super65、super66    
客户机:super64

实验模型图例:

其中上图中VIP模拟公网IP可以和外面客户机通信。

原理简介:当客户机请求vip时,请求由路由器转发到分发器,再由分发器通过某种调度算法和mac转发给realserver实现负载均衡,realserver接到转发报文请求后再通过自身回环口vip向客户转发内容,其转发路径直接从某个出口路由到达客户机不经过分发器。

配置super63

配置IP

DIP    eth0     192.168.1.70

VIP    eth0:1    192.168.1.63

网关指向192.168.1.1

配置LVS-DR   规则(实验以轮询rr的方式)

[root@super63 network-scripts]# ipvsadm -A -t 192.168.1.63:80 -s rr

[root@super63 network-scripts]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.65 -g

[root@super63 network-scripts]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.66 –g

[root@super63 network-scripts]# ipvsadm -L -n         #查看

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.1.63:80 rr

-> 192.168.1.65:80              Route   1      0          0

-> 192.168.1.66:80              Route   1      0          0

配置super65

配置IP

etho      192.168.1.65/24

lo:1     192.168.1.63    255.255.255.255

网关指向192.168.1.1

关闭ARP转发   #使机器只响应eth0

[root@super65~]#echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore

[root@super65 ~]#echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

写入配置文件

[root@super65 network-scripts]# vim /etc/sysctl.conf

#尾部追加

net.ipv4.conf.eth0.arp_ignore = 1

net.ipv4.conf.eth0.arp_announce = 2

[root@super65 network-scripts]# sysctl -p

安装apache在apache服务器主页上写入内容便于测试

[root@super65 ~# ]echo "192.168.1.65" > /var/www/html/index.html

配置super66     #方法与super65原理一样

测试:

super64模拟客户机访问vip

[root@super64 ~]# elinks 192.168.1.63 --dump

192.168.1.65

[root@super64 ~]# elinks 192.168.1.63 --dump

192.168.1.66

[root@super64 ~]#  elinks 192.168.1.63 --dump

192.168.1.65

可以看到每次访问vip时访问了不同页面,负载均衡实现。

lvs原理和实战的更多相关文章

  1. Keepalived原理与实战精讲--VRRP协议

    . 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...

  2. Keepalived 原理与实战

    Keepalived 原理与实战 随着系统架构的逐渐演化,服务器的数量和结构会越来越复杂,例如 Web 服务器集群的搭建,提高了系统的性能,同时也提高了系统维护的复杂度,我们需要对集群中各台服务器进行 ...

  3. jQuery源码:从原理到实战

    jQuery源码:从原理到实战 jQuery选择器对象 $(".my-class"); document.querySelectorAll*".my-class" ...

  4. LVS原理详解(3种工作方式8种调度算法)--老男孩

    一.LVS原理详解(4种工作方式8种调度算法) 集群简介 集群就是一组独立的计算机,协同工作,对外提供服务.对客户端来说像是一台服务器提供服务. LVS在企业架构中的位置: 以上的架构只是众多企业里面 ...

  5. Spark MLlib特征处理:OneHotEncoder OneHot编码 ---原理及实战

    http://m.blog.csdn.net/wangpei1949/article/details/53140372 Spark MLlib特征处理:OneHotEncoder OneHot编码 - ...

  6. Istio 流量治理功能原理与实战

    一.负载均衡算法原理与实战 负载均衡算法(load balancing algorithm),定义了几种基本的流量分发方式,在Istio中共有4种标准负载均衡算法. •Round_Robin: 轮询算 ...

  7. LVS原理详解(3种工作模式及8种调度算法)

    2017年1月12日, 星期四 LVS原理详解(3种工作模式及8种调度算法)   LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法) 作者:woshiliwentong  发布日期: ...

  8. Oracle特殊恢复原理与实战(DSI系列)

    1.深入浅出Oracle(DSI系列Ⅰ) 2.Oracle特殊恢复原理与实战(DSI系列Ⅱ) 3.Oracle SQL Tuning(DSI系列Ⅲ)即将开设 4.Oracle DB Performan ...

  9. Java并发编程原理与实战五:创建线程的多种方式

    一.继承Thread类 public class Demo1 extends Thread { public Demo1(String name) { super(name); } @Override ...

随机推荐

  1. python将json格式的数据转换成文本格式的数据或sql文件

    python如何将json格式的数据快速的转化成指定格式的数据呢?或者转换成sql文件? 下面的例子是将json格式的数据准换成以#_#分割的文本数据,也可用于生成sql文件. [root@bogon ...

  2. iOS 中的Push Notifications简单实现(APNS)

    Android中的通知只有一种,就是Local Notifications,而iOS中除了Local Notifications外,还有一种Push Notifications.ios的这2种noti ...

  3. 菜单栏展开和收起效果(纯js)

    2014年6月25日 15:36:29 需要关注的是: 1.用cookie保存用户当前点击的菜单项,不打扰后端代码 2.通过数学计算得到要显示和隐藏的div 3.点击事件是动态绑定到a标签上的,因此当 ...

  4. canvas API ,通俗的canvas基础知识(二)

    上文我们讲到了画一条线,画矩形,写文字,总算是有了一个好的开头,如果还没有看的同学出门左转,先看看那篇,这里就不多做叙述了,接下来我们看比较复杂的一些属性和方法! 讲之前呢,我还是想温习一下,毕竟上文 ...

  5. Java for LeetCode 056 Merge Intervals

    Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6],[8, ...

  6. 一、HTML和CSS基础--网页布局--实践--导航条菜单的制作

    案例一:导航菜单的制作 垂直菜单

  7. 一、HTML和CSS基础--HTML+CSS基础课程--第5部分

    第九章 CSS盒模型 元素分类
: 在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的 ...

  8. 昨天晚上也弄不清楚是自己密码被盗了还是由于ip冲突

    所以还是尽量要相信自己所见到的,今天上午是安卓课程,说实话,昨天晚上都是2:30睡的,现在硬是要把时间待这么晚才回去睡,是因为我想尽快入睡,昨天晚上就是眼睛都有点睁不开了,所以就睡得很快,但是早上也是 ...

  9. grep -n 显示行号

    [root@86 ~]# grep -n "StartDiscoverers" /usr/local/zabbix/etc/zabbix_server.conf 176:### O ...

  10. svn Error: post-commit hook failed (exit code 127) with output

    Command: Commit Modified: C:\Users\xsdff\Desktop\project\index.html Sending content: C:\Users\xsdff\ ...