LVS

Lvs体系结构

Lvs工作模式(3种)

NAT-网络地址转换模式

当用户请求到达调度器时,调度器将请求报文的目标地址(即虚拟IP地址)改写成选定的Real Server地址,同时报文的目标端口也改成选定的Real Server的相应端口,最后将报文请求发送到选定的Real Server。在服务器端得到数据后,Real Server返回数据给用户时,需要再次经过负载调度器将报文的源地址和源端口改成虚拟IP地址和相应端口,然后把数据发送给用户,完成整个负载调度过程。

TUN-ip隧道模式

它的连接调度和管理与VS/NAT方式一样,只是它的报文转发方法不同,VS/TUN方式中,调度器采用IP隧道技术将用户请求转发到某个Real Server,而这个Real Server将直接响应用户的请求,不再经过前端调度器,

SR-直接路由模式

它的连接调度和管理与VS/NAT和VS/TUN中的一样,但它的报文转发方法又有不同,VS/DR通过改写请求报文的MAC地址,将请求发送到Real Server,而Real Server将响应直接返回给客户,免去了VS/TUN中的IP隧道开销。这种方式是三种负载调度机制中性能最高最好的.

LVS调度算法

常用:

rr:轮询调度(也叫1:1调度,把用户请求平均分配给real server)

wrr:加权轮询(根据Real Server的不同处理能力来调度访问请求调度器还可以自动查询Real Server的负载情况,并动态地调整其权值。,)

lc:最小连接数调度(动态地将网络请求调度到已建立的连接数最少的服务器上)

wlc:加权最小连接数调度(系统管理员可以动态的设置相应的权值,权值表示其处理能力)

---------------------------------------------------------------------------------------------------------------------------------------------------------

LVS-DR模式工作原理

首先CIP请求被发送到Director的VIP,然后Director使用相同的VIP将目的IP地址请求发送到集群节点或Real Server。最后,集群某个节点将回复该数据包,并将该数据包直接发送到客户端计算机(不经过director),并且以此回复数据包使用的目的VIP 地址作为源IP地址。

LVS-DR

一、环境准备

Directory    centos7.3         192.168.138.11(VIP:192.168.138.110)

Rs1         centos7.3         192.168.138.12

Rs2         centos7.3         192.168.138.16

测试机器    centos7.3         192.168.138.14

配置域名解析

#cat /etc/hosts

192.168.138.11      directory

192.168.138.12  rs1

192.168.138.16      rs2

同步时间

ntpdate ntp.gwadar.cn

配置http服务(在Real server操作)

1)  安装

yum install -y httpd

2)准备测试页面

[root@rs1 ~]# cat  /var/www/html/index.html

<html>

<head>

<title> This is a web test page </title>

</head>

<body>

<h1><center>Welcom to my web , my ip is 192.168.138.12</center></h1>

</body>

</html>

[root@rs2 ~]# cat  /var/www/html/index.html

<html>

<head>

<title> This is a web test page </title>

</head>

<body>

<h1><center>Welcom to my web , my ip is 192.168.138.16</center></h1>

</body>

</html>

3)启动并测试http服务

[root@rs1 ~]# systemctl start httpd

[root@rs1 ~]# elinks -dump http://192.168.138.12

Welcom to my web , my ip is 192.168.138.12

二.Lvs安装及配置

1.安装

[root@direstory ~]# yum install -y ipvsadm

加载到内核

[root@direstory ~]# ipvsadm

查看

[root@direstory ~]# lsmod | grep ip_vs

ip_vs                 141092  0

nf_conntrack          111302  1 ip_vs

libcrc32c              12644  2 xfs,ip_v

2.配置lvs负载均衡服务

1)配置VIP地址

方法一:

[root@direstory ~]# cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens33:110

[root@direstory network-scripts]# cat ifcfg-ens33:110

BOOTPROTO=none

DEVICE=ens33:110

ONBOOT=yes

DNS1=114.114.114.114

TYPE=Ethernet

IPADDR1=192.168.138.110

PREFIX=24

GATEWAY=192.168.138.2

方法二

查看网卡接口

