许多人还不清楚高可用的定义,也不知道该如何保障系统的高可用性。事实上国内已经出现了中兴新支点Newstart HA等成熟的高可用集群软件,可以保障系统高可用。下面就具体地给大家分享一下。
高可用的基本定义
高可用(High Availability)是系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。
如何衡量高可用性?
可用性通常表示为一个百分比,表示在给定时间段内特定系统或组件的正常运行时间,其中100%的值表示系统永不失效。例如,在一年的时间内保证99%可用性的系统最多可以有3.65天的停机时间(1%)。
这些值是根据几个因素计算的,包括计划和非计划维护周期,以及从可能的系统故障中恢复的时间。
目前大部分企业的高可用目标是4个9,也就是99.99%,也就是允许这台系统的年停机时间为52.56分钟。
高可用的目标
消除基础架构中的单点故障。
单点的定义是:技术堆栈中的某个组件,如果它变得不可用,将导致服务中断。
因此,应用程序中没有冗余的正常功能的部件被认为是单一故障点。
要消除单点故障,必须为堆栈的每一层做好冗余准备。
高可用简单示意
例如,假设您的基础架构由负载均衡器后面的两个相同的冗余Web服务器组成。来自客户端的流量将在Web服务器之间平均分配,但如果其中一个服务器出现故障,负载均衡器会将所有流量重定向到剩余的在线服务器。
此方案中的Web服务器层不是单点故障,因为:
适用于同一任务的冗余组件
该层顶部的机制(负载均衡器)能够检测组件中的故障并调整其行为以便及时恢复
另外一种情况,如果负载均衡器宕机,消除这个剩余的单点故障可能具有挑战性; 即使您可以轻松配置额外的负载均衡器以实现冗余,但在负载均衡器之上没有明显的点来实现故障检测和恢复。
因此,仅冗余不能保证高可用性。必须有一种机制来检测故障并在堆栈的某个组件不可用时采取措施。
可以使用从上到下的方法实现冗余系统的故障检测和恢复:顶部的层负责监视其下方的层以确定故障。在这里,基础架构中有一个点,即顶层不存在或不可及,负载平衡器层就是这种情况。为外部服务器中的负载均衡器创建故障检测服务只会创建新的单点故障。
对于负载平衡器的情况,由于名称服务器的工作方式,还有一个额外的复杂因素。从负载平衡器故障中恢复通常意味着故障转移到冗余负载平衡器,这意味着必须进行DNS更改才能将域名指向冗余负载平衡器的IP地址。
这样的更改可能需要相当长的时间才能在Internet上传播,这会导致此系统严重停机。
一种可能的解决方案是使用DNS循环负载平衡。但是,这种方法不可靠,因为它使客户端应用程序的故障转移。
更强大和可靠的解决方案是使用允许灵活IP地址重映射的系统,例如浮动IP。按需IP地址重新映射通过提供可在需要时轻松重新映射的静态IP地址,消除了DNS更改中固有的传播和缓存问题。域名可以保持与相同的IP地址关联,而IP地址本身也可以在服务器之间移动。
高可用集群软件能保障系统的高可用
在高可用集群朝多样化、易操作维护等方向迅速发展的今天,市场上的集群软件产品也品种繁多,但对于任何一款高可用集群产品,故障监视都是最核心的功能。监视资源种类的多少和监视层次的深浅,都成为评价一款集群软件高可用性的重要指标。目前市面上成熟的高可用集群软件已有不少,比如国外就有Rose ,而国内则以中兴新支点的Newstart HA 为代表。
高可用集群软件怎样保障系统的高可用?以国内的Newstart HA为例,无需改变任何服务和应用,NewStart HA即可保证系统故障和部件故障时应用不中断;可以自动监控服务器、网卡、浮动 IP 、存储和业务,生产中心失效会自动切换到灾备中心;可实现数据实时同步,切换时间为秒级,因此可以提供电信级,高达 99.999% 的高可用性。因此,系统要实现高可用,高可用集群软件不失为一个很好的选择。
高可用性是可靠性工程的重要子集,专注于确保系统或组件在给定的时间段内具有高水平的操作性能。乍一看,它的实施可能看起来相当复杂;但是,它可以为需要提高可靠性的系统带来巨大的好处。
网友评论