存储基础知识:高可用技术

一、概述
随着计算机和网络的飞速发展,计算机在各个行业的应用越来越广泛和深入。在绝大多数行业、绝大多数企业都存在一些关键的应用,这些应用必须7*24*365小时不间断运行。这些应用的主机系统一旦出现问题,轻则降低业务响应速度,严重的会导致业务中断,造成严重的后果。如何能保证业务的持续进行,已经成为影响一个公司成败的关键因素。在这样的情况下,系统的高可用性就显得尤为重要。
近年来,服务器平台的可用性在不断地提高。内存ECC(错误代码校正)及Chipkill技术(纠正及探测内存中的数据错误)、硬盘RAID技术、网络负载均衡及容错技术以及多种基于硬件的冗余设计(如硬盘子系统、风扇子系统、电源子系统等)提高了整个系统的可用性,较好的保证了业务系统的持续运行。虽然硬件技术的发展大大提高了系统的可靠性,但是,由于系统内其它核心部件(如CPU、主板、物理内存等)的故障, 应用系统在一年365天内还是可能出现44~87小时的停机时间,这就要求从更高层次、更多方面综合考虑提高系统的高可用性。
在高可用技术中,根据不同的应用环境,从性能、经济等方面考虑.主要有以下几种方法和模式:
双机热备份方式
在双机热备份方式中,主服务器运行应用,备份服务器处于空闲状态,但实时监测主服务器的运行状态。一但主服务器出现异常或故障,备份服务器立刻接管主服务器的应用。也就是目前通常所说的active/standby 方式,主要通过纯软件方式实现双机容错。
双机互备份方式
在这种方式中,没有主服务器和备份服务器之分,两台主机互为备份。主机各自运行不同应用,同时还相互监测对方状况。当任一台主机宕机时,另一台主机立即接管它的应用,以保证业务的不间断运行。也就是目前通常所说的Active/Active方式,主要通过纯软件方式实现双机容错。通常情况下,支持双机热备的软件都可以支持双机互备份方式。
群集并发存取方式
在这种方式下,多台主机一起工作,各自运行一个或几个服务。当某个主机发生故障时,运行在其上的服务就被其它主机接管。群集并发存取方式在获得高可用性的同时,也显著提高了系统整体的性能。主要的群集软件有集成了Windows群集(Windows Clustering)软件的Microsoft® Windows® Server 2003 Enterprise Edition,Veritas的cluster server和一些基于Linux开发的集群管理软件,一般都支持八个以上节点的群集。
二、工作模式
双机热备份方式
所谓双机热备份就是一台主机为主服务器(Active Server),另一台主机为备份服务器(Standy Server),在系统正常情况下,主服务器为应用系统提供支持,备份服务器监视主服务器的运行情况。当主服务器出现异常,不能支持应用系统运行时,备份机主动接管工作机的工作,继续支持应用系统的运行,从而保证信息系统能够不间断的运行。此时,原来的备份服务器就成了主服务器。当原来的主服务器经过修复正常后,系统管理员通过管理命令或经由以人工或自动的方式将备份服务器的工作切换回主服务器;也可以激活监视程序,监视备份服务器的运行情况。在正常情况下,主服务器也会监视备份机的状态,当备份服务器因某种原因出现异常时,工作服务器会发出告警,提醒系统管理员解决故障,以确保主/备服务器切换的可靠性。
双机互备方式
所谓双机互备就是两台服务器均为工作机,在正常情况下,两台工作机均为应用系统提供支持,并互相监视对方的运行情况。当一台主机出现异常,不能支持应用系统正常运营时,另一主机则主动接管异常机的应用,从而保证应用系统能够不间断的运行。但是,当一台主机出现异常并被接管后,正常运行的主机的负载会随之加大,严重的情况下有可能影响到应用系统的响应速度。所以此时必须尽快修复异常机,以缩短正常机单机运行的时间。
群集并发存取方式
所谓群集(Cluster)技术就是一个域内包含多台拥有共享存储空间的服务器,各服务器通过内部局域网相互通信,群集内的任一服务器上运行的业务都可被所有的客户所使用。当一台服务器发生故障时,它所运行的应用将由其他服务器自动接管,这就实现了负载均衡和互为备份。
三、适用场合
三种工作方式,各自适合的应用场合。
双机热备方式:
适用于硬件资源充足,对应用系统有严格高可靠性要求的企业、政府、军队、重要商业网站ISP/ICP或数据库应用等用户。这些用户不仅保证主机系统能够24小时提供不间断的服务,还要求发生故障切换时,应用系统的性能和响应速度不受影响,以确保网络系统、网络服务、共享磁盘空间、共享文件系统、进程以及数据库的高速持续运转。
双机互备方式:
适用于在确保应用不间断运行的前提下,从投资的角度考虑,能充分的利用现有的硬件资源的用户。这些用户的应用要求保证业务不间断运行,但在发生故障切换时,允许一定时间内的应用性能的降低。
群集并发存取方式:
适用于对计算数据处理要求高的应用,其特点是实时性强、阶段性数据流量大、对应用系统有严格高可靠性要求。这种方式需要更多的硬件投资,为企业带来更大的可靠性和更多的任务能力。和前面提到的两种的高可用的计算机技术相比,群集技术并不要求所有服务器的性能相当,不同档次的服务器都可以作为群集的节点。在需要运行高负载的应用任务时,可以通过临时接入新的节点的方法,增加系统的运算和响应能力。群集技术系统可以在低成本的条件下完成大运算量的计算,具有较高的运算速度和响应能力,能够满足当今日益增长的信息服务的需求。
群集技术适用于以下场合:
1、大规模计算如基因数据的分析、气象预报、石油勘探需要极高的计算性能。
2、应用规模的发展使单个服务器难以承担负载。
3、不断增长的需求需要硬件有灵活的可扩展性。
4、关键性的业务需要可靠的容错机制。
四、对存储系统的要求
双机热备方式:系统运行时,只有主服务器与存储系统进行数据交换。当发生主机故障切换时,要求存储系统能与备份服务器快速建立数据通道,以支持业务的快速切换。
双机互备方式:系统运行时,两台主机需要同时对磁盘阵列进行读写操作,这要求存储系统具备良好的的并发读取操作和一定的负载均衡功能。
群集并发存取方式:
1、 并发处理能力
高性能群集主要依赖高性能存储以满足其强大的运算能力和数据的读写运算,但多个群集节点的数据访问是并发的、无规律的,因此就要求存储设备具有很强的处理并发数据访问能力,以使群集应用发挥最高的性能。
2、 数据共享能力
高性能群集主要利用分布在多个节点的处理器共同计算存储系统里的数据。这就对存储系统的初始容量、后期容量扩充能力提出了很高的要求。同时,多个节点的处理器能够方便地共享相关的数据,这就要求存储系统具备安全而高效的共享能力。
3、 大规模与可扩展性
随着高性能群集系统内计算节点的数量与规模、每个网络的数据容量也在扩大。因此,中央存储系统是否具备方便的升级途径和巨大的可供升级容量,就成为重要的因素。如何实现在线升级、平滑过渡、现有用户及素材的透明化处理,是存储产品必需的功能。
4、 可管理性
一是管理操作分安全级别;二是提供清晰明确的管理界面,方便操作。避免人为误操作,要求存储系统的管理界面简单明了,管理操作流程设计合理。
5、 高可用性
高性能群集的时效性很强,因此要求网络系统具有极高的可靠性。但是绝对的安全性是没有的,必要的网络故障恢复时间就显得十分重要。首先要求有较高的容错级别,例如控制器要求高可用容错,存储子系统要求容错冗余等;其次故障恢复时间要短,尽可能做到不宕机的在线恢复。