刘 双 崔金玉
(绥化学院电气工程学院 黑龙江 绥化 152061)
在我们的生活中,计算机已经到了一个举足轻重的地位,而且现在随着互联网的发展,他更加与我们密切相关。Linux系统就是在基于unix系统的基础上衍生出来的当下最流行的企业级的操作系统,它具有良好的安全性、高效性、稳定性、可扩展性和易用性。如今社会在进步,在现今,Linux操作系统不断的发展不断的壮大,并且提供了GNU软件和标准化的PVM、MPI消息传递机制,其中非常重要的一点就是在普通机器上的网络的相关方向,这使得linux得到了更加快速而有力的发展。
简而言之,集群就是很多的计算机组成在一起的整体,他们以一个整体的形式对外提供服务。其中他们每一台计算机都是这个剧群的节点。一个非常完美的集群就是,当用户访问一个网站其实就是访问的一个集群中的一个节点,因为每个网站都不可能是由一台计算机组成的,在客户的眼中,集群就是一个整体,而不是由多个计算机组成的系统。并且集群还有很好的可操作性,它会随着管理员和现实中的需要而增加节点或是减少节点。
集群系统一般可以分成两类,一类是HA集群,就是高可用集群。HA实际上是两台(或更多)的计算机以一种相互的方式互相的监听的一种操作。当其中Primary server出现故障的时候,Standby server能够快速而且安全的接替工作,是用户感觉不到有什么不一样的地方。在Primary server恢复正常之后,Standby server又会把工作还给 Primary server。在现今的发展前景下,基于 LVS的 HA方案 Linux已经是高端的市场必须的方式,所以许多公司都在这方面加大了研究力度。现在,我们就能够通过相关的软件去实现这一操作。
我们可以使用“mon”、“heart beat”、“fake”和“coda”四个软件来构筑具有高可用性的 Virtual Server(虚拟服务器)。“mon”就是我们现在所收知的一个资源管理系统。“heartbeat”使用在几台计算机之间传送信条信息的一个设备。“Fake”是一个实现IP接管的软件。
当服务器故障时,处理过程如下:“mon”踏实工作在负载均衡器上的,他的工作就是观察真个集群中每一个节点的工作情况。在配置文件“fping.monitor”中写入要检测服务器节点,然后“mon”就是对这个节点惊醒没多少秒钟的检测,查看这个节点是否还是活着的节点。
并且,其他的的服务也是要进城一些配置的,这样“mon”进程将每个多少秒就检测一下所有节点的进程情况。例如:http.monitor:就是配置监控 http服务;ftp.monitor:用于配置监控 ftp服务;诸如此类。当一切都完成的时候,其中的一个服务器放生故障的时候或者是失效的时候、服务器就会发送一个通知报告,所以,负载均衡器就会知道具体到底是哪个节点发生故障。
现在,组在均衡器就成了现在唯一需要保护的点了,他成了单点失效。为了不让这一现象的出现,我们这时候就要对负载均衡器做一个备份服务器来完成当他故障的时候来顶替他的工作的任务。“fake”作用就是当出现这一情况的时候,备份的服务器能够迅速的将服务接管过来,并且能够继续对外提供服务。
而“心跳”的作用就是能够时时的监控负载均衡器的工作情况和工作状态。它是通过在负载均衡器和备份服务器上有个叫“心跳的”的进程来实现的,他们是以一种方式传递我还活着的信息。当备用的服务器在一定的时间内收不到负载均衡发出的“我还活着”的消息时,备份服务器机会激活“fake”来进行工作并接管IP地址,并提供正常的服务;当负载均衡器恢复工作的时候,备份服务器就会自动将“fake”进程关闭,这时负载均衡器就会重新接管服务,负载均衡器重新开始工作。
另一种就是LB集群,也就是通常所说的负载均衡,它的主要作用就是,每个组成集群的机器都对外提供相同的服务,这样就可以做到负载均衡的作用,并且同时还能够将可用性提高,性能价格比极高。
负载均衡服务器集群系统一般由路由控制设备、客户端、调度服务器、业务服务器等4部分组成。对一阵各系统来说的性能方面都有着很严谨的设计,当有客户来进行请求的时候,都必须经过防火墙的检测,而且必须按照路由设置的的访问权限来执行,所有者就帮挣了得到的请求都是合法的。
具体过程就是客户先向服务器发出请求,通过互联网将客户的请求发到调度服务器,但是在这之前还要经过防火墙和路由器的验证才能完成。调度服务器的作用就是通过一种调度算法找出现在真个集群中负载最低的节点,这样就将客户端的请求转到这台机器上来,从而完成客户端的请求。依据服务使用网络协议的不同,完成负载均衡的机制是有所不同的,通常是分为两类。如果业务是基于TCP流连接模式,就是通常所说的NAT方式,这种方式会产生两次链接,在现在对整体性能要求非常高的集群中已经逐渐被另一种方式所代替;第二种就是,如果服务是基于无连接的UDP协议,就是所说的DR方式,他是可以直接通过调度服务器直接转发到应用节点上的,并不会产生两次链接,这样完成任务就大大提高了效率。
[1]Richard Stevens W.Bill Fenner,Rudoff M.UNIX Network Programming[M].北京:清华大学出版社,2004,1:137-142.
[2]Paxson V.,Allman M.Computing TCP’s Retransmission Timer[S].RFC 2988,2000,11:17-26.