集群和高可用性的区别

news/2024/11/23 16:45:23/

https://www.cnblogs.com/BlackWizard2016/p/5143816.html

1.1 什么是集群    

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

  更详细的说,集群(一组协同工作的计算机)是充分利用计算资源的一个重要概念,因为它能够将工作负载从一个超载的系统(或节点)迁移到集群中的另一个系统上。其处理能力是与专用计算机(小型机,大型机)可相比,但其性价比高于专用计算机.常见的硬件有:结点,网络,存储.软件有:机群系统,节点系统,应用支撑软件。   

  Cluster集群技术可如下定义:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。Cluster必须可以协调管理各分离的组件的错误和失败,并可透明地向Cluster中加入组件。一个Cluster包含多台(至少二台)拥有共享数据存储空间的服务器。任何一台服务器运行一个应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在其各自的本地储存空间上。Cluster内各节点服务器通过一内部局域网相互通讯。当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。当以上的任一故障发生时,客户都将能很快连接到新的应用服务上。

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.2、HA三种工作方式:

(1)、主从方式 (非对称方式)

工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统解决。

(2)、双机双工方式(互备互援)

工作原理:两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存储系统中。

(3)、集群工作方式(多服务器互备方式)

工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。

当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及。


http://www.ppmy.cn/news/734428.html

相关文章

自动化测试——接口测试怎么做?

目录: 一、什么是接口? 二、接口测试流程 三、接口测试工具 四、接口测试技术点 五、总结 导读: 为什么要做接口测试 接口测试本质上是功能测试的一种,属于后端服务器测试。但是它的影响范围要远广于web,app层面。原因…

单元测试的必要性 从bug修复 费用成本和时间成本综合考虑

单元测试与新飞机的质量 ⾸先不可避免要回答的⼀个问题是,“为何要做单元测试?”,我个⼈的回答是:“这是保证——你写的代码是你想要的结果——的最有效办法!”,当然如果你有更好的办法,请不吝…

常见漏洞修复方案

1 信息泄露类 1.1 目录遍历 【漏洞描述】 由于服务器中间件配置不当,客户端可以直接访问站点文件目录。如目录中恰好存在敏感文件(如配置文件、备份文件、数据库文件等),可被直接下载,导致严重的敏感信息泄露。 【漏…

从“自动化”到“自主化”:人机交互中信任修复的重要性

王小凤 金潇阳 翻译 现代与技术的互动越来越多地从人类仅仅把计算机作为工具向人和有自主性的智能体建立联系,让自主性智能体代替人作出行动转变。在最近的一篇评论中,彼得汉考克向人因工程领域发出了一个严峻的警告,即必须关注一类新技术的适…

如何设计自动化测试case?

目录 前言 如何设计测试case? UI自动化 API自动化 UNIT自动化 设计case要注意什么? 最后:【可能给予你助力的教程】 前言 这篇文章我想跟大伙聊聊设计自动化测试case的一些实践和观点。 为什么要设计case? 无论是功能测试还是自动化…

机器人自动化《RPA应用场景和发展趋势》

RPA国内外平台深度对比分析,发展现状和未来趋势 RPA 概述RPA 不同维度的分类RPA技术分析技术发展趋势总结 RPA 概述 RPA 是什么 RPA 机器人流程自动化(Robotic process automation):能够代替或者协助人类在计算机、手机等数字化设…

软件测试自动化面试题(含答案)

目录 1.如何把自动化测试在公司中实施并推广起来的? 2.自动化测试用例如何编写? 3.自动化测试发现BUG多吗? 4.在上一家公司做自动化测试用的什么框架? 5.什么是持续集成?它有什么用? UI自动化 1.自动化中有哪三类等待&am…

自动化比手工测试成本高?使用Selenium评估测试自动化的ROI指标

跨浏览器测试是一种测试,需要大量的精力和时间。通过不同的浏览器,操作系统,设备,屏幕分辨率测试Web应用程序,以评估针对各种受众的Web内容呈现的过程是一项活动。 特别是如果手动处理,使用Selenium进行的…