集群技术:集群技术的学习了解

文章目录

  • 集群技术的学习了解
    • 集群技术是什么
      • 分类
        • 负载均衡集群
        • 高可用性集群
        • 高性能计算集群
          • 高性能计算集群分类
          • 注意
    • 管理集群
      • 共享设备和文件系统
      • 提供集群事务传递的软件
      • 提供集群资源管理的软件

集群技术的学习了解

集群技术是什么

集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。

计算机集群简称集群,是一种计算机系统,它通过一组松散集成的计算机软件(和/或)硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度(和/或)可靠性。一般情况下集群计算机比单个计算机,工作站或超级计算机性能价格比要高得多。
集群就是一组相互独立的计算机,通过高速的网络组成一个计算机系统,每个集群节点都是运行其自己进程的一个独立服务器。对网络用户来讲,网站后端就是一个单一的系统,协同起来向用户提供系统资源,系统服务。通过网络连接组合成一个组合来共同完一个任务。

集群就是一组协同工作的服务器,各有分工。组成一个整体,对外表现为一个整体

分类

负载均衡集群

load blancing clusters负载均衡集群 (LBC)分担服务的总体压力 针对大容量

负载均衡集群为企业提供了更为实用,性价比更高的系统架构解决方案。负载均衡集群把很多客户集中访问的请求负载压力尽可能平均的分摊到计算机集群中处理。客户请求负载通常包括”应用程度处理负载”和”网络流量负载”。这样的系统非常适合向使用同一组应用程序为大量用户提供服务。每个节点都可以承担一定的访问请求负载压力,并且可以实现访问请求在各节点之间动态分配,以实现负载均衡。
负载均衡运行时,一般通过一个或多个前端负载均衡器将客户访问请求分发到后端一组服务器上,从而达到整个系统的高性能和高可用性。这样计算机集群有时也被称为服务器群。一般高可用性集群和负载均衡集群会使用类似的技术,或同时具有高可用性与负载均衡的特点。

负载均衡集群的作用:分担访问流量(负载均衡)保持业务的连续性(高可用性)

负载均衡有硬件和软件两种.
硬件层将4-7层负载均衡功能做到一个硬件里面,如F5,梭子鱼
软件负载均衡分为四层和七层
LVS属于四层负载均衡,工作在tcp/ip协议栈上,通过修改网络包的ip地址和端口来转发, 由于效率比七层高,一般放在架构的前端.
七层的负载均衡有nginx,haproxy,apache等, 工作在应用层,因此可以将HTTP请求等应用数据发送到具体的应用服务器,如将图片请求转发到特定的服务器上,总之可以做到更智能的负载均衡,这些功能在四层负载均衡上不好实现,一般放在架构的后面位置,布置在应用服务器前面.

高可用性集群

high available clusters高可用集群(HAC)尽可能保障服务状态的可用性 7X24小时在线

高可用性群集的出现是为了使群集的整体服务尽可能可用,以便考虑计算硬件和软件的易错性。如果高可用性群集中的主节点发生了故障,那么这段时间内将由次节点代替它。次节点通常是主节点的镜像,所以当它代替主节点时,它可以完全接管其身份,并且因此使系统环境对于用户是一致的。能够实现服务器实时在线的功能。

常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备", “双机互备”, “双机”.
高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。

可借助keepalivedhearbeatcorosync+pacemaker工具实现

高性能计算集群

high performance computing clusters高性能集群(HPC) 提供单台服务器提供不了的计算能力

高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。
通常,多个计算机同时处理数据,以解决复杂的科学问题。这是并行计算的基础,尽管它不使用专门的并行超级计算机,这种超级计算机内部由十至上万个独立处理器组成。但它却使用商业系统,如通过高速连接来链接的一组单处理器或双处理器 PC,并且在公共消息传递层上进行通信以运行并行应用程序。使用最多的就是气象分析,科学勘探,核爆炸分析等。

对于高性能集群,要实现得从软硬件双方面着手

高性能计算集群分类

高吞吐计算(High-throughput Computing)
有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。像在家搜寻外星人( SETI@HOME – Search for Extraterrestrial Intelligence at Home )就是这一类型应用。这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上 参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的 数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。所谓的Internet计算都属于这一类。按照 Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。

分布计算(Distributed Computing)
另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。

注意

分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方。
而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。
而集群并不一定就是分布式的。

分布式处理里必然包含任务分解与答案归并。分布式中的某个子任务节点,可能由一个集群来代替;集群中任一节点,都是做一个完整的任务。
集群和分布式都是由多个节点组成,但是集群之间的通信协调基本不需要;而分布式各个节点的通信协调必不可少。
将一套系统拆分成不同子系统部署在不同服务器上(这叫分布式),然后部署多个相同的子系统在不同的服务器上(这叫集群),部署在不同服务器上的同一个子系统应做负载均衡。
分布式:一个业务拆分为多个子业务,部署在多个服务器上 。
集群:同一个业务,部署在多个服务器上 。

举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。

管理集群

共享设备和文件系统

要想所有数据在各节点进行共享使用,必须使用共享设备和共享文件系统。
集群文件系统:当一个节点在写共享文件时,会向文件施加一个所,而集群文件系统会向其他集结宣告这个锁,其他节点就不能同步写该共享文件。
集群文件系统有:GFS,OCFS2
支持集群文件系统的设备:DAS,SAN

  • 支持共享的设备
  • NAS (在文件级别进行共享)
  • SAN
  • SCIC

提供集群事务传递的软件

1、heartbeat:heartbeat v1 heartbear v2 heartbear v3

2、corosync:OpenAIS定义了一套规范,分隔为corosync和一组api。这里corosync是主要使的,只用于实现messaging layer,不实现资源管理的功能。

3、cman:cluser manger,红帽的,是对OpenAIS的一种实现。

4、keepalived

5、ultramokey

提供集群资源管理的软件

1、heartbeat v1:haresources(hearbeat自带功能,配置接口是一个配置文件:haresource)。

2、heartbear v2:可以作为独立进程:crm(各个节点均运行进程crmd,5566,客户端使用crm进行交互(shell),完成配置),也有图形界面heartbeat-GUI

3、heartbeat v3:分隔多个项目 heartbear(底层信息传递)+pacemaker(CRM资源管理)+cluster-glue。pacemaker不仅可以与heartbear一起工作,也可以与corosync一起工作,这个时候需要使用cluster-glue进行粘合。

4、pacemaker:仍然使用crmd运行,配置接口使用crm(红帽对应的为psc),对应的GUI接口为hwk,LCMC,pacemaker-mgmt

5、rgmanager:cman使用的工具,resource group manager。故障转移域,failover domain。

6、RHCS:Redhat Cluster Suite(套件),配置接口,conga,全生命周期的配置接口

注意事项
1、 节点名称必须与uname -n命令结果一致
2、 ssh互信通信
3、时间同步

相关推荐

相关文章