一、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. JS保留两位小数的几种方法

    四舍五入 以下处理结果会四舍五入: var num =2.446242342; num = num.toFixed(2); // 输出结果为 2.45 不四舍五入 以下处理结果不会四舍五入: 第一种, ...

  2. oracle sql语句实现累加、累减、累乘、累除

    在oracle开发过程中经常会遇到累加.减.乘.除的问题.下面对这个做个小的总结 ---创建测试表 CREATE TABLE TEST( PARENT_ID NUMBER, PART_ID NUMBE ...

  3. java把一个list分割成多个list存入map中(实例)

    这都是最近我写工具遇到的一些点, 这些点就是指我在网上没搜到答案,然后实际上我为此花费了时间的 public static void main(String[] args) { List<Str ...

  4. apache 压力测试ab

    1.安装了apache服务器 2.进入命令行 3.模拟并发级别为100,请求数为1000个的api数据请求数量测试

  5. macOS Sierra 10.12.6 odoo 10.0 开发环境配置

    参考了网上的一些教程,将最终过程记录一下,其中需要的一些程序,我已经放到百度网盘: https://pan.baidu.com/s/1boKHSTL 1.抹盘安装macOS Sierra 10.12. ...

  6. flask将日志写入日志文件

    import logging logging.basicConfig(level=logging.DEBUG,#控制台打印的日志级别 filename='log_new.log', # 将日志写入lo ...

  7. react使用BrowserRouter打包后,刷新页面出现404

    文档 https://gkedge.gitbooks.io/react-router-in-the-real/content/apache.html nginx nginx.conf server { ...

  8. STL之pair对组

    #include<iostream> #include<algorithm> #include<cstring> #include<cstdlib> u ...

  9. Jupyter notebook安装

    之前就装了jupyter notebook,但今天打开来发现是python2,并且似乎没法转换到python3??? so,再把python3的版本安装一下 打开CMD pip install jup ...

  10. Python学习之旅(二十四)

    Python基础知识(23):进程和线程(Ⅱ) 一.threadlocal 在多线程环境下,每个线程都有自己的数据 一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响 ...