[root@direstory ~]#nmcli con sh

增加ip地址

[root@direstory ~]# nmcli con mod "System ens33" +ipv4.addr 192.168.138.110/24

3. 手工执行配置添加LVS服务并增加两台RS

[root@direstory ~]# ipvsadm -A -t 192.168.138.110:80 -s rr

[root@direstory ~]# ipvsadm -a -t 192.168.138.110:80 -r 192.168.138.16:80 -g

[root@direstory ~]# ipvsadm -a -t 192.168.138.110:80 -r 192.168.138.12:80 –g

查看配置的服务

[root@direstory ~]# ipvsadm -l

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.138.110:80 rr

-> 192.168.138.12:80            Route   1      0          0

-> 192.168.138.16:80            Route   1      0          0

相关参数解释

-A  添加虚拟服务器

-t  设置群集地址(VIP,Virtual IP)

-s  指定负载调度算法

-a  添加真实服务器

-d  删除真实服务器

-r  指定真实服务器(Real Server)的地址

-m  使用NAT模式;-g、-i分别对应DR、TUN模式

-w  为节点服务器设置权重,默认为1

配置好的lvs服务保存/恢复

保存:

[root@direstory ~]# ipvsadm -S > ipvsadm.cfg

[root@direstory ~]# more ipvsadm.cfg

-A -t 192.168.138.110:http -s rr

-a -t 192.168.138.110:http -r rs1:http -g -w 1

-a -t 192.168.138.110:http -r rs2:http -g -w 1

恢复:

[root@direstory ~]# ipvsadm -R < ipvsadm.cfg

[root@direstory ~]# ipvsadm –l

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.138.110:http rr

-> rs1:http                     Route   1      0          0

-> rs2:http                     Route   1      0          0

删除示例:

[root@direstory ~]# ipvsadm -D -t 192.168.138.110:80

[root@direstory ~]# ipvsadm -d-t 192.168.138.110:80 -r 192.168.138.16:80

4. 手工在RS端绑定VIP
[root@rs1 ~]# cd /etc/sysconfig/network-scripts/

[root@rs1 network-scripts]# cp
ifcfg-lo ifcfg-lo:110

[root@rs1 network-scripts]#
vim  ifcfg-lo:110

DEVICE=lo:110

IPADDR=192.168.138.110

NETMASK=255.255.255.255

ONBOOT=yes

Rs2 同上

5.调整内核参数,关闭arp响应(在每台real server执行)

内核参数配置文件:/etc/sysctl.conf

当前生效

[root@RS1 ~]# echo "1" >
/proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS1 ~]# echo "2"
> /proc/sys/net/ipv4/conf/lo/arp_announce
[root@RS1 ~]# echo
"1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS1 ~]# echo
"2" > /proc/sys/net/ipv4/conf/all/arp_announce
永久生效

[root@rs1 ~]# cat /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore=1

net.ipv4.conf.lo.arp_announce=2

net.ipv4.conf.all.arp_ignore=1

net.ipv4.conf.all.arp_announce=2

rs2同上

三、测试lvs-dr集群

[root@localhost
~]# for ((i=1;i<=10;i++)); do elinks -dump http://192.168.138.110; done

Welcom to my web , my ip is
192.168.138.16

Welcom to my web , my ip is
192.168.138.12

Welcom to my web , my ip is
192.168.138.16

Welcom to my web , my ip is
192.168.138.12

Welcom to my web , my ip is
192.168.138.16

Welcom to my web , my ip is
192.168.138.12

Welcom to my web , my ip is
192.168.138.16

Welcom to my web , my ip is
192.168.138.12

Welcom to my web , my ip is
192.168.138.16

Welcom to my web , my ip is 192.168.138.12

