何谓高可用度?
在规划一套完善的高可用度(High Availability, HA)系统之前,必须先了解单点失效(Single
Point of Failure)。单点失效的定义很简单:一旦失效,就可能导致系统无法稳定运作的组件。换言之,一般服务器的所
有原件,例如CPU、电源供应器、主机板、硬盘、内存乃至电源线、系统风扇,都属于单点失效,因为这些组件一旦损坏,几乎都可能导致系统不稳或停机。
同样的,一个系统中唯一的网络端口或网络卡是单点失效,唯一的IDE硬盘也是单点失效。进一步来看,假使企业的防火墙服务器损坏,无法在短时间内藉由其它服务器取代相同功能或维修,并导致整个架构中的其它系统受到影响,那么这台服务器就是单点失效。
解决方法并不难设想:只要把所有可能出状况的组件都准备两套,并确保主要组件损坏、备用组件可立即接手运作,不就什么问题都没了?
这个作法是常见的完全冗余(Full
Redundancy)概念,也就是所谓的2N架构,不过还未必能完全解决单点失效的问题。除了考量成本因素,以及硬件本身是否支持冗余及热插拔,还要考量整体环境,如软件有无支持HA、数据异地备援、空调设备的效能、是否有发电机或双电源备援、双电信光纤电缆,乃至人员的门禁管制、远程监控等等多项因素。而文章开头的几个例子也显示,企业为了避免火灾、天灾乃至人为灾害,可能还需要将数据备份于两地的异地备援、数据回存甚至灾害回复的机制。
照这样一环一环的推演下去,建立理想的高可用系统费用可能足以把一家公司给弄垮。因此,IT人员或电信业者必须要审慎考量,该将高可用度以及单点失效确保到何种程度?要便捷而有效的建构一套的高可用度系统,通常指以软、硬件及韧体整合之系统,图标如下:
 |
图1. HA的层级简表 |
所谓的高可用度,是指系统在各种状况下可顺遂运作的时间(Up-time),这个数值也可反映出系统在面对CPU、HDD、RAM,乃至I/O卡、软件等异常时,由停机、维修到可顺利运作的时间。传统的分类方式是以可以达到「多少个9」的比率来划分等级,下表为一年365天当中,各等级的系统因故停机的时间。
 |
图2. HA等级与平台的关系图 |
几个9 |
Up Time % |
停机时间 |
适合应用 |
2 |
99% |
3天15小时36分 |
个人、企业内部计算机 |
3 |
99.9% |
8小时45分 |
一般IT设备 |
4 |
99.99% |
52分33秒 |
网络应用设备 |
5 |
99.999% |
5分15秒 |
电信设备、Mission critical企业服务器 |
表1. HA等级划分
从上表可知,层级越低,表示可用度相对较低,越需要硬件规格支持。层级越高,意味着可忍受的停机时间越短,可用度越高、越需要专属软件支持,相对地采购及维护成本也以等比级数增加。对企业主而言,如何在价格、效能及可用度之间取得平衡是一个复杂的课题。
规划一个高可用性系统
CompactPCI有不少先天硬件规格上的优点,因此能顺利的成为电信设备供货商的好伙伴。举例来说:
1. CompactPCI在规格、效能、频宽等方面均优于VME或传统工业计算机。
2. CompactPCI支持完整的热拔插功能
3. 比VME及工业计算机提供更高的版卡密度,可支持更多版卡或更多port通路。
4. CompactPCI为一开放之标准平台,支持多种OS,生产厂商多,兼容性佳。
虽然CompactPCI的价格较VME和传统工业计算机为高,但就整体考量而言,效价比仍是相当优异的。就几乎无法接受系统损坏停机的电信产业而言,通讯设备供货商(TEM)如何规划一个价格合理、性能稳定的高可用性系统呢?
硬件方面,以凌华科技cPCIS-3120/D300系列搭配cPCI-6760D的组合为例。热插拔设计、版卡密度高、弹性化的模块设计,可按照客户需求提供多种Driver
Bay设计,是cPCIS-3120/D300机箱最大特点。而cPCI-6760D则是多数OS都支持驱动程序、配有Dual
Channel IDE及外接SCSI等特色,是客户需求的主因。
一个2N架构的高可用系统,通常会由以下几个部分所组成:
1. 两个以上的节点(Node, 通常指服务器)。分为主要(Active)和备援(Inactive)两种,原则上节点的硬件配置会大致相同。
2. Heart Beat(心跳线)。为了安全起见,在2N架构的高可用环境中,通常我们会藉由网络或通讯端口来建立Heart
Beat,让各节点可侦测彼此的状态是否稳定,以及是否该启动备援机制。
3. 只被Active节点存取的共享磁盘。通常需要搭配一些特定应用程序,例如Rose
HA或Dataware之类的软件,确保数据不至于因主要节点与备援节点同时存取导致异常。
4. 网络环境。通常是指TCP/IP的环境,每个节点至少要两个LAN
Port。客户端也可透过网络存取主要节点上的应用程序。
总结以上要件,根据前述cPCIS-3120/D300系列搭配cPCI-6760D,下图是在大陆地区的电信产业中常使用的2N架构:
 |
图3. 电信常用的2N架构 |
在网络方面,上图的两台CompactPCI系统各有两个LAN,分别可透过Switch经由防火墙连接到外部网络。两个Switch之间有网络连通,且每个系统至少有两个LAN可维持系统的网络通畅。
在储存装置方面,系统硬盘本身是个容易单点失效的环节。由于cPCI-6760D支持Dual
Channel IDE,cPCIS-3120/D300系列可安装Internal RAID
Box,因此可以轻易实现内部硬盘的RAID功能。而cPCI-6760D支持Ultra160
SCSI接口,因此可外接SCSI的储存装置,确保数据无虞。通常在选择外接式储存装置时,会选择至少Dual
Channel的RAID System。此外,客户也可以直接选择NAS、iSCSI,而不选择透过SCSI接口传输数据。
在实际应用面而言,cPCIS-3120/D300系列支持7个peripheral
I/O槽,亦即最多可以插上7片通信版卡。由于CompactPCI有针对热插拔订定规范软件及硬件的规范,因此只要有驱动程序及热插拔支持,即使任一版卡发生异常、升级、换修等状况,都可以在不停机的状况下完成。为了减少单点失效的状况,cPCIS-3120/D300还提供了300W、双电源线输入的冗余电源供应器,以及多个热插拔的风扇。
结语
了解企业需求、评估单点失效的状态,进而选择适当的的软、硬件搭配,是建立一套高可用度平台的基础。前述文章提到,硬件充其量只能提供中上程度的高可用性,但是要将高可用度提升至99.999%的程度,通常都还需要搭配软件支持。
举例来说,在x86+Linux平台上,常见的HA软件也不少,例如开放原始码团体Linux-HA的HeartBeat,
LVS(Linux Virtual Server)、、TurboHA等等,其它如MontaVista也有针对高可用度推出商业软件包Carrier
Grade Edition。此外,不少人会选择RoseHA建立储存装置TakeOver的机制,在主要节点失效时由备援节点接手,提升后端储存装置的高可用度。
在SPARC平台上,Sun针对电信产业推出了NetraHA,以提供OS层级的高可用度,在2N的Full
Redundancy 架构中确保系统稳定运作。此外,部分客户也会要求使用Sun Solstice
Disk Suite进行软件RAID。如果客户还要搭配外部储存装置,那么Proware的Dataware则是个方便的选择。
|