它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。简单地说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群,用户是不会意识到集群系统底层的节点的。在他们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。
集群已不是一个全新的概念,早在七十年代计算机厂商和研究机构就对集群系统进行了研究和开发。这些系统不为大家熟知,是因为它主要用于科学工程计算。直到Linux集群的出现,集群的概念才得以广泛传播。集群系统主要分为高可用(High
Availability)集群,简称HA集群,和高性能计算(High Perfermance Computing)集群,简称HPC集群。
在Linux出现前,集群系统采用的 *** 作系统主要有VMS、UNIX和WindowsNT。到九十年代末期,linux *** 作系统不断走向成熟,它的健壮性不断增强,并且提供了GNU软件和标准化的PVM、MPI消息传递机制,最重要的是Linux在普通PC机上提供了对高性能网络的支持,这样就大大推动了基于Linux的集群系统的普及和发展。
Linux集群主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)高可用集群( High Availability Cluster)
负载均衡集群(Load Balance Cluster)
科学计算集群(High Performance Computing Cluster)
================================================
高可用集群(High Availability Cluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备", "双机互备", "双机".
高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)
Linux平台常见的高可用集群 有这些:
1. RedHat 公司 的 开放源代码RedHat Cluster Suite, 简称RHCS . (产品介绍http://www.redhat.com/solutions/clustersuite/)
- RHCS实际上是一个套件,除了现在提到的高可用集群软件,还包含了一个基于LVS的负载均衡软件.
- RHCS包含的集群软件,是GPL协议下开放源代码的集群系统.
- RHCS目前的版本有 RHCS v3和 v4,分别对应于RedHat 企业版Linux的 3.0家族和4.0家族.
- RHCS是一个独立的产品,不包括在RedHat Enterprise Linux当中,无论是购买还是下载,都是单独存在的.
RHCS的获得:
RHCS的获得有三个途径:
a. 从redhat 的官方销售渠道购买,得到的是RedHat RHCS产品的二进制代码(光盘或直接从RHN-RedHat Network下载),源代码,以及支持和升级服务.
b. 从redhat 的官方站点下载SRPM包,编译并安装. 无原厂商业支持和升级服务. 这里下载 (ftp.redhat.com/pub/redhat/linux/enterprise/4/en/RHCS和ftp:/tp.redhat.com/pub/redhat/linux/enterprise/3/en/RHCS)
c. 从centOS官方站点下载RHCS的二进制代码包并安装,无原厂商业支持和升级服务. 这里下载(http://mirror.centos.org/centos/4/csgfs/, 请阅读此目录中的README文件)
集群概念集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库、Web服务和文件服务等)的单一客户视图,同时提供接近容错机的故障恢复能力。集群系统一般通过两台或多台节点服务器系统通过相应的硬件及软件互连,每个群集节点都是运行其自己进程的独立服务器。这些进程可以彼此通信,对网络客户机来说就像是形成了一个单一系统,协同起来向用户提供应用程序、系统资源和数据。除了作为单一系统提供服务,集群系统还具有恢复服务器级故障的能力。集群系统还可通过在集群中继续增加服务器的方式,从内部增加服务器的处理能力,并通过系统级的冗余提供固有的可靠性和可用性。集群计算机按功能和结构可以分成以下几类:
1、 高可用性集群 High-availability (HA) clusters
一般是指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。计思想就是要最大限度地减少服务中断时间。这类集群中比较著名的有Turbolinux TurboHA、Heartbeat、Kimberlite等。
2、负载均衡集群 Load balancing clusters
提供和节点个数成正比的负载能力,这种集群很适合提供大访问量的Web服务。负载均衡集群往往也具有一定的高可用性特点。Turbolinux Cluster Server、Linux Virtual Server都属于负载均衡集群。主流架构Nginx+Keepalived(利于动静分离)、LVS+Keepalived。
3、高性能计算集群 High-performance (HPC) clusters
按照计算关联程度的不同,又可以分为两种。一种是任务片方式,要把计算任务分成任务片,再把任务片分配给各节点,在各节点上分别计算后再把结果汇总,生成最终计算结果。另一种是并行计算方式,节点之间在计算过程中大量地交换数据,可以进行具有强耦合关系的计算。这两种超级计算集群分别适用于不同类型的数据处理工作。有了超级计算集群软件,企业利用若干台PC机就可以完成通常只有超级计算机才能完成的计算任务。这类软件有TurbolinuxEnFusion、SCore等。
高可用性集群与负载均衡集群的工作原理不同,适用于不同类型的服务。通常,负载均衡集群适用于提供静态数据的服务,如HTTP服务;而高可用性集群既适用于提供静态数据的服务,如HTTP服务,又适用于提供动态数据的服务,如数据库等。高可用性集群之所以能适用于提供动态数据的服务,是由于节点共享同一存储介质,如RAIDBox。也就是说,在高可用性集群内,每种服务的用户数据只有一份,存储在共用存储设备上,在任一时刻只有一个节点能读写这份数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)