集群(cluster)与高可用性(HA)
2010-09-23 08:49:36 阿炯

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

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

集群系统的分类
虽然根据集群系统的不同特征可以有多种分类方法,但是一般把集群系统分为两类:
(1)、高可用(High Availability)集群,简称HA集群。
这类集群致力于提供高度可靠的服务。就是利用集群系统的容错性对外提供7*24小时不间断的服务,如高可用的文件服务器、数据库服务等关键应用。

负载均衡集群:使任务可以在集群中尽可能平均地分摊不同的计算机进行处理,充分利用集群的处理能力,提高对任务的处理效率。在实际应用中这几种集群类型可能会混合使用,以提供更加高效稳定的服务。如在一个使用的网络流量负载均衡集群中,就会包含高可用的网络文件系统、高可用的网络服务。

(2)、高性能计算(High Perfermance Computing)集群,简称HPC集群,也称为科学计算集群。
在这种集群上运行的是专门开发的并行应用程序,它可以把一个问题的数据分布到多台的计算机上,利用这些计算机的共同资源来完成计算任务,从而可以解决单机不能胜任的工作(如问题规模太大,单机计算速度太慢)。这类集群致力于提供单个计算机所不能提供的强大的计算能力。如天气预报、石油勘探与油藏模拟、分子模拟、生物计算等。

什么是高可用性 (HA)
计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:MTTF/ (MTTF+MTTR)*100%。高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。它与被认为是不间断操作的容错技术有所不同。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。

高可用性(HA)的功能
1、软件故障监测与排除
2、备份和数据保护
3、管理站能够监视各站点的运行情况,能随时或定时报告系统运行状况,故障能及时报告和告警,并有必要的控制手段
4、实现错误隔离以及主、备份服务器间的服务切换

HA的工作方式:HA有主从方式和双工方式两种工作模式

高可用性与容错技术有什么区别?
容错(FT)技术一般利用冗余硬件交叉检测操作结果。当发现异常时,故障部件会被隔离开而不影响用户的操作。
高可用性方案则利用更少的冗余部件同时由软件检测故障,一旦故障发生立即隔离损坏部件,通过提供故障恢复实现最大化系统和应用的可用性。
容错技术随着处理器速度的加快和价格的下跌而越来越多地转移到软件中。未来容错技术将完全在软件环境下完成,那时它和高可用性技术之间的差别也就随之消失了。

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

HA的容错备援运作过程
自动侦测(Auto-Detect)阶段由主机上的软件通过冗余侦测线,经由复杂的监听程序。逻辑判断,来相互侦测对方运行的情况,所检查的项目有:主机硬件(CPU和周边)、主机网络、主机操作系统、数据库引擎及其它应用程序、主机与磁盘阵列连线。为确保侦测的正确性,而防止错误的判断,可设定安全侦测时间,包括侦测时间间隔,侦测次数以调整安全系数,并且由主机的冗余通信连线,将所汇集的讯息记录下来,以供维护参考。

自动切换(Auto-Switch)阶段
某一主机如果确认对方故障,则正常主机除继续进行原来的任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的程序及服务。
自动恢复(Auto-Recovery)阶段在正常主机代替故障主机工作后,故障主机可离线进行修复工作。在故障主机修复后,透过冗余通讯线与原正常主机连线,自动切换回修复完成的主机上。整个回复过程完成由EDI-HA自动完成,亦可依据预先配置,选择回复动作为半自动或不回复。

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

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

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


系统运维常用指标

竞争激烈的商业环境中,运维指标对企业的重要性不言而喻。这些指标不仅帮助企业监控和优化其IT基础设施的性能,确保服务的连续性和可靠性,而且还提供了关键的洞察,使企业能够识别潜在的问题并迅速响应。通过精确地跟踪系统的稳定性、响应时间、故障率等关键性能指标,企业能够提高客户满意度,降低运营成本,并最终提升市场竞争力。此外,良好的运维管理还能助力企业更好地遵守法规要求,避免数据泄露和其他安全风险,保护企业声誉和客户信任。因此,投资于运维指标的监控和改进是企业持续成功的关键因素。

