码迷,mamicode.com
首页 > 其他好文 > 详细

LVS

时间:2018-04-15 16:51:40      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:LVS 、LVS+ldirectord

一 LVS 简介

1 介绍

LVS 是Linux virtual server的简写,是linux 虚拟服务器,是一个虚拟服务器集群系统,可以在Unix/Linux平台下实现负载均衡集群功能,该项目在1998年由章文嵩博士组织建立

2 LVS 发展史。

早在2.2内核版本开始,IPVS 就已经以内核补丁的形式出现
从2.4.23版本开始IPVS如那件就是合并到Linux内核的常用版本的内核补丁的集合
从2.4.24 以后IPVS已经成为Linux官方标准内核的一部分。

3 LVS组成

1 IPVS 工作在内核层面
2 管理LVS的工具,ipvsadm 管理LVS的工具,工作在外围。
技术分享图片

4 LVS 集群名词介绍

技术分享图片
DR LVS 负载调度器
CL 客户端
RS 后端web 服务器

5 LVS 工作的四种模式

1 NAT (network address translation)模式

技术分享图片
工作原理概述:
数据包通过VIP找到LVS,其中携带者客户端的CIP和VIP,当到达LVS后,LVS通过DNAT目标的地址转换技术将VIP转换成RIP使其可以找到后端的服务,当数据包到达RS后,其不知道CIP的地址,一般不在统一网段,通过在RS上配置LVS的内部网关来找到LVS,通过LVS的源地址转换技术转换为将RIP转换为VIP发送给客户端

对LVS要求:
LVS必须有双网卡,且需要开启内核转发功能
RS 要求,RS 需要指定指向LVS内部网卡的网关,及数据包可以通过网关从RS顺利到达LVS。
优点:支持VIP和RIP不在同一网段
缺点:来去都经过LVS ,转发效率不高

2 TUN 模式:

技术分享图片
工作原理概述:
数据包在客户端是CIP:VIP ,当到达LVS之后,通过在其外面封装数据包头来达到其可以到达RS的目的,当到达RS后,RS需要解封装数据包头,提取出VIP和CIP,此时RS上需要有VIP,且开启ARP抑制,如此才能使得客户端的数据包在不经过LVS的情况下顺利返回客户端,
对LVS 要求:
可以支持IPIP隧道技术,实现数据包的封装,
RS 要求,实现对数据包的解封装和ARP抑制功能,
优点:适用于LAN/WAN网络,及LVS和RS不再同一个物理范围内的场景
缺点:配置复杂,需要支持一定的技术

3 DR 模式 (重点)

技术分享图片
工作原理概述:
客户端通过VIP进行访问LVS,到达LVS的是CIP和VIP 的数据包,LVS通过在该区域内通过ARP广播获取到后端RS的MAC地址,因此LVS必须和RS在同一网段,并通过调度算法将某个RS对应的MAC地址封装到CIP和VIP的数据包上,进而实现将数据包送达RS的目标,当数据包到达RS后,因为RS端配置了VIP 并启用了ARP抑制,因此数据包可以用过VIP和CIP 在数据包出去时直接和客户端进行对话,而不去要经过LVS调度器
对LVS要求:
一般的设备都可以
对RS要求:
需要配置VIP和ARP抑制功能
优点:支持高并发,多大数万
缺点:LVS必须和RS在同一网段,否则不成立

4 FULLNAT 模式

技术分享图片
源IP地址和目标IP地址在进和出网络时都进行转换
优点:跨VLAN通信(LIP决定)用于沟通底层VLAN的。
功能多,有抗攻击模块,多VLAN。支持的主机量更大。
缺点:需要需要编译内核,

6 LVS 的调度算法

技术分享图片技术分享图片

二 实现验环境

1 设备概述:

设备名称 设备功能 设备IP
server1 LVS调度器 192.168.122.232
server2 web服务器,提供web页面 192.168.122.4
server3 web服务器,提供web页面 192.168.122.109

2 软件包及yum源相关配置:
1 软件包:
链接:https://pan.baidu.com/s/1ITkJkLuuz9YnGd-poQ5R4A
密码:bdr4
2 配置yum 源:
技术分享图片
查看yum源:
技术分享图片

三 实验(DR模式):

1 LVS 操作

