LVS(虚拟集群Linux Virtual Server)

LVS-NAT:地址转换,数据包来回都要经过NAT转换,所以Director Server(即LVS服务器)将成为系统瓶颈。使用NAT模式将需要两个不同网段的IP,一个IP接受外部请求服务,一般为外网ip,此IP称为VIP,一个IP与后realserver同一地址段,负责相互通信,称为DIP。后端realserver的网关地址需指向DIP。同时需开启linux内核的数据包转发功能。

LVS-TUN:隧道 ,LVS/TUN与 LVS/DR 类似。只是在报文外面再加一层IP封装,整个过程比LVS/DR模式多一次报文的封装/解封过程。LVS/DR只支持本地网络,LVS/TUN却可以跨机房。

LVS-DR: 直接路由,此种方式是最常用的方式,

所有的Director和RealServer都在同一个物理网络中(交换机)并且都只有一块网卡。

常用的几种调度:

1. 轮叫调度 rr                    所有real_server轮流

2. 加权轮叫 wrr                 按照性能比例,好的多分,差的少分

3. 最少链接 lc                    给链接数少的分

4. 加权最少链接 wlc          按照性能比例,好的多分,差的少分,链接数也要保持比例

5. 基于局部性的最少连接调度算法 lblc

6. 复杂的基于局部性最少的连接算法 lblcr

7. 目标地址散列调度算法 dh

8. 源地址散列调度算法 sh

用DR模式配置(必须同一网段)

首先准备构建集群的三台设备

direct_server:192.168.254.17

real_server1:192.168.254.18

real_server2:192.168.254.19

拟定vip为:192.168.254.250

direct_server:

 # yum -y install ipvsadm
# yum -y install httpd*
# ipvsadm -C
# ipvsadm -A -t 192.168.11.250: -s rr
# ipvsadm -a -t 192.168.11.250: -r 192.168.11.138: -g
# ipvsadm -a -t 192.168.11.250: -r 192.168.11.140: -g
# ifconfig ens33: 192.168.11.250 broadcast 192.168.11.250 netmask 255.255.255.255 up 在ens33的子网卡添加一个虚拟ip,保证服务可以访问到VIP;
# route add -host 192.168.11.250 dev ens33:
添加一个路由通过ens33来访问Vip 192.168.254.250
# vim /dev/sysconfig/ipvsadm 随便编辑一下
# ipvsadm -Ln --stats -L显示内核虚拟服务器表

--zero  清空流量      -n 输出IP地址和端口的数字形式

/# -a添加          -t 添加一个虚拟IP的tcp 协议

/# -C:–clear 清除内核虚拟服务器表中的所有记录

/# -A添加一个虚拟IP  -s调度器

/# -r real_server         -g DR模式

/# ens33:0 是子网卡,设置第二个ip

/# broadcast 广播

/# ipvsadm文件缺失后会导致ipvsadm start失败

real_server:

# yum -y install httpd*
# ifconfig lo: 192.168.11.250 broadcast 192.168.11.250 netmask 255.255.255.255 up
# route add -host 192.168.11.250 dev lo:
/#loopback网卡,默认地址127.0.0.
# echo "">/proc/sys/net/ipv4/conf/lo/arp_ignore
# echo "">/proc/sys/net/ipv4/conf/lo/arp_announce
# echo "">/proc/sys/net/ipv4/conf/all/arp_ignore
# echo "">/proc/sys/net/ipv4/conf/all/arp_announce
# vim /etc/www/html/index.html
<h1>this is (或者140) host</h1>
# systemctl start httpd.service

测试:

用第四台虚拟机

# curl 192.168.11.250    出现下图情况即成功

也可以windows装curl包后,在命令行输入上述命令测试

arp_ignore:定义接收到ARP请求时的响应级别

0:默认,只用本地配置的有响应地址都给予响应

1:仅仅在目标IP是本地地址,并且是配置在请求进来的接口上的时候才给予响应

(仅在请求的目标地址配置请求到达的接口上的时候,才给予响应)

arp_announce:定义将自己的地址向外通告时的级别

0:默认,表示使用配置在任何接口的任何地址向外通告

1:尽量仅向目标网络通告与其网络匹配的地址

2:仅向与本地接口上地址匹配的网络进行通告

tun隧道模式

lvs-server:

       ifconfig tunl0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.0 up
route add -host 192.168.254.250 dev tunl0
ipvsadm -A -t 192.168.254.250: -s rr
ipvsadm -a -t 192.168.254.250: -r 192.168.254.18 -i
ipvsadm -a -t 192.168.254.250: -r 192.168.254.19 -i

real server:

  ifconfig tunl0 192.168.254.250 netmask 255.255.255.255 broadcast 192.168.254.250 up
route add -host 192.168.254.250 dev tunl0
echo "" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/tunl0/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "" >/proc/sys/net/ipv4/conf/tunl0/rp_filter
echo "" > /proc/sys/net/ipv4/conf/all/rp_filter