1、可用性(Availability)
系统或服务在特定时间范围内可用的百分比。
计算方式:(总时间 - 不可用时间)/ 总时间 * 100%。
参考值:99.9%、99.99%、99.999%。
应用范围:应用系统、网络设备。

如果结合 MTBF 和 MTTR 两个概念,可用性可以写成 MTBF / MTBF + MTTR。

2、故障率(Failure Rate)
设备或系统在特定时间内发生故障的频率。
计算方式:(故障次数 / 总运行时间)* 100%。
参考值:每1000小时1次故障。
应用范围:服务器、网络设备。

3、平均修复时间(Mean Time to Repair,MTTR)
从故障发生到恢复正常所需的平均时间。
计算方式:MTTR(时间/次)= 修复总时间/故障次数。
参考值:2小时。
应用范围:应用系统、网络设备。

4、平均故障间隔时间(Mean Time Between Failures,MTBF)
设备或系统正常运行的平均时间。
计算方式:MTPF(时间/次)= 总运行时间 / 总故障次数
参考值:1000小时。
实际应用中为了更直观,将此公式也稍微变换一下,用MTTR=维修时间/产量。简单理解就是MTTR表示每做一个产品的平均修理时间。MTTR越小机器的状态就越好。
 
5、响应时间(Response Time)
用户请求发出后,系统返回响应的时间。
计算方式:请求发出时间与响应返回时间的差值。
参考值:500毫秒。
应用范围:应用系统、网络服务。

6、吞吐量(Throughput)
在特定时间范围内系统处理的请求数量。
计算方式:请求数量 / 时间。
参考值:1000个/秒。
应用范围:应用系统、数据库。

7、错误率(Error Rate)
定义:系统处理过程中发生错误的频率。
计算方式:(错误次数 / 总请求数)* 100%。
参考值:0.1%。
应用范围:应用系统、数据库。

8、容量利用率(Capacity Utilization)
系统资源利用率的百分比。
计算方式:(已使用资源 / 总资源)* 100%。
参考值:70%。
应用范围:服务器、存储设备。

9、延迟(Latency)
数据传输过程中的延迟时间。
计算方式:数据到达目的地的时间 - 数据发送的时间。
参考值:10毫秒。
应用范围:网络设备、应用系统。

10、数据完整性(Data Integrity)
数据在传输和存储过程中的完整性。
计算方式:(校验失败的数据块数 / 总数据块数)* 100%。
参考值:0%。
应用范围:存储设备、数据库。

11、系统响应成功率(System Response Success Rate)
系统成功响应用户请求的频率。
计算方式:(成功响应次数 / 总请求数)* 100%。
指考值:99.5%。
应用范围:应用系统、网络服务。

12、平均等待时间(Average Waiting Time)
用户在队列中等待的平均时间。
计算方式:(总等待时间 / 总请求数)。
参考值:5秒。
应用范围:应用系统、网络服务。

13、数据备份成功率(Data Backup Success Rate)
数据备份成功的频率。
计算方式:(成功备份次数 / 总备份次数)* 100%。
参考值:99%。
应用范围:备份系统、数据库。

14、数据恢复时间(Data Recovery Time)
从数据损坏或丢失到恢复正常所需的时间。
计算方式:数据恢复所需的时间。
参考值:4小时。
应用范围:备份系统、数据库。

15、安全漏洞修复时间(Security Patch Fix Time)
从发现安全漏洞到修复的时间。
计算方式:修复安全漏洞所需的时间。
参考值:24小时。
应用范围:应用系统、操作系统。

16、服务器利用率(Server Utilization)
服务器资源利用率的百分比。
计算方式:(已使用资源 / 总资源)* 100%。
参考值:80%。
应用范围:服务器、虚拟化环境。

17、网络带宽利用率(Network Bandwidth Utilization)
网络带宽利用率的百分比。
计算方式:(已使用带宽 / 总带宽)* 100%。
参考值:70%。
应用范围:网络设备、应用系统。