高可用,英文即High Availability,简称HA。就是通过专门的设计,减少停机时间,而保持其服务的高度可用性。对于操作系统来说,能实现高可用的方式有不少。如VMware vSphere等虚拟化产品自带的HA功能(这种产品的HA和其他有区别),Linux系统自带的HACluster,小型机的HACPM,Oracle数据库的RAC,DB2数据的HADR,还有三方的Veritas VCS和RoseHA,每家产品的实现原理和工作流程都不一样,实现目的都一样。可以通过一主一备或多备的方式,减少停机时间。
总体来分,可以分为系统、数据库和三方应用。在选择上,有很大的讲究。如选择错误的HA,不管从实施角还是维护角度都会带来很大的麻烦。如VMware vSphere等类似虚拟化产品的HA,首先你得把物理机的系统迁移到虚拟化平台,不同的虚拟化产品功能大同小异,在维护性和稳定性上存在很大的区别,这个需要谨慎选择。虚拟化的HA只包含单台主机的虚拟机,如果一台物理服务器宕机,全部虚拟机会通过集群故障转移(漂移)到另外一台服务器,但无法避免逻辑错误。这种方式和传统的HA还是存在很大的区别。有时候,部分客户还会在虚拟化重要的系统上再做一层系统应用的HA。
对于系统和数据库方面的HA各有优势。用哪种HA取决于你对系统和数据库的选择。选择了某一种就只能用它们提供的HA。这里我重点要介绍的是三方的HA,如Veritas和Rose。Veritas是老牌子外企,之前被Symantec收购,由于业绩不佳又出售给私人集团。收购出售这是资本在运作,对产品投入和增长有很大的影响,从技术角度影响相对比较小。Veritas的HA叫VCS(Veritas Cluster Server),该产品在七八年前增长特别快,它的文件系统特别强大。据说以前华为有一款双活的存储底层软件就是使用该公司的另一款双活容灾产品。同时也有一个致命的缺点,对于已成型的业务系统,它的使用是破坏性的。VCS的上线需要更改文件系统的格式,就是说VCS上线需要把业务推倒从来,需要重新安装。这对很多已经使用的业务,且数据量比较庞大的用户是无法接受的。如果刚上线或数据量不大还可以考虑。这时候RoseHA弥补了这个缺点,它可以无缝切入原有的系统,使系统融合做成HA,很多客户愿意接受这种方案。具体选择哪一种还得看客户的想法和数据的量,这是一个重要的因素。