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 ...
随机推荐
- 通过T-SQL语句实现数据库加解密功能
CREATE TABLE [dbo].[Users] ( [U_nbr] NVARCHAR(20) NOT NULL PRIMARY KEY, [Pwd] nvarchar(MAX) ) --加密 D ...
- mybatis-generator 自动生成查询Vo
package com.witwicky.plugins; import org.mybatis.generator.api.GeneratedJavaFile; import org.mybatis ...
- sql 时间转换格式 convert(varchar(10),字段名,转换格式)
convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121) CONVERT为日期转换函数,一般就是在时间类型(datetime ...
- Flutter & Dart 安装在window系统
一.系统环境 flutter最低要求 1,windows7 SP1 64位版本以上,我的系统就是windows 7 sp1 64bit 2,git for windows ,没有安装的需要到这里下载 ...
- 蜕变成蝶~Linux设备驱动中的阻塞和非阻塞I/O
今天意外收到一个消息,真是惊呆我了,博客轩给我发了信息,说是俺的博客文章有特色可以出本书,,这简直让我受宠若惊,俺只是个大三的技术宅,写的博客也是自己所学的一些见解和在网上看到我一些博文以及帖子里综合 ...
- ef报错:实体类型XXX不是当前上下文的模型的一部分。
可能原因:.net框架版本与实体框架版本不匹配,比如:.net框架版本为4.5.实体框架版本为6.2. 解决方法:将实体框架版本降到6.0.
- 获取当前目录绝对路径,参考canal run.sh里面的方式
case "`uname`" in Darwin) bin_abs_path=`cd $(dirname $0); pwd` ;; Linux) bin_abs_path=$(re ...
- 禅道docker化(Centos7.2)
操作步骤 确认服务器禅道版本及容器禅道版本 服务器禅道版本:9.6.2 容器禅道版本:9.6.3 版本sql比对 下载官方9.6.3源码包url:http://dl.cnezsoft.com/zent ...
- java代码理解
public int maxProfit(int k, int[] prices) { int pl = prices.length; int nothin ...
- poj 1556
哦天哪这个萨比提又浪费了我好几个小时. 我们在check的时候只考虑严格相交就行了,想了很久才注意到这一点. 然后就建图跑最短路,over. #include <cstdio> #incl ...