Linux LVS_NAT DR
一、lvs-nat
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器。是由章文嵩博士开发的一个在内核层面的负载均衡调度器。
lvs是在netfilter的INPUT链上根据我们制定的调度规则将特定目标地址和端口的数据包转发到后面的特定主机的,由于是工作于内核空间,所以工作效率高,经过优化最高可达400万的并发量调度。
lvs的实现需要两部分:ipvs, ipvsadm
ipvs是协议规则,ipvsadm是实现ipvs的工具,跟iptables具有极高的相似性。
定义规则时,需要先定义集群服务是什么,然后在定义调度方法。
lvs的类型有四种:lvs-nat,lvs-dr,lvs-tun,lvs-fullnat。受限于物理设备状况,本次试验只做lvs-nat的lvs测试。拓扑结构如下:

选择了lvs类型后,还需要选择lvs的scheduler调度法则。调度法则有多种:
RR: round-robin, 轮询;轮叫、轮调、轮流;
WRR:weighted round-robin, 加权轮询;
SH:Source ip Hashing,源地址哈希;把来自同一个地址请求,统统定向至此前选定的RS;
DH:Destination ip Hashing, 目标地址哈希;把访问同一个目标地址的请求,统统定向至此前选定的某RS;
LC: least connection
Overhead=Active*256+Inactive,overhead值越小的越优先被访问
WLC: weighted least connection
Overhead=(Active*256+Inactive)/weight,overhead值越小的越优先被访问
SED:Shorted Expection Delay
Overhead=(Active+1)*256/weight,overhead值越小的越优先被访问
NQ:Never Queue
LBLC:Local-Based Least Connection,动态方式的DH算法;
LBLCR:Replicated LBLC
最常用的也是默认的调度法则是wlc。
二。配置
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
[root@localhost ~]# echo "1" >/proc/sys/net/ipv4/ip_forward
在lvs dector安装ipvsadm
[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# ipvsadm -C
[root@localhost ~]# ipvsadm -At 172.16.1.128:80 rr
[root@localhost ~]# ipvsadm -at 172.16.1.128:80 -r10.255.255.2:80 -m
[root@localhost ~]# ipvsadm -at 172.16.1.128:80 -r10.255.255.3:80 -m
配置web服务器
[root@localhost ~]# yum -y install httpd
三。LVS_TUN模式
在ipvsadm管理器上yum -y install ipvsadm 然后配置
[root@localhost ~]# ifconfig tunl0 172.16.1.127 netmask 255.255.255.255 up
[root@localhost ~]# route add -host 172.16.1.127 dev tunl0
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/all/send_redirects
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/default/send_redirects
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/eth0/send_redirects
[root@localhost ~]# ipvsadm -At 172.16.1.127:80 -s rr
[root@localhost ~]# ipvsadm -at 172.16.1.127:80 -r 172.16.1.130:80 -i
[root@localhost ~]# ipvsadm -at 172.16.1.127:80 -r 172.16.1.131:80 -i
[root@localhost ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
在realhost上安装 httpd后
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/tunl0/arp_announce
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
[root@localhost ~]# echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
[root@localhost ~]# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
三。LVS_dr模式
Linux LVS_NAT DR的更多相关文章
- linux LVS DR模式配置
拓扑图: 测试环境:CentOS 6.5 X86 64位 配置步骤: 1. 安装测试环境 [root@UCS-1 ~]# yum -y install httpd [root@UCS-1 ~]# c ...
- Linux lvs DR配置
三台服务器,(1)做路由.(2)(3)做realserver IP为:192.168.196.121 (1) 192.168.196.122 (2) 192.168.196.123 (3) ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- 三台CentOS 5 Linux LVS 的DR 模式http负载均衡安装步骤
Linux负载均衡软件LVS(概念篇) 一. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是ww ...
- Dr.com5.2 for linux
最近安装了在ubuntu基础上改的elementaryos,很漂亮,学校提供的破linux客户端不能连上,网上常见的也是旧版本. 最后在百度Dr.com贴吧和这个帖子 http://forum.ubu ...
- Linux系统(五)负载均衡LVS集群之DR模式
序言 DR模式是lvs集群中三种负载均衡模式的其中一种,那么上一篇中我写啦关于NAT模式的搭建与原理,为什么还要有DR模式与IP隧道模式呢? 首先我们来看3张图.LVS/NAT模式如下图: LVS/I ...
- Linux下部署LVS(DR)+keepalived+Nginx负载均衡
架构部署 LVS/keepalived(master):192.168.21.3 LVS/keepalived(Slave):192.168.21.6 Nginx1:192.168.21.4 N ...
- Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点
前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...
- Linux学习-LVS跨网段DR模型和FWM多服务绑定
一.实验环境 系统:CentOS7.6 主机:5台 (虚拟机) 客户端1台:172.16.236.134/24 (NAT网卡),网关指向 172.16.236.185/24(路由服务器) 路由服务器1 ...
随机推荐
- MySql快速插入以及批量更新
MySql快速插入以及批量更新 插入: MySql提供了可以一次插入多条数据的用法: [sql] INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6), ...
- SpringBoot系统列 5 - 接口版本控制、SpringBoot FreeMarker模板引擎
接着上篇博客的代码继续写 1.接口版本控制 一个系统上线后会不断迭代更新,需求也会不断变化,有可能接口的参数也会发生变化,如果在原有的参数上直接修改,可能会影响线上系统的正常运行,这时我们就需要设置不 ...
- [tomcat启动报错]registered the JDBC driver [com.alibaba.druid.proxy.DruidDriver] but failed to unregister it when the web application was stopped
环境:一个tomcat ,一个工程配置了多数据源,在启动的时候报如下错误: SEVERE: The web application [/qdp-resource-job] registered the ...
- C# 在while循环中new的对象
一: 问:那每次循环都会new一个A?那内存不是会满吗?还是说要把这个初始化对象的动作放到循环外面的写法会比较好? while(true) { A a = new A(); ... sleep(100 ...
- 鼠标交互插件threex.domevents介绍
threex.domevents是一个three.js的扩展库,支持3D场景的交互.和我们操作DOM树的事件相似,名称都是一样的.所以使用起来非常方便.另外他也提供了连接操作.单击网格可实现跳转功能. ...
- [2]朝花夕拾-JAVA注解、PHP注解?
一.Java注解概述 注解,也被称为元数据,为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻非常方便地使用这些数据. 注解在一定程度上是把元数据与源代码文件结合在一起,而不是保存 ...
- css特效 - 环形文字
记一次群友问题和回答: 下面这种效果,文字是动态的,不能使用图片的情况下,前端怎么实现? 一.插件实现: arctext.js 教程地址:实现文字平滑弯曲弧形效果的插件-arctext.js 二.原生 ...
- react使用mobx
mobx api 使用装饰器语法 mobx数据转化为js数据 安装 yarn add mobx mobx-react yarn add babel-preset-mobx --dev "pr ...
- jquery截取地址栏中url参数的值
<script> /*http://127.0.0.9/index.php?s=/Home/Index/fangguan_shuju&zc=2*/ function getQuer ...
- 注意兼容浮点运算误差 0.7 + 0.1 ==0.8 为false
所以比较 汇总或者计算的时候注意确定精度0.7 + 0.1 ==0.8 换成 Math.abs(0.7 + 0.1 ==0.8)<0.0001参考下