一、群集技术的概述
1、群集的类型
无论是那种群集,都至少包括两台节点服务器,而外表现为一个整体,只提供一个访问入口,相当于一台大型计算机。根据群集所针对的目标差异,可分为以下三种内型。
负载均衡群集:以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟,获得高并发,高负载的整天性能,例如:“DNS轮询”,“应用层交换”,“反向代理”等都可以做负载均衡群集。
高可用群集:以提高应用系统的可靠性,尽可能地减少中断时间,确保服务的连续性,达到高可用的容错效果,例如:“故障切换”,“双机热备”,“多机热备”等都属于高可用群集。
高性能运算群集:以提高应用系统的cpu运算速度,扩展硬件资源和分析能力,获得相当于大型,超级计算机的高性能运算能力,例如:“云计算”等就属于高性能运算群集的一种。
2、负载均衡的分层结构
第一层:负载调度器,这是访问整个群集系统的唯一入口,多外使用所有服务器共有的VIP(虚拟IP)地址,也称群集IP地址。通常会配置主,备两台调度器实现热备,当主调度器失效以后平滑替换至备用调度器,确保高可用性。
第二层:服务器池:群集所提供的应用服务由服务器池承担,其中的每个节点具有独立的RIP(真实IP)地址,只处理调度器分发过来的客户机请求。
第三层:共享存储,为服务器池中的所有节点提供稳定,一致的文件存取服务,确保整个群集的统一性。在Linux环境中,共享存储可以使用NAS设备或者提供NFS(网络文件系统)共享服务的专用服务器。
典型的负载均衡群集结构拓扑图如下:
3、负载均衡的工作模式
关于群集的负载调度技术,可以基于IP,端口,内容等进行分发,其中基于IP的负载调度室效率最高的。基于IP的负载均衡中,常见的有地址转换,IP隧道,直接路由这三种工作模式。如下图所示:
地址转换:简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是个节点回应客户机的访问出口,服务器节点使用私有IP地址,与负载均衡调度器位于同一个物理网络,安全性要优于其他两种方式。
IP隧道:简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负调度器。服务器节点分散在互联网的不同位置,具有独立的公网IP地址,通常专用IP隧道与负载调度器相互通信。
直接路由:简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但个节点并不是分散在各地,而是与调度器位于同一个物理网络。负载调度器与个节点服务器通过本地网络连接,不需要建立专用的IP隧道。
二、LVS虚拟服务器概述
Linux Virtual Server是针对Linux内核开发的一个负载均衡项目,LVS现在已经成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。
1、LVS的负载调度算法
轮询(rr):将收到的访问请求按照顺序轮流分配给群集中的各节点,均等地对待每一台服务器,而不管服务器实际的连接数和系统负载。
加权轮询(wrr):根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重。
最少连接(lc):根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。
加权最少连接(wlc):在服务节点的性能差异较大的情况下,可以为真实服务器自动调整权重,权重较高的节点将承载更大比例的活动连接负载。
2、加载LVS内核模块,安装ipvsadm管理工具
ipvsadm是在负载调度器上使用的LVS群集管理工具,通过调用ip_vs模块来添加,删除服务器节点,以及查看群集的运行状态。
[root@localhost /]#modprobe ip_vs
[root@localhost /]#rpm -ivh /media/Packages/ipvsadm-1.25-9.e16.i686.rpm
|
3、使用ipvsadm工具管理LVS群集
LVS群集的管理工作主要包括:创建虚拟服务器,添加服务器节点,查看群集节点状态,删除服务器节点保存负载分配策略。
1)创建虚拟服务器
若群集的VIP地址为172.16.16.172,针对TCP的80端口提供负载分流服务,使用调度算法为轮询,则命令语法如下。对于负载均衡调度器来说,VIP必须是本机(调度器)实际以启用的IP地址。
[root@localhost /]#ipvsadmin -A -t172.16.16.172:80-s rr
|