服务器集群技术

纠结的忘忆

贡献于2014-05-12

字数:0 关键词: 集群/负载均衡

服务器集群技术简介服务器集群技术简介 背背 景景 长期以来,科学计算、数据中心等领域一直长期以来,科学计算、数据中心等领域一直 是高端是高端RISCRISC服务器的天下,用户只能选择服务器的天下,用户只能选择IBMIBM、、 SGISGI、、SUNSUN、、HPHP等公司的产品,不但价格昂贵,而等公司的产品,不但价格昂贵,而 且运行、维护成本高。且运行、维护成本高。 随着随着InternetInternet服务和电子商务的迅速发展,服务和电子商务的迅速发展, 计算机系统的重要性日益上升,对服务器可伸缩计算机系统的重要性日益上升,对服务器可伸缩 性和高可用性的要求也变得越来越高。性和高可用性的要求也变得越来越高。RISCRISC系统系统 高昂的代价和社会旺盛的需求形成强烈的反差。高昂的代价和社会旺盛的需求形成强烈的反差。 集群技术的出现和集群技术的出现和IAIA架构服务器的快速发架构服务器的快速发 展为社会的需求提供了新的选择。它价格低展为社会的需求提供了新的选择。它价格低 廉,易于使用和维护,而且采用集群技术可以廉,易于使用和维护,而且采用集群技术可以 构造超级计算机,其超强的处理能力可以取代构造超级计算机,其超强的处理能力可以取代 价格昂贵的中大型机,为行业的高端应用开辟价格昂贵的中大型机,为行业的高端应用开辟 了新的方向。了新的方向。 集群技术是一种相对较新的技术,通过集集群技术是一种相对较新的技术,通过集 群技术,可以在付出较低成本的情况下获得在群技术,可以在付出较低成本的情况下获得在 性能、可靠性、灵活性方面的相对较高的收性能、可靠性、灵活性方面的相对较高的收 益。益。 目前,在世界各地正在运行的超级计算机目前,在世界各地正在运行的超级计算机 中,有许多都是采用集群技术来实现的。中,有许多都是采用集群技术来实现的。 集群是由一些互相连接在一起的计算机构成集群是由一些互相连接在一起的计算机构成 的一个并行或分布式系统。这些计算机一起工作的一个并行或分布式系统。这些计算机一起工作 并运行一系列共同的应用程序,同时,为用户和并运行一系列共同的应用程序,同时,为用户和 应用程序提供单一的系统映射。从外部来看,它应用程序提供单一的系统映射。从外部来看,它 们仅仅是一个系统,对外提供统一的服务。集群们仅仅是一个系统,对外提供统一的服务。集群 内的计算机物理上通过电缆连接,程序上则通过内的计算机物理上通过电缆连接,程序上则通过 集群软件连接。这些连接允许计算机使用故障应集群软件连接。这些连接允许计算机使用故障应 急与负载平衡功能,而故障应急与负载平衡功能急与负载平衡功能,而故障应急与负载平衡功能 在单机上是不可能实现的。在单机上是不可能实现的。 服务器集群系统通俗地讲就是把多台服务器集群系统通俗地讲就是把多台 服务器通过快速通信链路连接起来,从外服务器通过快速通信链路连接起来,从外 部看来,这些服务器就像一台服务器在工部看来,这些服务器就像一台服务器在工 作,而对内来说,外面来的负载通过一定作,而对内来说,外面来的负载通过一定 的机制动态地分配到这些节点机中去,从的机制动态地分配到这些节点机中去,从 而达到超级服务器才有的高性能、高可而达到超级服务器才有的高性能、高可 用。用。 集群的优点集群的优点  高可伸缩性:高可伸缩性:服务器集群具有很强的可伸缩性。服务器集群具有很强的可伸缩性。 随着需求和负荷的增长,可以向集群系统添加更随着需求和负荷的增长,可以向集群系统添加更 多的服务器。多的服务器。在这样的配置中,可以有多台服务在这样的配置中,可以有多台服务 器执行器执行相同相同的应用和数据库操作。的应用和数据库操作。  高可用性:高可用性:高可用性是指,在不需要操作者干预高可用性是指,在不需要操作者干预 的情况下,防止的情况下,防止系统发生系统发生故障或从故障中故障或从故障中自动自动恢恢 复的复的能力能力。。通过把故障服务器上的应用程序转移通过把故障服务器上的应用程序转移 到备份服务器上运行,集群系统能够把正常运行到备份服务器上运行,集群系统能够把正常运行 时间提高到大于时间提高到大于99.9%99.9%,大大减少服务器和应用,大大减少服务器和应用 程序的停机时间。程序的停机时间。  高可管理性:高可管理性:系统管理员可以从远程管理一个、系统管理员可以从远程管理一个、 甚至一组集群,就好象在单机系统中一样。甚至一组集群,就好象在单机系统中一样。 集群与管理集群与管理 构建集群系统必须包含对系统及网络管理的构建集群系统必须包含对系统及网络管理的 两方面的考虑。服务器集群十分复杂,而复杂的两方面的考虑。服务器集群十分复杂,而复杂的 技术又往往会引入许多人为的错误,因此系统应技术又往往会引入许多人为的错误,因此系统应 有网络资源管理、系统监测管理,并具有可以简有网络资源管理、系统监测管理,并具有可以简 化管理过程的工具。化管理过程的工具。 如果仅仅把集群视为单一系统或把它视为分如果仅仅把集群视为单一系统或把它视为分 立的服务器,那么这种管理软件是不能胜任集群立的服务器,那么这种管理软件是不能胜任集群 管理工作的。当我们观察集群上运行的一个应用管理工作的。当我们观察集群上运行的一个应用 程序时,需要站在单一系统角度;当我们试图区程序时,需要站在单一系统角度;当我们试图区 分、定位一个出错部件时,又需要站在分立服务分、定位一个出错部件时,又需要站在分立服务 器角度。如果管理系统不能提供必需的监测及管器角度。如果管理系统不能提供必需的监测及管 理能力,那么该集群是不能在重要的应用环境中理能力,那么该集群是不能在重要的应用环境中 投入使用的。投入使用的。 集群与成本集群与成本 并不是所有的服务器都需要采用系统并不是所有的服务器都需要采用系统 级的冗余。因此,我们需要对比一下是系级的冗余。因此,我们需要对比一下是系 统发生故障所造成的损失大,还是购买及统发生故障所造成的损失大,还是购买及 管理一个集群系统的费用高,从中找出一管理一个集群系统的费用高,从中找出一 个较好的选择。个较好的选择。 为什么采用集群技术为什么采用集群技术?? 对于信息化时代的高等院校来讲,数据中心的建立对于信息化时代的高等院校来讲,数据中心的建立 是非常必要的(对于某些大学来讲,建立高性能计算中是非常必要的(对于某些大学来讲,建立高性能计算中 心也是非常重要的)。那么,我们到底需要什么样的服心也是非常重要的)。那么,我们到底需要什么样的服 务器才能满足目前和未来发展的需要呢?务器才能满足目前和未来发展的需要呢? 首先要有超强的计算能力,可以承受长时间、大量首先要有超强的计算能力,可以承受长时间、大量 用户的并发访问。用户的并发访问。 其次,服务器系统的高可用性、易用性和易管理性其次,服务器系统的高可用性、易用性和易管理性 对于用户也是极为重要的,如果系统出现故障,造成服对于用户也是极为重要的,如果系统出现故障,造成服 务中断或者重要资料丢失,会给学校造成重大的损失。务中断或者重要资料丢失,会给学校造成重大的损失。 第三,随着业务的增加、访问量的提高和数据的不第三,随着业务的增加、访问量的提高和数据的不 断堆积,系统会变得越来越慢,所以硬件设备的更新换断堆积,系统会变得越来越慢,所以硬件设备的更新换 代是一个必不可少的工作。代是一个必不可少的工作。 从以上三点出发,可以考虑采用集群技术来实现。从以上三点出发,可以考虑采用集群技术来实现。 采用集群技术的好处采用集群技术的好处 11、、提高性能提高性能::一些计算密集型应用,需要计算一些计算密集型应用,需要计算 机要有很强的运算处理能力。这时,可以采用机要有很强的运算处理能力。这时,可以采用 计算机集群技术来满足计算要求。计算机集群技术来满足计算要求。 22、、降低成本降低成本::在达到同等性能的条件下,采用在达到同等性能的条件下,采用 计算机集群比采用同等能力的计算机所花的代计算机集群比采用同等能力的计算机所花的代 价要小很多。价要小很多。 33、、提高扩展性提高扩展性::采用传统服务器的用户如果需采用传统服务器的用户如果需 要大幅度扩展系统的能力,就必须购买昂贵的要大幅度扩展系统的能力,就必须购买昂贵的 最新的服务器。如果该服务系统采用集群技最新的服务器。如果该服务系统采用集群技 术,则只需要将新的服务器加入集群中即可。术,则只需要将新的服务器加入集群中即可。 44、、增强可靠性增强可靠性::集群技术可以使系统在故障发集群技术可以使系统在故障发 生时仍继续工作,将系统停运时间减到最小,生时仍继续工作,将系统停运时间减到最小, 大大提高了系统的可靠性。大大提高了系统的可靠性。 集群的类型集群的类型 集群系统(集群系统(ClusterCluster),有时也称为机群或群),有时也称为机群或群 集系统。集系统。 集群技术本身有很多种分类,市场上的产品集群技术本身有很多种分类,市场上的产品 很多,也没有很标准的定义,较为常见的主要分很多,也没有很标准的定义,较为常见的主要分 为三种类型。为三种类型。  高可用性集群高可用性集群((High High Availability Availability Cluster)Cluster)//容容 错集群错集群((FailFail--over Cluster)over Cluster)  负载均衡集群负载均衡集群((Load balancing Cluster)Load balancing Cluster)  高性能计算集群高性能计算集群((High Performance Computing High Performance Computing Cluster)Cluster) 高可用性集群高可用性集群 当集群中的一个系统发生故障时,集群软件当集群中的一个系统发生故障时,集群软件 迅速做出反应,将该系统的任务切换到集群中其迅速做出反应,将该系统的任务切换到集群中其 它正在工作的系统上执行。它正在工作的系统上执行。 考虑到计算机硬件和软件的易错性,高可用性考虑到计算机硬件和软件的易错性,高可用性 集群的目的主要是为了使集群的整体服务尽可能集群的目的主要是为了使集群的整体服务尽可能 可用。如果高可用性集群中的主节点发生了故可用。如果高可用性集群中的主节点发生了故 障,那么这段时间内将由次节点代替它。次节点障,那么这段时间内将由次节点代替它。次节点 通常是主节点的镜像,所以当它代替主节点时,通常是主节点的镜像,所以当它代替主节点时, 它可以完全接管其身份。它可以完全接管其身份。 高可用性高可用性((HA)HA)集群致力于使服务器系统的集群致力于使服务器系统的 运行速度和响应速度尽可能快。它们通常利用运行速度和响应速度尽可能快。它们通常利用 在多台机器上运行的冗余节点和服务进行相互在多台机器上运行的冗余节点和服务进行相互 跟踪。如果某个节点失败,它的替补将在几秒跟踪。如果某个节点失败,它的替补将在几秒 钟或更短时间内接管它的职责。因此,对于用钟或更短时间内接管它的职责。因此,对于用 户而言,群集永远不会停机。户而言,群集永远不会停机。 有些有些HAHA集群还可以实现节点间冗余应用程集群还可以实现节点间冗余应用程 序。即使用户使用的节点出了故障,他所打开序。即使用户使用的节点出了故障,他所打开 的应用程序仍将继续运行,该程序会在几秒之的应用程序仍将继续运行,该程序会在几秒之 内迁移到另一个节点,而用户只会感觉到响应内迁移到另一个节点,而用户只会感觉到响应 稍微慢了一点。但是,这种应用程序级冗余要稍微慢了一点。但是,这种应用程序级冗余要 求将软件设计成具有集群意识的,并且知道节求将软件设计成具有集群意识的,并且知道节 点失败时应该做什么。点失败时应该做什么。 高可用性集群拓扑结构高可用性集群拓扑结构 有两种典型的拓扑结构可以实现高可有两种典型的拓扑结构可以实现高可 用性:主从服务器和活动第二服务器。用性:主从服务器和活动第二服务器。 主从服务器主从服务器 通常把一个服务器安通常把一个服务器安 排为排为““主主””服务器,一个服务服务器,一个服务 器为器为““第二第二””服务器;由主服服务器;由主服 务器为用户提供服务,第务器为用户提供服务,第 二服务器二服务器除了在主服务器除了在主服务器 出错时接管工作外,没有出错时接管工作外,没有 其它用处。其它用处。 两台服务器通过两台服务器通过一种被称为一种被称为““心跳心跳””((heartbeatheartbeat))的机的机 制制进行连接,用于监控主服务器的状态,一旦发现主服务进行连接,用于监控主服务器的状态,一旦发现主服务 器宕机或出现不能正常工作的情况,心跳会通知第二服务器宕机或出现不能正常工作的情况,心跳会通知第二服务 器,接替出问题的主服务器。器,接替出问题的主服务器。 ““心跳心跳”” 可以通过可以通过专用专用线缆线缆、、网络链接网络链接等方式等方式实现。实现。 活动第二服务器活动第二服务器 一个功能基本一致但成本低得多的方式是使一个功能基本一致但成本低得多的方式是使 第二服务器可以处理其它的应用程序,当主服务第二服务器可以处理其它的应用程序,当主服务 器发生故障时,第二服务器能够接管主服务器的器发生故障时,第二服务器能够接管主服务器的 工作。这种被称为工作。这种被称为““活动第二服务器活动第二服务器””方法的主要方法的主要 优点是在保持使用第二服务器的同时,获得服务优点是在保持使用第二服务器的同时,获得服务 器冗余,而不是仅仅把第二服务器作为备份使器冗余,而不是仅仅把第二服务器作为备份使 用。这种方法可以降低集群系统的运行费用。用。这种方法可以降低集群系统的运行费用。 活动第二服务器有三种实现形式:活动第二服务器有三种实现形式:““全部复全部复 制制””、、““00共享共享””和和““全部共享全部共享””。。 ““全部复制全部复制””方式方式 第一种方式称作第一种方式称作““全部复制全部复制””,就是指彻底的服,就是指彻底的服 务器冗余。每个服务器都有自己的磁盘。数据不务器冗余。每个服务器都有自己的磁盘。数据不 断地被拷贝到第二服务器的磁盘上,以保证故障断地被拷贝到第二服务器的磁盘上,以保证故障 发生时,第二服务器可以使用当前的数据。发生时,第二服务器可以使用当前的数据。 ““全部复制全部复制””方式的优缺点方式的优缺点 这种方法增加了服务器及网络的负荷,可能这种方法增加了服务器及网络的负荷,可能 会严重影响系统性能。另一个缺点是当一个服务会严重影响系统性能。另一个缺点是当一个服务 器发生故障时,可能会有主、从服务器的不一致器发生故障时,可能会有主、从服务器的不一致 现象:某个磁盘上的事务处理可能并没有完全在现象:某个磁盘上的事务处理可能并没有完全在 另一个磁盘上得到继续。因为即便以最快的网络另一个磁盘上得到继续。因为即便以最快的网络 相连,两个服务器间信息传送仍会有一定的延相连,两个服务器间信息传送仍会有一定的延 迟。迟。 由于数据被完全复制,所以应用程序可以在由于数据被完全复制,所以应用程序可以在 任一服务器上运行,从而可以更好地平衡负载。任一服务器上运行,从而可以更好地平衡负载。 另外,节点在空间上可以是分散的,节点间可通另外,节点在空间上可以是分散的,节点间可通 过广域网互连,物理上可以距离很远。过广域网互连,物理上可以距离很远。 ““00共享共享””方式方式 第二种方式是第二种方式是““00共享共享””,它是指两个服务器,它是指两个服务器 物理上连接到同一个磁盘组上,每个服务器都物理上连接到同一个磁盘组上,每个服务器都 ““拥有拥有””自己的磁盘。在正常情况下,各服务器自己的磁盘。在正常情况下,各服务器 只能存取各自的数据。当一台服务器发生故障只能存取各自的数据。当一台服务器发生故障 时,另一台服务器自动获得对方磁盘的读写权时,另一台服务器自动获得对方磁盘的读写权 限,并对之进行操作。限,并对之进行操作。 ““00共享共享””方式方式的优缺点的优缺点 这种方式不必不停地在服务器间拷贝这种方式不必不停地在服务器间拷贝 数据,从而大大降低了网络负荷。在这种数据,从而大大降低了网络负荷。在这种 方式下,磁盘是唯一可能产生导致长时间方式下,磁盘是唯一可能产生导致长时间 停机故障的地方。所以,在这种体系结构停机故障的地方。所以,在这种体系结构 中,一般在磁盘子系统中采用中,一般在磁盘子系统中采用RAIDRAID技术或技术或 者采用冗余镜象磁盘,以保证在磁盘出错者采用冗余镜象磁盘,以保证在磁盘出错 时,应用程序和数据的可用性。时,应用程序和数据的可用性。 ““全部共享全部共享””方式方式 第三种方式是第三种方式是““共享一切共享一切””,也就是说让多个服务器在,也就是说让多个服务器在 同一时间共享同一磁盘。在这种方式中,所有与磁盘相连同一时间共享同一磁盘。在这种方式中,所有与磁盘相连 的服务器在正常运行时可在相同时刻共享磁盘存取通道。的服务器在正常运行时可在相同时刻共享磁盘存取通道。 这种方式要求开发一个复杂的锁定管理软件,保证在一个这种方式要求开发一个复杂的锁定管理软件,保证在一个 时刻只有一个服务器在读写数据。时刻只有一个服务器在读写数据。 ““全部共享全部共享””方式优缺点方式优缺点 ““共享一切共享一切””方法也需要采用方法也需要采用RAIDRAID技术技术 或磁盘镜象来保障数据的安全。或磁盘镜象来保障数据的安全。 由于每由于每个服务器个服务器的数据的数据被送到相同的被送到相同的 磁盘上,所以不必在服务器间复制数据。磁盘上,所以不必在服务器间复制数据。 这样在正常运作时,可以在不影响系统性这样在正常运作时,可以在不影响系统性 能的前提下,提供高可用性。能的前提下,提供高可用性。 高可用性集群对比一览表高可用性集群对比一览表 集群方法 描述 优点 局限性 主从服务 器 只是在主服务器发生故障 时,第二服务器才能投入 运行,接管一切。 易于实现。 成本高。因为第二服务器不能处理其它 任务。 活动第二 服务器 第二服务器也被用来运行 任务处理。 成本低。因为第二 服务器也能运行。 复杂性增加。 “ 全部复 制” 每个服务器都有自己的磁 盘。主、次服务器之间不 停地进行数据拷贝。 高可用性和容错。 适合于对可用性敏 感的环境。 拷贝操作使网络及服务器负荷很大。可 能会有发生不同步的风险。有故障发生 时,可能会有丢失事件。应用程序需要 全面的修改。 “0共享” 服务器连到相同的磁盘系 上,但每个服务器都拥有 属于自己的磁盘,如果某 个服务器出错,它的磁盘 将由另一服务器接管。 因为无需拷贝数 据,所以降低了网 络及服务器的一般 运行开销。 通常需要磁盘镜象或RAID技术来补偿磁 盘故障给系统带来的灾害。 “ 全部共 享” 多服务器可同时共享磁盘 存取。 低网络及服务器运 行开销。由于磁盘 故障而引发系统停 机的风险被降低。 需要锁定管理软件;需要磁盘镜象或 RAID技术。 负载均衡集群负载均衡集群 对于高等院校来说,负载均衡集群是应用面最广、最对于高等院校来说,负载均衡集群是应用面最广、最 有发展潜力的集群应用形式。有发展潜力的集群应用形式。 随着教育信息化的发展,用户需求成几何方式增长,随着教育信息化的发展,用户需求成几何方式增长, 从而导致网站的访问量不断增长。由于学校资源中很多是从而导致网站的访问量不断增长。由于学校资源中很多是 多媒体素材,包括音频、视频、动画等,会产生极大的网多媒体素材,包括音频、视频、动画等,会产生极大的网 络流量负载和处理负载。在这种情况下,采用负载均衡集络流量负载和处理负载。在这种情况下,采用负载均衡集 群是一个极好的选择。群是一个极好的选择。 负载均衡集群一般用于负载均衡集群一般用于WEBWEB服务器、代理服务器等。服务器、代理服务器等。 这种集群可以在接到请求时,检查接受请求较少,不繁忙这种集群可以在接到请求时,检查接受请求较少,不繁忙 的服务器,并把请求转到这些服务器上。的服务器,并把请求转到这些服务器上。 网络负载均衡功能增强了网络负载均衡功能增强了WebWeb服务器、流媒体服务器服务器、流媒体服务器 和终端服务等和终端服务等InternetInternet服务器程序的可用性和可伸缩性。服务器程序的可用性和可伸缩性。 负载均衡集群的特点负载均衡集群的特点 所有节点对外提供相同的服务,这样可以实所有节点对外提供相同的服务,这样可以实 现对单个应用程序的负载均衡,而且同时提供了现对单个应用程序的负载均衡,而且同时提供了 高可用性,性能价格比极高。高可用性,性能价格比极高。 网络流量负载均衡是一个过程,它检查集群网络流量负载均衡是一个过程,它检查集群 的入网流量,然后将流量分发到各个节点以进行的入网流量,然后将流量分发到各个节点以进行 适当处理。负载均衡网络应用服务要求群集软件适当处理。负载均衡网络应用服务要求群集软件 检查每个节点的当前负载,并确定哪些节点可以检查每个节点的当前负载,并确定哪些节点可以 接受新的作业。因此,集群中的节点接受新的作业。因此,集群中的节点((包括硬件和包括硬件和 操作系统等操作系统等))没有必要是一致的。没有必要是一致的。 负载均衡集群提供了一个非常实用的解决负载均衡集群提供了一个非常实用的解决 方案。负载均衡集群使负载可以在计算机集群方案。负载均衡集群使负载可以在计算机集群 中尽可能平均地分摊处理。负载通常包括应用中尽可能平均地分摊处理。负载通常包括应用 程序处理负载和网络流量负载。这样的系统非程序处理负载和网络流量负载。这样的系统非 常适合向使用同一组应用程序的大量用户提供常适合向使用同一组应用程序的大量用户提供 服务。每个节点都可以承担一定的处理负载,服务。每个节点都可以承担一定的处理负载, 并且可以实现处理负载在节点之间的动态分并且可以实现处理负载在节点之间的动态分 配,以实现负载均衡。对于网络流量负载,当配,以实现负载均衡。对于网络流量负载,当 网络服务程序接受了太多入网流量,以致无法网络服务程序接受了太多入网流量,以致无法 迅速处理,这时,网络流量就会发送给在其它迅速处理,这时,网络流量就会发送给在其它 节点上运行的网络服务程序。同时,还可以根节点上运行的网络服务程序。同时,还可以根 据每个节点上不同的可用资源或网络的特殊环据每个节点上不同的可用资源或网络的特殊环 境来进行优化。境来进行优化。 高性能计算集群高性能计算集群 高性能计算集群具有响应海量计算的高性能计算集群具有响应海量计算的 性能,主要应用于科学计算、大任务量的性能,主要应用于科学计算、大任务量的 计算等。有并行编译、进程通讯、任务分计算等。有并行编译、进程通讯、任务分 发等多种实现方法。发等多种实现方法。 因为因为高性能计算高性能计算集群涉及为解决特定集群涉及为解决特定 的问题而设计的应用程序,的问题而设计的应用程序,针对性较强针对性较强,, 后面再做具体的介绍。后面再做具体的介绍。 在集群的这三种基本类型之间,经常在集群的这三种基本类型之间,经常 会发生混合。高可用性集群可以在其节点会发生混合。高可用性集群可以在其节点 之间均衡用户负载。同样,也可以从要编之间均衡用户负载。同样,也可以从要编 写应用程序的集群中找到一个并行集群,写应用程序的集群中找到一个并行集群, 使得它可以在节点之间执行负载均衡。从使得它可以在节点之间执行负载均衡。从 这个意义上讲,这种集群类别的划分只是这个意义上讲,这种集群类别的划分只是 一个相对的概念,而不是绝对的。一个相对的概念,而不是绝对的。 WINDOWSWINDOWS 集群解决方案集群解决方案 有网络负载均衡功能的有网络负载均衡功能的 Windows 2003 Windows 2003 和和 Windows server 2008 Windows server 2008 为在分布和负载为在分布和负载 均衡的方式下建立关键且合乎要求的网站均衡的方式下建立关键且合乎要求的网站 的工作提供了良好的基础结构。与组件服的工作提供了良好的基础结构。与组件服 务的分布式应用程序特性和务的分布式应用程序特性和IISIIS的可伸缩性的可伸缩性 相结合,网络负载均衡有助于确保系统能相结合,网络负载均衡有助于确保系统能 够灵活地处理繁重的通信任务,同时,保够灵活地处理繁重的通信任务,同时,保 持对服务器状态的监控,确保系统不停持对服务器状态的监控,确保系统不停 机。机。 WINDOWS WINDOWS 集群技术的特点集群技术的特点  可伸缩性:可伸缩性:可以加入更多的处理器或计算机以提可以加入更多的处理器或计算机以提 高集群的计算能力。高集群的计算能力。  高度的可用性:高度的可用性:集群具有避免单点故障发生的能集群具有避免单点故障发生的能 力。应用程序能够跨计算机进行分配,以实现并力。应用程序能够跨计算机进行分配,以实现并 行运算与故障恢复,并提供更高的可用性。即便行运算与故障恢复,并提供更高的可用性。即便 某一台服务器停止运行,一个由进程调用的故障某一台服务器停止运行,一个由进程调用的故障 应急程序会自动将该服务器的工作负荷转移至另应急程序会自动将该服务器的工作负荷转移至另 一台服务器,以保证提供持续不断的服务。一台服务器,以保证提供持续不断的服务。  易管理性:易管理性:集群以单一系统映射的形式来面向最集群以单一系统映射的形式来面向最 终用户、应用程序及网络,同时,也为管理员提终用户、应用程序及网络,同时,也为管理员提 供单一的控制点,而且这种单一控制点还可以是供单一的控制点,而且这种单一控制点还可以是 远程的。远程的。 WindowsWindows的两种集群的两种集群 在在Win2000Win2000操作系统中,操作系统中, 微软引进了两种既微软引进了两种既 能独立使用又能联合使用的集群技术,为用户提能独立使用又能联合使用的集群技术,为用户提 供了一套能够根据应用程序或服务需要而选用的供了一套能够根据应用程序或服务需要而选用的 高可用的、扩展能力强的集群解决方案。高可用的、扩展能力强的集群解决方案。  高可用性集群:高可用性集群:Windows 2000 Windows 2000 高级服务器版支持高级服务器版支持 双节点故障应急集群,数据中心服务器版支持四双节点故障应急集群,数据中心服务器版支持四 节点集群。节点集群。  负载均衡集群:负载均衡集群: Windows 2000 Windows 2000 高级服务器版可高级服务器版可 在多达在多达3232个节点的集群内均衡个节点的集群内均衡IPIP通信量。通信量。 负载均衡与高可用性联合使用负载均衡与高可用性联合使用 Windows Windows 的这两种集群技术可联合使的这两种集群技术可联合使 用以创造具有高度可伸缩性和可用性的多用以创造具有高度可伸缩性和可用性的多 层应用服务系统。通过在前端的层应用服务系统。通过在前端的WebWeb服务器服务器 区中配置网络负载均衡,并将后端的在线区中配置网络负载均衡,并将后端的在线 应用程序集群化,用户就能在不受服务器应用程序集群化,用户就能在不受服务器 或应用程序单点故障困扰的情况下获得接或应用程序单点故障困扰的情况下获得接 近线性的可伸缩能力所带来的全部好处,近线性的可伸缩能力所带来的全部好处, 并能够为满足需求而迅速做出调整。并能够为满足需求而迅速做出调整。 高可用性集群系统实现高可用性集群系统实现 采用采用WIN2K ADVANCED SERVERWIN2K ADVANCED SERVER操作系统,再配置集群操作系统,再配置集群 服务,可实现应用系统的高可用性解决方案。服务,可实现应用系统的高可用性解决方案。 负载均衡集群系统实现负载均衡集群系统实现 采用采用WIN2K ADVANCE SERVERWIN2K ADVANCE SERVER操作系统,再加上操作系统,再加上WIN2KWIN2K 的负载平衡技术,不需要其它的硬件流量分配设备和流量的负载平衡技术,不需要其它的硬件流量分配设备和流量 管理软件,即可实现多个节点的流量管理、负载均衡。管理软件,即可实现多个节点的流量管理、负载均衡。 负载均衡加高可用性解决方案负载均衡加高可用性解决方案 采用采用WIN2K ADVANCED SERVER WIN2K ADVANCED SERVER 操作系统再加上负载均操作系统再加上负载均 衡技术和高可用技术,可以在三层结构计算环境中实现对衡技术和高可用技术,可以在三层结构计算环境中实现对 中间件的负载均衡和后台数据库的高可用性。中间件的负载均衡和后台数据库的高可用性。 36 高性能计算集群相关介绍高性能计算集群相关介绍  目前,目前,HPCHPC的应用范围越来越广,除了一些特殊的应的应用范围越来越广,除了一些特殊的应 用需要高性能计算外,一些如:数据挖掘应用、图像处理用需要高性能计算外,一些如:数据挖掘应用、图像处理 业务、基因测序比对处理等领域也越来越需要高性能计业务、基因测序比对处理等领域也越来越需要高性能计 算。算。  科学计算领域科学计算领域  更快的速度更快的速度  更高的精度更高的精度  更大的范围更大的范围  信息服务领域信息服务领域  更好地整合、提高可管理性更好地整合、提高可管理性  更高的吞吐率更高的吞吐率  更高的可靠性更高的可靠性 37 面临的问题面临的问题  但是,想要得到一个高性能解决方案,往往意味着要但是,想要得到一个高性能解决方案,往往意味着要 投入大量的金钱。投入大量的金钱。  国内:国内: 曙光曙光4000A4000A((1010万亿次运算能力),市场价格约为万亿次运算能力),市场价格约为11亿人民币。亿人民币。 曙光曙光5000A 5000A ((200200万亿次运算能力),市场价格约为万亿次运算能力),市场价格约为22亿人民币。亿人民币。  国外能达到相同计算规模的超级计算机,价格大约是国内的国外能达到相同计算规模的超级计算机,价格大约是国内的5~65~6 倍。倍。  一个小规模的高性能解决方案,也需要花上百万乃至上千万的成一个小规模的高性能解决方案,也需要花上百万乃至上千万的成 本投入。本投入。 38 低成本高性能计算的产生低成本高性能计算的产生  一方面是有限的成本投入,一方面是对一方面是有限的成本投入,一方面是对 高性能计算的迫切需要。怎样在这两者之高性能计算的迫切需要。怎样在这两者之 间取得一个平衡点?间取得一个平衡点?  因此,构建一个低成本、高性能的解决因此,构建一个低成本、高性能的解决 方案由此产生。方案由此产生。 39 多种结构的比较多种结构的比较 结构结构 特性特性 SMPSMP DSMDSM MPPMPP ClusterCluster 可扩展性可扩展性 最差最差 差差 强强 很强很强 易管理性易管理性 很强很强 很强很强 一般一般 较差较差 网络能力网络能力 无需网络无需网络 无需网络无需网络 很强很强 强强 并行编程并行编程 方式方式 共享变量共享变量 共享变量、共享变量、 消息传递消息传递 消息传递消息传递 消息传递消息传递 价格价格 贵贵 昂贵昂贵 昂贵昂贵 较低较低 40 环境搭建环境搭建  硬件环境搭建硬件环境搭建  软件环境搭建软件环境搭建 低成本考虑:低成本考虑: 11)从硬件上降低成本)从硬件上降低成本 22)从软件上降低成本)从软件上降低成本 33)从日常维护费用上降低成本)从日常维护费用上降低成本 高性能考虑:高性能考虑: 11)使用高频、多核)使用高频、多核CPUCPU 22)使用优化的数学库)使用优化的数学库 33)优化网络环境)优化网络环境 41 硬件环境搭建硬件环境搭建  硬件选购:硬件选购: 11)计算节点:)计算节点: 对大量集群环境配置的经验性研究显对大量集群环境配置的经验性研究显 示小型示小型SMPSMP平台最适合构建平台最适合构建HPCHPC集群,并且集群,并且 现在的多核技术已经达到平民化的程度,现在的多核技术已经达到平民化的程度, 因此使用多路处理器的节点成为首选。因此使用多路处理器的节点成为首选。 42 选用选用AMDAMD处理器处理器  在很多领域中,需要对大量的数据进行处在很多领域中,需要对大量的数据进行处 理。理。 这种模式对每个节点上的性能及这种模式对每个节点上的性能及I/OI/O吞吐吞吐 量提出了很高要求。量提出了很高要求。AMDAMD皓龙处理器的直连架皓龙处理器的直连架 构和超传输总线(构和超传输总线(HyperTransportHyperTransport)技术,保)技术,保 证了低内存延时和缓存的一致性,避免了系统证了低内存延时和缓存的一致性,避免了系统 扩展带来的性能瓶颈,可实现处理器核心之间扩展带来的性能瓶颈,可实现处理器核心之间 的高速数据交换,提升节点性能,满足了应用的高速数据交换,提升节点性能,满足了应用 的需求。以及其相对低廉的价格,是搭建一个的需求。以及其相对低廉的价格,是搭建一个 低成本解决方案的重要因素。(更适合多核单低成本解决方案的重要因素。(更适合多核单 节点的情况)节点的情况) 43 TOP 20TOP 20  前前55强中有强中有33台、前台、前2020强中有强中有77台超级计算机采用台超级计算机采用AMDAMD创新技术;创新技术;  前前55强中,强中,AMDAMD皓龙处理器为唯一的皓龙处理器为唯一的X86X86架构处理器;架构处理器;  前前2020强中,基于强中,基于AMDAMD皓龙处理器的超级计算机是其它皓龙处理器的超级计算机是其它X86X86架构处理器的架构处理器的 近一倍;近一倍; RankRank SiteSite ManufacturerManufacturer ComputerComputer YearYear ProcessorsProcessors RMaxRMax RPeakRPeak PowerPower EfficiencyEfficiency 11 DOE/NNSA/LANLDOE/NNSA/LANL IBMIBM BladeCenterBladeCenter QS22/LS21 Cluster, QS22/LS21 Cluster, PowerXCellPowerXCell 8i 3.2 8i 3.2 GhzGhz / / OpteronOpteron DC 1.8 GHz , Voltaire DC 1.8 GHz , Voltaire InfinibandInfiniband 20082008 122400122400 10260001026000 13757801375780 2345.52345.5 74.58%74.58% 22 DOE/NNSA/LLNLDOE/NNSA/LLNL IBMIBM eServereServer Blue Gene SolutionBlue Gene Solution 20072007 212992212992 478200478200 596378596378 2329.62329.6 80.18%80.18% 33 Argonne National LaboratoryArgonne National Laboratory IBMIBM Blue Gene/P SolutionBlue Gene/P Solution 20072007 163840163840 450300450300 557056557056 12601260 80.84%80.84% 44 Texas Advanced Computing Texas Advanced Computing Center/Center/UnivUniv. of Texas. of Texas Sun Sun MicrosystemsMicrosystems SunBladeSunBlade x6420, x6420, OpteronOpteron Quad 2Ghz, Quad 2Ghz, InfinibandInfiniband 20082008 6297662976 326000326000 503808503808 20002000 64.71%64.71% 55 Oak Ridge National LaboratoryOak Ridge National Laboratory Cray Inc.Cray Inc. Cray XT4 Cray XT4 QuadCoreQuadCore 2.1 GHz2.1 GHz 20082008 3097630976 205000205000 260200260200 1580.711580.71 78.79%78.79% 66 ForschungszentrumForschungszentrum JuelichJuelich (FZJ)(FZJ) IBMIBM Blue Gene/P SolutionBlue Gene/P Solution 20072007 6553665536 180000180000 222822222822 504504 80.78%80.78% 77 New Mexico Computing New Mexico Computing Applications Center (NMCAC)Applications Center (NMCAC) SGISGI SGI SGI AltixAltix ICE 8200, Xeon quad core 3.0 GHzICE 8200, Xeon quad core 3.0 GHz 20072007 1433614336 133200133200 172032172032 861.63861.63 77.43%77.43% 88 Computational Research Computational Research Laboratories, TATA SONSLaboratories, TATA SONS HewlettHewlett-- PackardPackard Cluster Platform 3000 BL460c, Xeon 53xx 3GHz, Cluster Platform 3000 BL460c, Xeon 53xx 3GHz, InfinibandInfiniband 20082008 1438414384 132800132800 172608172608 1602.241602.24 76.94%76.94% 99 IDRISIDRIS IBMIBM Blue Gene/P SolutionBlue Gene/P Solution 20082008 4096040960 112500112500 139264139264 315315 80.78%80.78% 1010 Total Exploration ProductionTotal Exploration Production SGISGI SGI SGI AltixAltix ICE 8200EX, Xeon quad core 3.0 GHzICE 8200EX, Xeon quad core 3.0 GHz 20082008 1024010240 106100106100 122880122880 442442 86.34%86.34% 1111 Government AgencyGovernment Agency HewlettHewlett-- PackardPackard Cluster Platform 3000 BL460c, Xeon 53xx 2.66GHz, Cluster Platform 3000 BL460c, Xeon 53xx 2.66GHz, InfinibandInfiniband 20072007 1372813728 102800102800 146430146430 00 70.20%70.20% 1212 NNSA/NNSA/SandiaSandia National LaboratoriesNational Laboratories Cray Inc.Cray Inc. SandiaSandia/ Cray Red Storm, / Cray Red Storm, OpteronOpteron 2.4 GHz dual core2.4 GHz dual core 20072007 2656926569 102200102200 127531127531 00 80.14%80.14% 1313 EDF R&DEDF R&D IBMIBM Blue Gene/P SolutionBlue Gene/P Solution 20082008 3276832768 9296092960 111411111411 252252 83.44%83.44% 1414 IBM Thomas J. Watson Research IBM Thomas J. Watson Research CenterCenter IBMIBM eServereServer Blue Gene SolutionBlue Gene Solution 20052005 4096040960 9129091290 114688114688 448448 79.60%79.60% 1515 NERSC/LBNLNERSC/LBNL Cray Inc.Cray Inc. Cray XT4, 2.6 GHzCray XT4, 2.6 GHz 20072007 1932019320 8536885368 100464100464 11501150 84.97%84.97% 1616 Information Technology Center, The Information Technology Center, The University of TokyoUniversity of Tokyo HitachiHitachi Hitachi Cluster Hitachi Cluster OpteronOpteron QC 2.3 GHz, QC 2.3 GHz, MyrinetMyrinet 10G10G 20082008 1228812288 8298482984 113050113050 638.6638.6 73.40%73.40% 1717 Stony Brook/BNL, New York Center Stony Brook/BNL, New York Center for Computational Sciencesfor Computational Sciences IBMIBM eServereServer Blue Gene SolutionBlue Gene Solution 20072007 3686436864 8216182161 103219103219 403.2403.2 79.60%79.60% 1818 ECMWFECMWF IBMIBM Power 575, p6 4.7 GHz, Power 575, p6 4.7 GHz, InfinibandInfiniband 20082008 83208320 8032080320 156416156416 1329.71329.7 51.35%51.35% 1919 RZG/MaxRZG/Max--PlanckPlanck--GesellschaftGesellschaft MPI/IPPMPI/IPP IBMIBM Power 575, p6 4.7 GHz, Power 575, p6 4.7 GHz, InfinibandInfiniband 20082008 67206720 8032080320 126336126336 1073.991073.99 63.58%63.58% 2020 Center for Computational Sciences, Center for Computational Sciences, University of TsukubaUniversity of Tsukuba ApproAppro InternationalInternational ApproAppro XtremeXtreme--X3 Server X3 Server -- Quad Quad OpteronOpteron Quad Core 2.3 Quad Core 2.3 GHz, GHz, InfinibandInfiniband 20082008 1000010000 7646076460 9200092000 671.8671.8 83.11%83.11% TOP 20 44 22)网络)网络 一般在大中型集群中,往往会使用一般在大中型集群中,往往会使用 InfiniBandInfiniBand,,MyrinetMyrinet等高速网络。但是他等高速网络。但是他 们的价格都不菲,针对于小型的集群搭们的价格都不菲,针对于小型的集群搭 建,使用千兆网络已经能够满足小型集群建,使用千兆网络已经能够满足小型集群 的网络通讯的需要。的网络通讯的需要。 45 网络比较网络比较 46 47 常见的常见的HPCHPC网络拓扑结构网络拓扑结构 48 软件环境基本搭建软件环境基本搭建 (开源软件)(开源软件) 操作系统:RHEL4 U5 并行环境:MPI 1.2.7 作业管理:OpenPBS 2.3.16 监控软件:Ganglia 3.0.6 数学库:GotoBLAS、Atlas、ACML 49 考虑因素考虑因素  考虑到成本与实际环境的因素,可以使用考虑到成本与实际环境的因素,可以使用 开源软件对集群进行管理和相关的应用。开源软件对集群进行管理和相关的应用。  因为开源软件自身的局限性,不可能提供因为开源软件自身的局限性,不可能提供 很好的集群管理机制。因此在较大规模集群方很好的集群管理机制。因此在较大规模集群方 案中,如果还是使用开源的软件去对集群进行案中,如果还是使用开源的软件去对集群进行 管理,日常的维护工作量就会明显增多。(建管理,日常的维护工作量就会明显增多。(建 议使用专门的集群管理软件:议使用专门的集群管理软件:CSMCSM((LinuxLinux)、)、 SUN Cluster 3.0SUN Cluster 3.0、、 Dawning DCMMDawning DCMM系统监控系统监控 DCMSDCMS集群管理集群管理 )) 50 软件软件  系统应配置有标准的系统应配置有标准的CC、、C++C++、、 FortranFortran和和JavaJava等主流编译器,将来还要等主流编译器,将来还要 在这基础上安装其它的并行编程环境,在这基础上安装其它的并行编程环境, 如如PVMPVM、、HPFHPF、、OpenMPOpenMP、串行程序自动并、串行程序自动并 行化工具、并行调试器、并行程序监控行化工具、并行调试器、并行程序监控 工具和并行数学库函数。还可以安装一工具和并行数学库函数。还可以安装一 些针对与某些领域的应用软件,如些针对与某些领域的应用软件,如 AccelrysAccelrys Material StudioMaterial Studio材料计算软材料计算软 件等。件等。 51 开发模式开发模式  支持串行程序、消息传递程序、支持串行程序、消息传递程序、SMPSMP多线程多线程 程序、程序、HPFHPF数据并行程序、分布式共享虚存数据并行程序、分布式共享虚存 等多种编程模型。等多种编程模型。  根据所提供的编程环境,能够很快的进行根据所提供的编程环境,能够很快的进行 并行程序的开发。并行程序的开发。 52 适用于适用于VOVO的函数库以及软件的函数库以及软件  数学库:数学库:MKLMKL、、ACMLACML、、GotoBLASGotoBLAS、、AtlasAtlas、、 BLASBLAS、、FFTWFFTW、、IMSL IMSL 、、LapackLapack 等等  编程环境:编程环境:MPICHMPICH((MPIMPI))/PVM /PVM ,,CC、、C++C++、、 Fortran77Fortran77、、Fortran90Fortran90、、 Fortran99Fortran99等程序的等程序的 编译器编译器  可用软件:可用软件:MM5MM5大规模天气数值预报模拟软件大规模天气数值预报模拟软件 等等  其它:其它:MatlabMatlab在多核及集群计算机上的并行计在多核及集群计算机上的并行计 算工具箱算工具箱3.33.3::Parallel Computing Toolbox Parallel Computing Toolbox 3.33.3 53 性能测试性能测试  测试软件:测试软件:LinpackLinpack((hplhpl 1.0a1.0a))  测试数学库:测试数学库:GotoBLASGotoBLAS 1.261.26、、Atlas Atlas 3.6.03.6.0、、MKL 10MKL 10、、ACML 4.0ACML 4.0。。 54 工作效率的提高工作效率的提高  使用一台普通的计算机要进行使用一台普通的计算机要进行4040个小时的运个小时的运 算,理论上在算,理论上在2020个节点集群环境内可以缩短个节点集群环境内可以缩短 至至11个小时。个小时。 55 测试注意问题测试注意问题  如果是使用核心是如果是使用核心是BarcelonaBarcelona以上的以上的AMD AMD 四四 核处理器,在使用核处理器,在使用GotoBLASGotoBLAS数学库时,必数学库时,必 须使用最新的须使用最新的1.261.26版本。版本。  使用使用GotoBLASGotoBLAS数学库测试,在单节点上配数学库测试,在单节点上配 置运行测试参数时,只需要配置如下:置运行测试参数时,只需要配置如下: mpirunmpirun ––npnp 1 1 xhplxhpl。则会同时调用。则会同时调用88个核个核 心进行计算。而使用其它数学库,要让心进行计算。而使用其它数学库,要让88核核 同时进行计算,则需要明确配置同时进行计算,则需要明确配置88进程,进程, 如:如: mpirunmpirun ––npnp 8 8 xhplxhpl 。。 56 优点优点 1.1.建设成本低廉,运算速度能达到中型计算的规建设成本低廉,运算速度能达到中型计算的规 模。模。 2.2.建设周期短。建设周期短。 3.3.结构易于变化,容易适应需求的改动。因此很容结构易于变化,容易适应需求的改动。因此很容 易通过扩展,升级,获得更好的性能。易通过扩展,升级,获得更好的性能。 4.4.可通过可通过WebWeb进行监控,通过进行监控,通过webweb进行远程管理等工进行远程管理等工 作。作。 5.5.维护工作量少,运行成本低。维护工作量少,运行成本低。 57 建议建议 1.1.经过以上的对比,怎样去选择一个合理经过以上的对比,怎样去选择一个合理 的方案去搭建一个低价格高性能的集群的方案去搭建一个低价格高性能的集群 需要多方面的考虑。需要多方面的考虑。 2.2.如果确实需要达到比较大的运算速度,如果确实需要达到比较大的运算速度, 采用更好的网络环境,更多的运算节点采用更好的网络环境,更多的运算节点 和更快的和更快的cpucpu是最直接的方式。是最直接的方式。 58 3.3.单台内集成更多的运算核心会得到更好单台内集成更多的运算核心会得到更好 的效果,但是瓶颈在于的效果,但是瓶颈在于CPUCPU访问内存的访问内存的 带宽并不能随着带宽并不能随着CPUCPU个数的增加而有效个数的增加而有效 增长,所以怎样在价格和性能上做一个增长,所以怎样在价格和性能上做一个 很好的平衡,将是必须考虑的问题。很好的平衡,将是必须考虑的问题。 4.4.针对于一些高吞吐量的运算来说,针对于一些高吞吐量的运算来说,I/OI/O 瓶颈的也是一个必须面对的问题。瓶颈的也是一个必须面对的问题。 结结 束束 语语 集群技术是一种通用的技术,其目的集群技术是一种通用的技术,其目的 是为了解决单机运算能力的不足、是为了解决单机运算能力的不足、IOIO能力能力 的不足、提高服务的可靠性、获得规模可的不足、提高服务的可靠性、获得规模可 扩展能力,降低系统整体的运行、升级、扩展能力,降低系统整体的运行、升级、 维护成本。只要在其他技术不能达到以上维护成本。只要在其他技术不能达到以上 的目的情况下,或者虽然能够达到以上的的目的情况下,或者虽然能够达到以上的 目的,但是成本过高的情况下,就可以考目的,但是成本过高的情况下,就可以考 虑采用集群技术。虑采用集群技术。 备注备注

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档

相关文档