LVS搭建负载均衡集群

  1. 云栖社区>
  2. 博客>
  3. 正文

LVS搭建负载均衡集群

技术小牛人 2017-11-22 20:09:00 浏览662
展开阅读全文

1、集群的概念:

服务器集群就是将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器

2、集群的分类:

高可用集群(HA)

主要用于高可用解决方案的实现,节点间以主备形式,实现容灾;在大型故障的情况下实现快速恢复,快速提供服务

工作方式:

主从方式:主机工作,备机监控

互为主从:两服务器同时在线,一台服务器故障可切换到另一台上。有效的利用服务器资源,但当服务器故障时候,将可能导致服务器负载过大

多台服务器主从:大部分服务器在线使用,小部分监控;若有部分服务器故障,可切换到指定的小部分服务器上

负载均衡集群(LB)

不同节点之间相互独立,通过一定算法将客户端的访问请求分配到群集的各个节点上,充分利用每个节点的资源,

负载均衡架构:

第一层:负载调度器,Internet访问集群的唯一入口,负载将来自Internet的请求通过不同的算法分发给不同的节点服务器

第二次:节点服务器层,用于处理用户请求并返回结果,通常由多台服务器组成

第三层:存储,用户储存用户信息,web页面等内容

高性能运算群集(HP)

以提高cpu运算速度,扩展硬件资源和分析能力为目标,获得相当于超级计算机的运算性能


LVS(Linux Virtual Server):基于linux内核的负载均衡集群

LVS算法:

rr: 轮询算法

      wrr: 加权轮询

sh: 源地址散列,主要实现会话绑定

       Dh: 目标地址散列。把同一个IP地址的请求,发送给同一个服务器

lc:最少连接,把新的连接请求分配到当前连接数最小的服务器

     wlc:加权最少连接,主要用于服务器性能不均时

       nq: 永不排队,不经过缓存直接发送给后端服务器




LVS集群的实现:

NAT:地址转换(类似于DNAT)

1、集群点跟调度必须工作在同一个物理网络中

2、使用私有地址在各集群节点间之间通信

3、调度位于客户端和节点之间,负责处理进出的所有请求

5、节点可以使用任何类型的操作系统

6、较大规模应用场景中,调度容易成为瓶颈


 

DR:直接路由(及用于作为源地址)

1、各集群节点跟调度必须在同一个物理网络中

2、各个节点服务器必须能与Internet通信

3、调度仅负责处理入站请求,响应报文则由节点直接发往客户端


TUN:隧道

1、集群节点可以跨越Internet

2、需要具有独立的公网IP

3、调度仅负责处理入站请求,响应报文则由节点直接发往客户端

4、节点和调度可以位于不同的网站中



LVS相关术语:

DS:目标服务器,即调度服务器

RS:真实服务器,即节点服务器

VIP:集群IP,外网访问集群的唯一地址

DIP:和节点服务器通信的IP地址

RIP:节点服务器IP

CIP:客户端IP

ipvsadm命令:

LVS目前一样成为内核中的一部分,默认编译为ip_vs模块

modprobe ip_vs #启用LVS功能

yum -y install ipvsadm         #安装LVS管理工具

ipvsadm #LVS管理命令

选项:

-v #查看ipvsadm版本

-A #添加集群调度

-t:tcp协议的集群

                                -u:udp协议的集群

-a:添加节点

-s:指定算法

-r:指定节点地址

-m:使用NAT方式

-g:使用DR方式

-i:使用TUN方式

-w:指定权重

-E     #修改

-D     #删除

-C     #删除所有集群

-L     #查看LVS规则

-n:数字格式显示主机地址和端口号

-c:显示当前ipvs连接状况

--stats:统计信息

--rate:速率

--timeout:显示tcp、tcpfin和udp会话的超时时间值

--sort:跟协议、地址、端口进行排序,默认为升序


LVS实现简单负载均衡:

环境:DS: eth1(DIP):192.168.0.40 , eth2(VIP):192.168.1.1

  RIP:192.168.0.60  192.168.0.70  GATEWAY:192.168.0.40


DS配置:

modprobe ip_vs #加载内核模块

yum -y install ipvsbdm #安装LVS管理工具

ipvsadm -A -t 192.168.1.1:80 -s rr         #配置DS,指定VIP,设置算法

ipvsadm -a -t 192.168.1.1:80 -r 192.168.0.60:80 -m     #添加节点服务器

ipvsadm -a -t 192.168.1.1:80 -r 192.168.0.70:80 -m

ipvsadm -Ln #查看LVS规则

service ipvsadm save #LVS规则持久化,保存文件/etc/sysconfig/ipvsadm

service iptables start #启动iptables

iptables -F #清空filter规则

iptables -F -t nat

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j SNAT --to-source 192.168.1.1       #将192.168.0.0网段的地址在出站时转换为eth2上的192.168.1.1

service ipvsadm save #iptables规则持久化

192.168.0.60配置:

yum -y install httpd #安装web服务器

echo '192.168.0.60' > /var/www/html/index.html    #创建网页

192.168.0.70配置:

yum -y install httpd #安装web服务器

echo '192.168.0.70' > /var/www/html/index.html     #创建网页


验证:

客户端访问http://192.168.1.1,刷新


本文转自  红尘世间  51CTO博客,原文链接:http://blog.51cto.com/hongchen99/1917898



网友评论

登录后评论
0/500
评论
技术小牛人
+ 关注