本方案仅讨论RedHat Linux系统下的双机热备份系统的实现,使用的双机控制软件是Linux-HAheartbeat。因此,除了安装操作系统及相关的应用服务程序之外,还需要安装heartbeat控制软件。
通过对heartbeat软件的配置,可以把两台服务器分别指定为主节点和从节点,指定心跳信号的时间间隔,指定clusterIP、子网掩码、广播地址、鉴权方式,还可以设置heartbeat启动的服务,该服务最终由双机系统通过clusterIP对外提供。
Heartbeat可以最大限度地保护用户端的应用连续性。用户的硬件资源(如网卡),软件资源(如操作系统、数据库管理系统、数据库应用系统、电子邮件系统等)均能处于heartbeat容错软件的保护之下,当这些被保护的资源出现技术故障时,heartbeat容错软件可以随时实施系统资源的切换。因此,heartbeat真正实现了用户硬件或是软件资源发生故障时系统及应用层上的在线热切换。
Heartbeat软件的特点有:
1. 不需增加额外硬件资源,纯软件方式实现双机容错,并且对双机无硬件配置要求。
2. 可支持DB2,Notes、Exchange、SQLServer、Sybase、Informix、Oracle、SAP等
多种系统的应用层热切换。
3. 支持共享磁盘阵列柜和内存镜像等多种方式,给用户提供了选择上的灵活性,
同时也能适应各种机型、网络结构、软件平台及应用系统。
4. 占用系统资源较少,不增加网络负荷,并且不会干扰具体应用程序的运行和操作。
真正实现无人值守,全自动地实现系统资源和应用服务的切换。
1.5 方案说明
服务器Server A和Server B构成双机热备份系统的两台主机,并且分别作为主节点(PrimaryServer)和从节点(Standby Server)。两台主机均运行Linux-HAheartbeat,该软件成为双机热备系统的控制程序。
两台主机通过串口线、以太网等多种方式进行连接,传送数据和心跳信号,并互相进行状态监视。可以只使用一种连接方式(如以太网连接),但是多种连接方式下的冗余路径可以保证双机连接的可靠性和服务质量。
数据库服务器或磁盘阵列柜是专门的数据存储和共享设备,两台服务器在运行时,均从该设备中读取和存储数据。这种方式可以有效地提高数据传输效率,提高双机热备服务器的系统性能,并且能够保证两台服务器之间的数据同步。
1.6 存在的问题
双机备份系统有两种配置方式,分别是“基于系统切换的双机系统”和“基于系统镜像的双机系统”,二者的区别是:
基于系统切换的双机系统仅仅把两台服务器的硬盘数据进行镜像,在主节点失效的情况下,从节点将进行系统一级的切换。该方式不能实现无缝切换,实现的是冷备份。
基于系统镜像的双机系统把两台服务器的硬盘数据和内存数据都进行镜像。为保证完全的内存镜像,两台服务器之间需通过专用连接网段实时地保持一个连续的、双向的镜像进程,该进程确保两台服务器之间的数据同步。一旦故障发生,无论任何一台服务器失效,失效服务器上的数据和应用,将立即切换到另一台
服务器上,从而使用户在没有中断的情况下可以继续使用双机系统提供的服务。该方式能够做到无缝切换,实现的是热备份。
本方案描述的heartbeat双机热备份系统是一种基于系统镜像的双机系统,实现方法是,主节点在出现故障的情况下,集群IP地址无缝地切换到从节点,从而客户机对服务器的访问可以由从节点来支持。但是两台服务器之间并没有镜像进程完成彻底的内存镜像,因而主节点在故障时所运行的数据信息不能切换到从节点,造成数据丢失以及服务中断。所以该方案不是严格意义上的系统镜像,实现的是服务一级的切换,并不能实现实时数据的切换。