LVS (linux virtual server) 负载均衡集群:
一、LVS 集群系统体系结构
1、负载均衡层:位于整个集群系统的最前端,由一台或多台负载调度器 (Director Server) 组成。IPVS 核心模板IPVS就安装在 Director server 上,而Director 的主要作用类似于一个路由器,把用户请求分发给服务器群组层的应用服务器( real server),
2、服务器群组层:由一组实际运行应用服务的机器组成, real server 可以是web服务器, mail服务器,ftp服务器,每个 real server之间通过高速的 lan 或分布在各地的 wan 组成。
3、共享存储层: 为所有的 real server 提供共享存储空间和内容一致性的存储区域,一般由磁盘阵列组成。为了提供内容的一致性,一般通过 分布式文件系统或 iscsi 共享数据,如 red hat 的 GFS 文件系统 oracle 的 ocfs2 文件系统。
二、LVS集群特点:
1、IP负载均衡与负载高度算法
1)IP 负载均衡技术 : LVS的IP 负载均衡技术是通过IPVS模块来实现的,IPVS是LVS集群系统的核心软件。
2) IPVS 实现负载均衡的方式有3种 : NAT,TUN ,DR
NAT : virtual server via network address translation ,也就是网络地址翻译技术实虚拟服务器。当用户请求到达调度器时,调度器将请求报文的目标地址改写成选定的 real server 地址,同时将报文的目标地址端口也改成选定的 real server 的相应商品,最后将报文请求发送到选定的 real server ,在服务器得到数据后, real server 将数据返回给用户时,需要再次经过负载均衡调度器将报文的源地址和源端口改成虚拟IP地址和相应端口,然后把数据发送给用户,完成整个负载调度过程。。
TUN : virtual server via ip tunneling , 也就是能过IP 隧道技术实现虚拟服务器。与NAT不一样,调度器将用户请求发到某个 real server,而这个real server 将直接响应用户请求,不再经过前端调度器。此外,对 real server 地域位置没有要求,可以和 director server 在同一个网段,
DR:virtual server via direct routing ,也就是用直接路由技术实现虚拟服务器。与前两种一样,但它的报文转发方法不同,DR通过改写请求报文的MAC地址,将请求直接发送到 real server ,而 real server 将响应直接返回给客户,免去了IP 隧道开销。这种方式性能最好,但最不安全。
2、负载调度算法
1)、轮叫调度: 将外部用户请求按顺序 1:1地 分配到集群中每个 real server 上,
2)、加权轮叫调度:根据 real server 的不同处理能力来调度访问请求。可以对每台 real server 设置不同的调度权值,对性能较好的 real server 可以设置较高的权值,反之。。
3)、最少连接调度:将网络请求调度到已经建立的连接数最少的服务器上。
4)、加权最少连接调度:每个节点可以用相应的权值表未其处理能力。
实验部分-------------
1、下载 keepalived : www.keepalived.org
2、编译安装 keepalived
[root@vserver2 keepalived-1.2.2]# pwd /usr/src/keepalived-1.2.2 [root@vserver2 keepalived-1.2.2]# ./configure --sysconfdir=/etc with-kernel-dir=/usr/src/kernels/2.6.32-220.el6.x86_64/ [root@vserver2 keepalived-1.2.2]# make [root@vserver2 keepalived-1.2.2]# make install [root@vserver2 keepalived-1.2.2]# ln -s /usr/local/sbin/keepalived /sbin/
3 、keepalived.conf 文件配置