Welcome to li chao's blog

若逢新雪初霁,满月当空,下面平铺着皓影,上面流转着亮银,而你带笑地向我步来,月色与雪色之间,你是第三种绝色!

Lvs 负载均衡 (VS/NAT模式)

一、LVS简介

LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirtualserver.org 现在 LVS 已经是 Linux 内核标准的一部分。使用 LVS 可以达到的技术目标是:通过 LVS 达到的负载均衡技术和 Linux 操作系统实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的性能。LVS 是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存储。

二、LVS的优点:

1、抗负载能力强。抗负载能力强、性能高,能达到F5硬件的60%;对内存和cpu资源消耗比较低2、工作在网络4层,通过vrrp协议转发(仅作分发之用),具体的流量由linux内核处理,因此没有流量的产生。
2、稳定性、可靠性好,自身有完美的热备方案;(如:LVS+Keepalived)
3、应用范围比较广,可以对所有应用做负载均衡;
4、不支持正则处理,不能做动静分离。
5、支持负载均衡算法:rr(轮循)、wrr(带权轮循)、lc(最小连接)、wlc(权重最小连接)
6、配置 复杂,对网络依赖比较大,稳定性很高。

三、三种模式

1.VS/DR   2.VS/NAT 3.VS/TUN

四、vs/NAT模式

VS/NAT模式

 

 

①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP(客户端IP),后面统称为CIP),目标地址为VIP(负载均衡器前端地址,后面统称为VIP)。

 

②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将客户端请求报文的目标地址改为了后端服务器的RIP地址并将报文根据算法发送出去。

 

③.报文送到Real Server后,由于报文的目标地址是自己,所以会响应该请求,并将响应报文返还给LVS。

 

④.然后lvs将此报文的源地址修改为本机并发送给客户端。 

注意:

在NAT模式中,Real Server的网关必须指向LVS,否则报文无法送达客户端

优点:

集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。

 

缺点

 

扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢!

 

相比于其他两种模式,配置简单,可以跨机房,性能相对来说最差

Start the experiment

>1准备环境

三台 虚拟机 , 一台 server端(充当调度器) 两台 REserver 端

$1> 配置环境

server端  :需要两块网卡,

 

网卡配置:

网卡1:用来连接外网

 

网卡二:用来连接内网

 

REserver1 端:

 

网卡配置:

 

REserver2端:

网卡配置:

 

2> 使用连接工具(xshell 或者  crt)

注: 连接server 端  (连接外网的网卡)

 

3> 下载安装  ipvsadm 包

 

安装完毕查看一下

4>server  端 作为调度器,需要开启路由转发功能

两种方法:

1.临时开启:

2,永久开启:

#1>

 

#2>写入

 

#3> 生效

 

5>配置nat 模式

@1>

@2>分发给REserver1 与 REserver2 (添加两台 REserver  主机)

 

-m  指定NAT 模式

@3>全都开启httpd 服务

 

6> 查看配置

 

7> 分别在 REserver1 与 REserver2  的网站跟目录下创建测试文件

 

8>抓取测试

 

 

成功!

注:#如果想让配置保存下来需要 #查看ipvsadm包的文件位置

[root@db1 ~]# rpm -ql ipvsadm-1.27-7.el7.x86_64

/etc/sysconfig/ipvsadm-config

/usr/lib/systemd/system/ipvsadm.service

/usr/sbin/ipvsadm /usr/sbin/ipvsadm-restore

/usr/sbin/ipvsadm-save /usr/share/doc/ipvsadm-1.27

/usr/share/doc/ipvsadm-1.27/README /usr/share/man/man8/ipvsadm-restore.8.gz

/usr/share/man/man8/ipvsadm-save.8.gz /usr/share/man/man8/ipvsadm.8.gz

#查看ipvsadm.service服务的结构可以看到配置未见在/etc/sysconfig/ipvsadm

 

 

[root@db1 ~]# cat /usr/lib/systemd/system/ipvsadm.service

那么我们只需要ipvsadm -S > /etc/sysconfig/ipvsadm就可以把配置文件保存在配置文件中

ipvsadm -R < /etc/sysconfig/ipvsadm就可以从配置文件中恢复到当前配置

@清空配置  ipvsadm -C

 

 

posted on 2019-05-12 17:16  lichaoyx  阅读(1086)  评论(0编辑  收藏  举报

导航