集群、双机、负载均衡、HA、HPC、NLB、DRBD


集群、双机、负载均衡、 HA HPC NLB、DRBD

1.1 什么是集群 

    简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。 

1.2 集群系统的主要优点: 
    (1)高可扩展性: 
    (2)高可用性HA:集群中的一个节点失效,它的任务可传递给其他节点。可以有效防止单点失效。 
    (3)高性能:负载平衡集群允许系统同时接入更多的用户。 
    (4)高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。

2.1 集群系统的分类 
    虽然,根据集群系统的不同特征可以有多种分类方法,但是一般把集群系统分为两类: 
    (1)、高可用(High Availability)集群,简称HA集群。 
    这类集群致力于提供高度可靠的服务。就是利用集群系统的容错性对外提供7*24小时不间断的服务,如高可用的文件服务器、数据库服务等关键应用。 
    负载均衡集群:使任务可以在集群中尽可能平均地分摊不同的计算机进行处理,充分利用集群的处理能力,提高对任务的处理效率。 
    在实际应用中这几种集群类型可能会混合使用,以提供更加高效稳定的服务。如在一个使用的网络流量负载均衡集群中,就会包含高可用的网络文件系统、高可用的网络服务。 
    (2)、性能计算(High Perfermance Computing)集群,简称HPC集群,也称为科学计算集群。 
    在这种集群上运行的是专门开发的并行应用程序,它可以把一个问题的数据分布到多台的计算机上,利用这些计算机的共同资源来完成计算任务,从而可以解决单机不能胜任的工作(如问题规模太大,单机计算速度太慢)。 
    这类集群致力于提供单个计算机所不能提供的强大的计算能力。如天气预报、石油勘探与油藏模拟、分子模拟、生物计算等。

3.1 什么是高可用性 (HA)
    计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:MTTF/ (MTTF+MTTR)*100% 

负载均衡服务器的高可用性 

为了屏蔽负载均衡服务器的失效,需要建立一个备份机。主服务器和备份机上都运行High Availability监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并继续提供服务;当备份管理器又从主管理器收到“I am alive”这样的信息是,它就释放服务IP地址,这样的主管理器就开开始再次进行集群管理的工作了。为在主服务器失效的情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步与备份,保持二者系统的基本一致。

HA的容错备援运作过程 
    自动侦测(Auto-Detect)阶段由主机上的软件通过冗余侦测线,经由复杂的监听程序。逻辑判断,来相互侦测对方运行的情况,所检查的项目有:主机硬件(CPU和周边)、主机网络、主机操作系统、数据库引擎及其它应用程序、主机与磁盘阵列连线。为确保侦测的正确性,而防止错误的判断,可设定安全侦测时间,包括侦测时间间隔,侦测次数以调整安全系数,并且由主机的冗余通信连线,将所汇集的讯息记录下来,以供维护参考。 
    自动切换(Auto-Switch)阶段 某一主机如果确认对方故障,则正常主机除继续进行原来的任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的程序及服务。 
    自动恢复(Auto-Recovery)阶段在正常主机代替故障主机工作后,故障主机可离线进行修复工作。在故障主机修复后,透过冗余通讯线与原正常主机连线,自动切换回修复完成的主机上。整个回复过程完成由EDI-HA自动完成,亦可依据预先配置,选择回复动作为半自动或不回复。 

3.2HA三种工作方式: 

 1)、主从方式 (非对称方式) 
  工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统解决。  
 2)、双机双工方式(互备互援) 
  工作原理:两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存储系统中。 
 3)、集群工作方式(多服务器互备方式) 
  工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。

3.3、HPC:高性能计算


3.4、 Network Load Balancing,即NLB网络负载平衡允许群集中的所有计算机被一组相同的群集IP 地址 寻址(同时保持其现有的唯一专用 IP地址)。


3.5、Distributed ReplicateBlockDevice(DRBD)是一个用软件实现的、无共享的、服务器之间 镜像 块设备内容的存储复制解
单主模式:典型的高可靠性 集群方案。
复主模式:需要采用共享cluster文件系统,如GFS和OCFS2。用于需要从2个节点并发访问数据的场合,需要特别配置。
复制模式:3种模式:
协议A:异步复制协议。本地写成功后立即返回,数据放在发送buffer中,可能丢失。
协议B:内存同步(半同步)复制协议。本地写成功并将数据发送到对方后立即返回,如果双机掉电,数据可能丢失。
协议C:同步复制协议。本地和对方写成功确认后返回。如果双机掉电或磁盘同时损坏,则数据可能丢失。
一般用协议C。选择协议将影响流量,从而影响网络时延。
有效的同步:按线性而不是当初写的顺序同步块。同步损坏时间内的不一致数据。
在线的设备检验:一端顺序计算底层存储,得到一个数字,传给另一端,另一端也计算,如果不一致,则稍后进行同步。建议一周或一月一次。
复制过程的一致性检验:加密后,对方若不一致则要求重传。防止网卡、缓冲等问题导致位丢失、覆盖等错误。
Split brain:当网络出现暂时性故障,导致两端都自己提升为Primary。两端再次连通时,可以选择email通知,建议手工处理这种情况。
当数据写在缓冲区里,没有真正写到磁盘上时,系统崩溃会导致数据丢失。而disk flush是指将数据真正写到磁盘上后才返回。
有些带电池的 硬盘控制器,如带电池的带点出Dell PERC Raid卡,不但自带缓存而且自带电池,会在系统意外断电或者崩溃后将最后的数据写入磁盘,对这类控制器,可以使用disk flush,从而在保证性能的前提下提高了数据的安全性。
磁盘错误处理策略:
传递给上层:可能造成文件系统remounting成只读,不推荐。
对上层屏蔽:用另一端的相应块进行读写,应用不中断。可以在任何方便的时候再切换。
不一致的(inconsistent)数据:不能以任何方式访问和使用的数据。如正在同步时的目标节点数据,这些数据不能识别,不能mount,甚至不能通过磁盘的自动检测。
过期的(outdated)数据:在备机上的数据,与主机一致,但不需要同步。如主备机网络中断后,备机上的数据就是过期的。
DRBD有接口允许应用程序在网络中断时将备机数据标识为过期的。DRBD拒绝将这个节点提升为主角色。这些管理接口在Heartbeat框架上得到完整实现。
一旦过期资源的复制链接恢复,他的过期标志自动清除,接着进行后台同步。
工作原理
在高可用(HA)中使用DRBD功能,可以代替使用一个 共享盘阵.因为数据同时存在于 本地主机和远程主机上,
切换时,远程 主机只要使用它上面的那份备份数据,就可以继续进行服务了.

你可能感兴趣的:(集群、双机、负载均衡、HA、HPC、NLB、DRBD)