一、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的更多相关文章

  1. linux LVS DR模式配置

    拓扑图: 测试环境:CentOS 6.5 X86 64位 配置步骤: 1.  安装测试环境 [root@UCS-1 ~]# yum -y install httpd [root@UCS-1 ~]# c ...

  2. Linux lvs DR配置

    三台服务器,(1)做路由.(2)(3)做realserver IP为:192.168.196.121  (1) 192.168.196.122   (2) 192.168.196.123   (3) ...

  3. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  4. 三台CentOS 5 Linux LVS 的DR 模式http负载均衡安装步骤

    Linux负载均衡软件LVS(概念篇) 一. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是ww ...

  5. Dr.com5.2 for linux

    最近安装了在ubuntu基础上改的elementaryos,很漂亮,学校提供的破linux客户端不能连上,网上常见的也是旧版本. 最后在百度Dr.com贴吧和这个帖子 http://forum.ubu ...

  6. Linux系统(五)负载均衡LVS集群之DR模式

    序言 DR模式是lvs集群中三种负载均衡模式的其中一种,那么上一篇中我写啦关于NAT模式的搭建与原理,为什么还要有DR模式与IP隧道模式呢? 首先我们来看3张图.LVS/NAT模式如下图: LVS/I ...

  7. 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 ...

  8. Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点

    前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...

  9. Linux学习-LVS跨网段DR模型和FWM多服务绑定

    一.实验环境 系统:CentOS7.6 主机:5台 (虚拟机) 客户端1台:172.16.236.134/24 (NAT网卡),网关指向 172.16.236.185/24(路由服务器) 路由服务器1 ...

随机推荐

  1. C语言socket编程

    建议先去看一下思路 真的写的很不错呦~ 思路参考博客:https://www.cnblogs.com/renfanzi/p/5713054.html linux c语言socket编程代码(单一服务端 ...

  2. MongoDB学习总结(二)

    前言:学习札记! MongoDB学习总结(二) 1.  安装.初识 之前写过一篇MongoDB的快速上手文章,里边详细的讲了如何安装.启动MongoDB,这里就不再累述安装过程,简单介绍一下Mongo ...

  3. centos系统安装rar解压工具unar

    centOS上不支持rar解压,需要额外安装软件,收费版是unrar,免费版是unar unar在centOS上安装需要源码编译,下面是安装方法: 1.安装依赖 yum install gnustep ...

  4. swiper4自动轮播切换手动触碰后停止踩坑——属性disableOnInteraction

    swiper4轮播设置autoplay自动切换后,即默认设置: <script> var mySwiper = new Swiper('.swiper-container', { auto ...

  5. IP地址在mysql的存储(IP地址和int的转换)

    PHP echo ip2long('192.168.1.38'); 输出:3232235814 MYSQL SELECT INET_ATON('192.168.1.38'); 输出:323223581 ...

  6. SQL 四大功能DDL/DML/DCL/TCL

    SQL主要分成四部分:(1)数据定义.(SQL DDL)用于定义SQL模式.基本表.视图和索引的创建和撤消操作.(2)数据操纵.(SQL DML)数据操纵分成数据查询和数据更新两类.数据更新又分成插入 ...

  7. Dagger2 导入项目

    导入分为两步: 第一步: 在Project build.gradle 文件中加入: dependencies { // Dagger2 第一步classpath 'com.neenbedankt.gr ...

  8. Centos 为Nginx 搭建https

    Youtube Nginx 扩展模块 certbot文档 yum -y install epel-release yum -y install certbot certbot certonly --s ...

  9. 关于histry的pushstate 和 popstate事件的应用

    这篇文章是基础:http://www.cnblogs.com/kaituorensheng/p/3776527.html: histry的单页面应用有两个写法:哈希值和?: 哈希值例子: 实现效果:点 ...

  10. mac sed 使用踩坑实录

    [转自别处] 比如我sed想做文件原地的替换,但是怎么写都出错,错误提示还莫名其妙,后来多方搜索才知道Mac上的sed如果参数有-i就必须加上备份指令,即-i后添加任意字符,那些字符就作为备份文件的后 ...