双机热备针对的是服务器的临时故障所做的一种备份技术,通过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。本方案将详细介绍邮件服务器双机热备的解决方案,以TurboMail邮件系统为例,大家可以根据这个参考下。
1. 双机热备应用范围
服务器的故障可能由各种原因引起,如设备故障、操作系统故障、应用软件系统故障等等。一般情况,即使技术人员在现场的情况下,恢复服务器正常可能需要10分钟、 几小时甚至几天。从实际经验上看,除非是简单地重启服务器(可能隐患仍然存在),否则往往需要几个小时以上。而如果技术人员不在现场,则恢复服务的时间就更长。 而对于一些重要系统而言,用户是很难忍受这样长时间的服务中断的。因此,就需要通过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。
2. 实施方案
双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。
方案一、基于共享存储的双机热备方案
1. 拓扑图
2. 部署结构描述
基于存储共享的双机热备是双机热备中最标准方案。 对于这种方式,采用两台服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。
3. 集群软件:RHCS+GFS
1) 集群软件RHCS(红帽集群套件):可以使用不同的配置进行部署满足客户对性能、高可用性、负载平衡、灵活性、
文件共享和经济性的需要。主要包括群集基础结构、高可用性服务管理、群集管理工具和LVS。该集群软件安装简单,简易维护,属于开源系统,并配置了图形界面进行管理。
2) GFS(全球文件系统):允许多个节点进行块级别的存储共享,就好像每个群集节点都连接至本地存储空间一样。
方案优点:
1) 对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据。它可以在无人值守的情况下提供快速的切换,保证不会有数据丢失现象。
2) 采用RHCS+GFS的集群软件,可以支持扩容到300个节点,特别适合于需要大量做集群架构的企业或者未来需要大量扩容的企业。同时,该方案采用SAN存储,服务器与共享存储之间可实现高速的数据传输。
方案缺点:增加了昂贵的存储设备投资,对于有实力的企业,可优先考虑该方式。
方案二:纯软件形式
1. 网络拓扑图
2. 部署结构描述
对于纯软件的方式,通过镜像软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。
3. 集群软件:Keepalived+Unison
1) Keepalived是一个高可用软件,如果双机热备中有一台服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,当服务器工作正常后Keepalived自动将服务器加入到节点中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。此外,Keepalived安装和配置都很简单,方便用户的后续管理和维护。
2) Unison是一个数据同步更新软件,能实现数据同步实时更新。
方案优点:
① 节约投资:不需购买昂贵的磁盘阵列。
② 不受距离的限制:两台服务器不需受SCSI电缆的长度限制(光纤通道的磁盘阵列也不受距离限制,但投资会大得多)。这样,可以更灵活地部署服务器,包括通过物理位置的距离来提高安全性。
方案缺点:
① 可靠性相对较差,两服务器间的数据实时复制是一个比较脆弱的环节。
② 一旦某台服务器出现中断,恢复后还要进行比较复杂的数据同步恢复。并且,这个时段系统处于无保护状态。
③ 没有事务机制,由于其复制是在文件和磁盘层进行的,复制是否成功不会影响数据库事务操作,因此有出现数据不完整变化的情况,这个存在着相当的风险。