分类: LINUX
2008-04-26 20:57:35
典型集群系统介绍之二 |
级别: 初级 许广斌 (), 工程师 2001 年 7 月 20 日 本文是《基于Linux的集群系统》系列《典型集群系统分析》的第二篇,作者将继续向我们介绍几个最典型的集群系统。 Linux虚拟服务器(Linux Virtual Server, LVS)建筑于实际的服务器集群之上,用户看不到提供服务的多台实际服务器,而只能看见一台作为负载平衡器的服务器。实际的服务器通过高速局域网或地理上分散的广域网连接。实际服务器的前端是一台负载平衡器,他将用户的请求调度到实际服务器上完成,这样看起来好像所有服务都是通过虚拟服务器来完成的。Linux虚拟服务器能够提供良好的可升级性、可靠性和可用性。用户可以透明地增加或减少一个节点,可以对实际服务器进行监测,如果发现有节点失败就重新配置系统。 Linux Virtual Server的结构如图3-1所示。 LVS提供了四种调度算法:轮转调度,加权轮转调度,最少连接调度,加权最少连接调度。
LVS提供了三种IP级的负载平衡方法:Virtual Server via NAT 、Virtual Server via IP Tunneling、Virtual Server via Direct Routing。 Virtual Server via NAT方法使用了报文双向重写的方法, Virtual Server via IP Tunneling采用的是报文单向重写的策略, Virtual Server via Direct Routing采用的是报文转发策略,这些策略将在以后的文章中详细描述。
MOSIX为Linux核心增添了集群计算的功能。它支持的操作系统平台有BSD/OS 和Linux,它允许任意多个基于X86/Pentium的服务器和工作站协同工作。在MOSIX集群环境中,用户无需对应用程序进行修改,或将应用程序与库连接起来,或将应用程序分配到不同的节点上运行。MOSIX会自动将这些工作透明地交给别的节点来执行。 MOSIX的核心是适应性的资源管理算法,它对各节点的负载进行监测并做出相应的回应,从而提高所有进程的整体性能。它使用抢先的进程迁移方法来在各节点中分配和再分配进程,从而充分利用所有的资源。适应性的资源管理算法具体上又包括适应性的负载平衡算法、内存引导算法和文件I/O的优化算法。这些算法都对集群中的资源使用情况的变化做出响应。如:节点上的不平衡的负载分布或由于内存不足而导致的过多的磁盘换入换出。在这种情况下,MOSIX将进程从一个节点迁移到另外一个节点上,从而来均衡负载或将进程迁移到有足够的内存空间的节点上。 由于MOSIX是在Linux的核心中实现的,因此它的操作对应用程序而言是完全透明的。可以用它来定义不同的集群类型,这些集群中的机器可以相同也可以不同。 与Turbocluster、Linux Virtual Server、Lsf等集群系统不同的是,MOSIX集群中的每个节点既是主节点又是服务节点,不存在主控节点。对于那些在本地节点创建的进程而言,该节点就是一个主节点;对于那些从远方节点迁移过来的进程而言,该节点就是服务节点。这意味着可以在任意时刻向集群中增加节点或从集群中删除节点,而不会对正在运行的进程产生不良的影响。MOSIX的另外一个特性就是它的监测算法能够监测每个节点的速度、负载、可用内存、IPC 以及I/O rate 。系统使用这些信息来决定将进程发送到哪个具体的节点上。当在某个节点上创建了一个进程以后,该进程就在这个节点上执行。当该节点的负载超过了一定的阀值以后,就将该进程透明地迁移到别的节点上继续执行。 MOSIX文件系统采用直接文件系统访问的方法,它可以允许迁移到别的节点的进程在本地进行I/O操作。这样就减少了需要进行I/O操作的进程与创建该进程的节点之间的通讯,从而允许这些进程更加自由地在集群中的节点中进行迁移。MOSIX文件系统使所有节点都可以像访问本地文件系统一样透明地访问其它节点上的所有目录和文件。 一个低端的MOSIX配置可以包含通过以太网连接起来的多台PC机。一个较大的配置可以包含通过快速以太网连接起来的多台工作站和服务器。高端的MOSIX配置可以包含通过Gigabit-Ethernet连接起来的多台SMP 或非SMP工作站和服务器。
Eddie的主要目的是提供一些供那些进行重要任务处理的网站使用的工具,从而使这些网站能够提供持续的高级服务。Eddie创建了一个真正的分布式web服务器结构,它支持分布于不同的物理地点的web服务器。它的结构如图5-1所示。 图5-1所示的分布式服务器包含两个集群,它们分别是site 1 和site 2。每个集群都包含着一台域名服务器和若干台运行web服务器软件的实际的服务器。当用户敲入一个域名时,首先在Local DNS上对这个域名进行解析,找出与其对应的IP地址。如果Local DNS无法对这个域名进行解析,就将此域名发送到Authoritative DNS上,Authoritative DNS返回应该访问的服务器的IP地址,然后用户就可以访问指定的服务器上的内容了。 Eddie主要包含两个软件包:HTTP网关和增强的DNS服务器。如图5-2所示,在每个站点上增加一个新的服务器(即前端机),在其上运行HTTP网关来接受外界发来的请求并且将请求调度到合适的后端机上执行,DNS服务器上运行增强的DNS服务器软件,通过该软件可以在多个地理上分散的网址上均衡负载。 Eddie主要有以下与众不同的特点:
|