1 安装ipvsadm

技术分享图片

2 设置VIP(调度器)用于与客户端之间的通信

技术分享图片

3 设置调度策略

1 查看后端RS地址
技术分享图片
技术分享图片
设置VS 调度策略
-A 表示添加VIP
-a 表示添加站点
-t 表示指定为tcp
-s 指定调度机制为轮循(RR)
-r 指定后端地址
-g 表示模式为DR模式
技术分享图片
查看调度策略
技术分享图片

2 RS配置

1 安装arptables_jf 软件

1 server2 上安装

用与接收ARP请求但不返回,其作用是将使用VIP地址直接与客户端通信
技术分享图片

2 server3 安装

技术分享图片

配置VIP

1 server2 端

技术分享图片

2 server3 端配置VIP

技术分享图片

3 设置配置策略并保存

1 设置server2ARP抑制策略并保存

-A 表示添加
-d 表示 目标地址
-j 为动作
-s 为源地址
技术分享图片

2 设置server3ARP抑制策略并保存

技术分享图片

4 启动其web服务

技术分享图片
技术分享图片

3 查看策略

技术分享图片

4 进行在实体机端测试

证明轮循机制成立
技术分享图片
其缺点是对后端服务不会进行健康检查,当后端服务出现故障时,前端将会出现访问故障,不能很好的解决健康检查问题。

四 实验 (LVS+ldirectord)

1 安装ldirectord 文件

1 作用:

ldirectord来管理lvs,可以定时检查后端realserver,发现故障后自动清除,恢复后自动加入lvs表,
技术分享图片

2 安装服务

技术分享图片

2 配置

1 拷贝其配置文件

技术分享图片

2 查看内容

技术分享图片

3 修改配置文件内容

使其可以直接对IPVS控制
技术分享图片
参数说明
前四行是全局配置,他们可以应用到多个虚拟主机。
checktimeout: 等待健康检查执行完毕的等待时间,单位是s。
checkinterveal:指定健康检查的时间间隔
autoreload :如果启用,使用ldirectord 按时计算这个配置文件的md5校验和,看其是否改动,如果配置文件发生变动,其将自己通过调用命令,将其添加到池中
也可以向ldirectoed 守护进程发送HUP(使用kill命令)强制重载
quiescent=:一个节点在 checktimeout 设置的时间周期内没有响应是它是“静止的”(它的权重为
0),当你设置了这个选项后,ldirectord将 会从 IPVS 表中移除真实服务器而不是“停
止”它,从 IPVS 表移除节点将中断现有的客户端连接,并使 LVS 丢掉所有的连接跟踪记
录和持续连接模板,如果 你不将这个选项设置为 no,当某个节点崩溃时,对某些客户端
计算机而言可能会显示为集群关闭了,因为在这个节点崩溃前这些客户端计算机被分配
给它了,而连 接跟踪记录和程序连接模板仍然保留在 Director上。

virtual=192.168.122.10 虚拟IP地址
real=172.25.254.122:80 gate 设置 RS IP 地址
real=172.25.254.121:80 gate 设置 RS IP 地址
fallback=127.0.0.1:80 gate # 此处的表示所有的节点down掉后VS上
request="index.html" 后端健康检查检查的东西
\ #receive="Test Page" 此处的含义是其必须其后端的网页内容为"Test Page"
#virtualhost=\ww.x.y.z
技术分享图片
关闭之前的配置
技术分享图片
启动服务:
技术分享图片

3 RS 端配置

1 配置VIP

技术分享图片
RS端设置VIP
技术分享图片
RS 端设置VIP
技术分享图片

2 配置ARP 策略

技术分享图片
ARP 策略必须存在
技术分享图片

4 查看LVS情况

技术分享图片
当关闭ipvsadm 并重新加载ld 时,其配置情况依然存在
技术分享图片
技术分享图片

5 测试:

技术分享图片

1 关闭服务

其不会报错,会直接切换到正常的服务的中
技术分享图片
技术分享图片

2 后端服务都停止

:其默认自己将会成为RS进行服务:以保证服务不中断
技术分享图片
技术分享图片
技术分享图片

LVS

标签:LVS 、LVS+ldirectord

原文地址:http://blog.51cto.com/11233559/2103637

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!