可用性是指定系统正常运行时间的一种方法,通常以系统可供用户访问的时间占总时间的百分比来表示。系统不可访问时间(停机时间)可能是因硬件、软件、网络故障或任何其他因素(如断电)所致,这些因素会使系统停机。不将计划的服务(维护和升级)停机时间视为停机时间。按正常运行时间百分比计算系统可用性的基本公式是:
可用性 = 正常运行时间/(正常运行时间 + 停机时间) * 100%
通常以“九”的个数来衡量可达到的可用性。例如,99% 的可用性为两个九。指定更多的九会对部署设计产生很大影响。下表显示的是为某系统增加代表可用性的九后的非计划停机时间数值,该系统以 24x7 方式全年不间断运行(共计 8,760 小时)。
表 3–3 全年运行(8,760 小时)系统的非计划停机时间
九的个数 |
可用性百分比 |
非计划停机时间 |
---|---|---|
2 |
99% |
88 小时 |
3 |
99.9% |
9 小时 |
4 |
99.99% |
45 分钟 |
5 |
99.999% |
5 分钟 |
对可用性的要求达四个或五个九通常要求系统必须是一个容错系统。容错系统必须能够在硬件或软件出现故障时继续运行。通常,容错的实现手段是为提供关键服务的硬件(如 CPU、内存和网络设备)及软件配置冗余组件。
单一故障点是指没有备用的冗余组件的硬件或软件组件,而这些组件是重要路径的组成部分。该组件出现故障会使系统无法继续提供服务。设计容错系统时,必须确定并消除潜在的单一故障点。
容错系统的实现和维护成本高昂。请确保先了解业务可用性要求的本质,然后再考虑能够满足这些要求的可用性解决方案的策略和成本。
在用户看来,可用性更多牵涉到的往往是逐个服务的可用性,而非整个系统的可用性。例如,如果即时消息传送服务不可用,通常情况下对其他服务的可用性几乎没有影响或无任何影响。但是,如果许多其他服务所依赖的服务不可用(如 Directory Server),则会有较大影响。较高的可用性规范应该明确引用要求更高可用性的特定使用案例和用量分析。
根据一组有序的优先级列出可用性需求会有帮助。下表按优先级顺序列出了不同服务类型的可用性。
表 3–4 不同优先级服务的可用性
优先级 |
服务类型 |
说明 |
---|---|---|
1 |
关键任务 |
任何时候必须可用的服务。例如,应用程序的数据库服务(如 LDAP 目录)。 |
2 |
必须可用 |
必须可用,但可以较低性能获得的服务。例如,在某些业务环境中,消息传送服务的可用性可能并不关键。 |
3 |
可延迟 |
在特定时间段内必须可用的服务。例如,在某些业务环境中,日历服务的可用性可能并非不可或缺。 |
4 |
可选 |
可无限期延迟的服务。例如,在某些环境中,即时消息传送服务可能有用,但非必需。 |
可用性设计将考虑到可用性降低或组件丢失时所发生的情况。其中,要考虑连接的用户是否必须重新启动会话和一个区域内的故障对系统的其他区域的影响程度。QoS 要求应考虑这些方案并指定部署如何对这些情况作出反应。