LVS-DR 配置测试的更多相关文章

  1. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

  2. LVS/DR 配置

    LVS/DR 配置 实验环境 三台主机:Linux Centos 6.4 32位 调度器Director:192.168.1.160(公网IP).192.168.1.100(VIP) HTTP真实服务 ...

  3. lvs/dr配置

    lvs/dr Director server : DIP:192.168.1.100/24  eth0 VIP:192.168.1.101/24  eth0:0 Real server: Real1: ...

  4. 2. LVS/DR 配置

    平台:RedHat Enterprise Linux centos6.3       ipvsadm             ipvs 1.DR模型 DR模型:直接路由模型,每个Real Server ...

  5. Centos7 中lvs DR配置

    服务器主机: 10.200.3.100       DirectServer 10.200.3.99         RealServer1 10.200.3.101 RealServer2 10.2 ...

  6. Linux lvs DR配置

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

  7. LVS的DR设置测试

    dir: ipvsadm -C 清空之前ipvsadm   iptables -t nat -F 防火墙规则清空v   rs1,rs2: vi /etc/sysconfig/network-scrip ...

  8. lvs之 lvs+nginx+tomcat_1、tomcat_2+redis(lvs dr 模式)

    前提:已经安装好 lvs+nginx+tomcat_1.tomcat_2+redis环境 ,可参考 (略有改动,比如tomcat_1.tomcat_2安装在两台机器上,而不是单机多实例 ,自行稍稍变动 ...

  9. LVS结合keepalived配置测试

     LVS/DR + keepalived配置 注意:前面虽然我们已经配置过一些操作,但是下面我们使用keepaliave操作和之前的操作是有些冲突的,所以若是之前配置过DR,请首先做如下操作:   三 ...

  10. Keepalived + LVS/DR 安装配置

    Keepalived + LVS/DR 说明 Keepalived:可以踢出掉故障服务 Keepalived:可以实现主从切换,解决单点故障 实验环境 四台主机:Linux Centos 6.4 32 ...

随机推荐

  1. 微信小程序 - toptip效果

    在Page顶部下滑一个提示条 , 代码见 /mixins/UIComponent.js ,其中的self 可以认为是微信小程序的Page对象 效果: 默认2秒展示,上移动画隐藏 /** * 展示顶部 ...

  2. Oracle 错误:ORA-06413: Connection not open 解决办法

    http://blog.csdn.net/neso520/article/details/6037411 ——————————————————————————————————————————————— ...

  3. 【转】【iOS测试系列】常用测试小插件的使用

    背景介绍 由于iOS系统的限制,在非越狱的自动化测试中无法实现一些常用的功能,比如不同应用之间来回切换.模拟全局的点击事件等等.但是在越狱的环境下,这些限制就不存在了,我们可以利用各种小插件来实现我们 ...

  4. 009杰信-创建购销合同Excel报表系列-2-建立购销合同(增删改查)

    前面一篇文章已经分析好了数据库的表,这篇文章针对购销合同表做一个增删改查. 和之前的表的增删该查类似. 项目结构如下:

  5. 绑定QQ登录 PHP OAuth详解(转)

    越来越多的网站开始采用 第三方账号登录 如qq 微博 开心网 等诸多流行的社交平台,利用第三方账号登录,可以更好地省去用户的注册时间,并且极大地提高用户体验,吸引更多的潜在用户. 让用户拥有 一个号码 ...

  6. 【BZOJ】1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路(floyd)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1624 一开始我打算一个个最短路................................. 然 ...

  7. 使用ANT编译项目报错 com.sun.image.codec.jpeg does not exist 解决方法

    项目开发中在对图片进行裁切处理的时候,有时候是会使用到 com.sun 包下的类时. 假设项目使用ant编译,会出现错误 com.sun.image.codec.jpeg does not exist ...

  8. ACM计算几何模板——圆和球

    #include <iostream> #include <cmath> using namespace std; #define eps 1e-10 /********** ...

  9. MySQL Error: PROCEDURE xmdk.query_all_plan can't return a result set in the given context

    C++调用存储过程失败!出现如下错误:MySQL Error: PROCEDURE xmdk.query_all_plan can't return a result set in the given ...

  10. 剑指 offer set 22 数组中的逆序数

    总结 1. 题目为归并排序的变形, 不过我完全没想到 2. 在归并排序进行字符组 merge 时, 统计逆序数. merge 后, 两个子数组是有序的了, 下次再 merge 的时候就能以 o(n) ...