0:不开启源地址校验。

1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。

如果反向路径不是最佳路径,则直接丢弃该数据包。

2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),

如果反向路径不同,则直接丢弃该数据包。

虚拟集群LVS及DR模式搭建笔记的更多相关文章

  1. CentOS高可用集群LVS+Keepalived(DR模式)

    操作系统:CentOS6.5_x64 mini 负载均衡模式:DR(直接路由) LVS与Keepalived简述: LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是 ...

  2. LVS+Keepalived(DR模式)学习笔记

    1.简述 在互联网的中型项目中,单服务器往往已经无法满足业务本身的性能要求,这时候就会平行扩展,把负载分摊到数台服务器上(集群).一般实现集群有DNS轮询,LVS,nginx负载均衡. 集群主要目的包 ...

  3. LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置(DR模式,一个VIP,多个端口)

    一.概述 LVS作用:实现负载均衡 Keepalived作用:监控集群系统中各个服务节点的状态,HA cluster. 配置LVS有两种方式: 1. 通过ipvsadm命令行方式配置 2. 通过Red ...

  4. LVS基于DR模式搭建负载均衡群集

    LVS -DR模式集群架构原理图

  5. keepalived的功能及DR模式搭建笔记

    一.HA集群中的相关术语 1.节点(node) 运行HA进程的一个独立主机,称为节点,节点是HA的核心组成部分,每个节点上运行着操作系统和高可用软件服务,在高可用集群中,节点有主次之分,分别称之为主节 ...

  6. 集群--LVS的DR模型配置

    1.查看内核是否有IPVS内核模块 grep -i 'ip_vs' /boot/config-2.6.32-431.el6.x86_64

  7. Linux centosVMware Linux集群架构LVS DR模式搭建、keepalived + LVS

    一.LVS DR模式搭建 三台机器 分发器,也叫调度器(简写为dir) davery :1.101 rs1 davery01:1.106 rs2 davery02:11.107 vip 133.200 ...

  8. LVS DR模式搭建、keepalived+lvs

    1.LVS DR模式搭建 条件: 即三台机器,在同一内网. 编辑脚本文件:/usr/local/sbin/lvs_dr.sh #! /bin/bashecho 1 > /proc/sys/net ...

  9. LVS DR模式搭建 keepalived lvs

    LVS DR模式搭建• 三台机器 • 分发器,也叫调度器(简写为dir)172.16.161.130 • rs1 172.16.161.131 • rs2 172.16.161.132 • vip 1 ...

随机推荐

  1. BZOJ 4229: 选择 LCT_独创方法_边双

    考虑如果两点在一个环中,那么这两点一定可以构出双联通分量. 考虑环和环镶嵌,那么两个环中的点一定都互为双联通分量. 由此,我们想到一个算法: 将删边转为反向加边,用LCT维护图. 当我们连接两个点时, ...

  2. 路飞学城Python-Day49

    55-善于使用父亲的padding,而不是margin 56-文本属性和字体属性 div{ width: 300px; height: 100px; border: 1px solid red; /* ...

  3. 基础——(5)D Flip-Flop(D触发器)

    之前搞了一个 D-Latch,看一下下图是怎么变化的 In D-latch anytime its enabled the input D is going to be output at Q 使用c ...

  4. MVC总结

    一.转自https://zhuanlan.zhihu.com/p/35680070 MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来, ...

  5. 异构关系数据库(MySql与Oracle)之间的数据类型转换参考

    一.MySQL到Oracle的数据类型的转变: 编号 MySQL ToOracle Oracle 1 GEOMETRY BLOB BLOB 2 GEOMETRYCOLLECTION BLOB BLOB ...

  6. 【 【henuacm2016级暑期训练】动态规划专题 P】Animals

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 第i只动物如果饲养它的话. 代价是固定的就是(n-i+1)a[i] 所以相当于给你n个物品,每个物品的重量为(n-i+1)a[i], ...

  7. [Angular + Unit Testing] Mock HTTP Requests made with Angular’s HttpClient in Unit Tests

    In a proper unit test we want to isolate external dependencies as much as possible to guarantee a re ...

  8. openssl之EVP系列之10---EVP_Sign系列函数介绍

    openssl之EVP系列之10---EVP_Sign系列函数介绍     ---依据openssl doc/crypto/EVP_SignInit.pod翻译     (作者:DragonKing, ...

  9. 图论之tarjan缩点

    缩点,就是把一张有向有环图中的环缩成一个个点,形成一个有向无环图. 首先我介绍一下为什么这题要缩点(有人肯定觉得这是放屁,这不就是缩点的模板题吗?但我们不能这么想,考试的时候不会有人告诉你打什么板上去 ...

  10. xBIM 高级01 IFC多模型合并

    系列目录    [已更新最新开发文章,点击查看详细]  多模型合并可以实现以下功能: 覆盖多个模型以表现得像一个模型 统一访问数据,就像它是单个模型一样 只读.要修改模型的内容,您必须使用特定模型 不 ...