双机容错软件构成的数据库高可用性解决方案

    从技术适应性的角度讲,双机容错比较适合于无状态应用,或者状态信息较少的应用切换,以此达到应用级的高可用性目的,其实并不适合于数据库级的应用切换。这里,我们以市场上著名的美国Steeleye公司的Lifekeeper软件为例,做一下技术上的分析:


图2. NCR LifeKeeper双机容错软件数据库高可用性解决方案配置示意图
    此种结构往往是两个服务器共享一个磁盘阵列,这里两个服务器共享一个虚拟的IP供数据库客户使用,形成一个单一的逻辑数据库映象。此种所谓的数据库集群的目的是,一旦主机系统出现问题,备份系统通过心跳机制的检测,完成从主机系统到备份系统的切换,它有下列特点:

1.很显然,此种高可用性解决方案只是普通容错切换思想在数据库领域的简单用而已。
2.此系统本身只有一个单一的数据映象,数据储存在共享的磁盘阵例上,因此享的磁盘阵例成为了整个系统的单点错误源。
3.由于是单一数据映象,因此必须采用通常的复制或备份方法获取第二份数据,以保证数据的安全性。因此所有复制或备份方法的缺点,此类系统全部存在。
4.主机系统和备份系统之间是没有任何负载均衡关系的,在正常情况下,备份系统是闲置在那里,因此对用户来说是一种投资浪费,已经有不少的用户为此在抱怨。
5.在错误切换的时候,往往存在切换时间长,而且更严重的是存在丢失用户交易数据丢失的现象,结果导致系统被迫停止服务,或者需要人工修复数据,或者数据永远找不回来。