对于关键性的场合,需要有两台或两台以上的数据服务器完成相同的功能,共同执行同一服务,它们彼此互为备用,当一台服务器出现故障时,可以由另一台服务器接替工作,不需要人工介入情况下,自动保证系统持续运转。双机热备解决了在主服务器故障时服务不中断的问题。
1.双机热备应用模式
在应用双机热备时,一般有以下几种应用模式:
双工方式:即两台服务器同时运行同样的应用,二者彼此独立运行。优点是不存在切换时间问题,因为它们都在实时运行。缺点是增加I/O设备通信开销,并且要求I/O设备(如串行通信)有两个通信口。再者难以保证计算与逻辑控制的统一,尤其不适用具有逻辑控制的服务器,也不符合“数出一源”的原则。
主从方式:它使用两台或两台以上服务器,一台作为主机,对外提供数据服务。其他作为从机,运行与主机完全一样的应用系统,但处于待机状态。当主机出现故障时,从机将接管控制,变为主站,保证系统在短时间内恢复使用。紫金桥实时数据库支持主从方式热备,也支持1:n热备。从机不但监视主机的运行状态,同时又实时与主机进行各种数据同步,包括实时数据同步、报警同步、操作事件同步、时钟同步、历史数据同步等。
双机互备:两台机器分别运行不同的应用,但彼此均设为备用机。当其中一台机器出现故障时,另一台机器可以将故障机的应用接管过来,同时运行两套应用。该互备其实是主从方式的一种改进。在主从方式下,从机处于备用状态,只有主机工作,而该方式下,两台机器都工作,这样就提高了机器的利用率,有效的分解了系统负荷。该方式与双工方式缺点相同,即要求I/O设备(如串行通信)有两个通信口。另外一般只有为后台程序的应用才能采用该方式。
集群服务器:多台机器组成的群组。集群软件负责监控机器的运行状态,如可以监视进程的状态,机器的状态,据此判断机器时候发生故障,在故障时将任务切换到指定的其他机器上。该方式支持1:n热备。主要优点是可以让多台机器具有相同的地址,可透明进行服务器转移而不为用户所知,这对Web访问提供更好的支持。缺点是成本高,对于系统的故障不易细化,因为在其他备用机制中,系统故障可能包括I/O设备失去通信,应用软件自身检测出的逻辑问题,而这些在集群软件中需要另外编程设置。
2.数据同步
紫金桥软件能够支持以上四种方式的双机热备模式,而且支持多机冗余,即支持n:1备份。紫金桥软件的主从站间能够自动完成各种数据同步,包括:
实时数据同步:您可以选择让主服务器中任何数据的变化都会通知到备用服务器,也可以选择让主服务器定周期的将变化数据发送给备用服务器。
历史数据、报警记录同步:备用机启动后将自动与主服务进行历史数据、报警记录同步,同步的天数可以任意制定,并且能够自动记录同步过的文件,保证不会重复同步。
操作事件同步:备用机启动还会自动与主服务进行操作事件同步,操作事件包括用户登陆、对数据的人工设置等。
时钟同步:备用机自动与主机周期进行时钟同步,以保证二者时间一致。
3.冗余的相关环节
I/O驱动冗余:紫金桥I/O驱动既支持双通信口I/O设备,也支持主从I/O设备。如下图所示:
支持双网冗余
在紫金桥数据源中可以输入备用网卡地址,一旦主地址无法连通,将自动切换到备用网卡地址。客户端可以通过主机、从机地址与主从服务器通信,也可以在网络出现故障时通过主机、从机的备用网卡地址与其通信。
双机热备下的数据恢复
双机热备下,只有活动服务器与前置机(专门负责数据采集)进行通信,前置机如果不能识别服务器间的主从关系,会认为备用服务器与其失去连接而为其保存恢复数据。主、从服务器在与前置机通信时会向前置机报告自己的身份,因此前置机在主服务器活动期间不会为从服务器保存恢复数据(降低了前置机不必要的开销)。如果服务器与前置机间出现间断,前置机能够自动判断主、备机的状态,并为最后活动的服务器保存恢复数据。
从机客户端:一般的,双机热备情况下从机处于热备状态,只能进行数据浏览,而不能进行数据下置操作,但是紫金桥的从机客户端会自动与主服务器中的数据库通信,而在本机成为主机时自动切换到与本机数据库通信,因此,从机客户端与其他客户端一样能够对数据进行操作。
IE客户端热备
IE客户端与普通客户端一样,在与主服务器通信故障时自动切换到与备用服务器通信。并且在主网故障时自动切换到备用网址。群集服务器特别适合于IE客户端,因为多个群集服务器可以配置成具有相同的IP地址,这样我们无论何时都可以使用同样的URL访问服务器。
4.什么时候应该使用双机热备
是否使用双机热备,决定于系统的重要性以及中断对系统的影响。采用双机热备可以在短时间内(如1~30秒内)恢复系统运行。而手工恢复故障通常需要三十分钟左右,如果技术人员不在现场故障恢复时间要更长,这还要根据故障的类型而定(故障来源是多种多样的,如服务器硬件故障,IO设备故障、操作系统故障、软件故障,通信线路故障等)。而对于一些重要系统来说,是很难忍受长时间的服务中断的。因此就需要通过双机热备来避免长时间中断问题,以保证系统长期、可靠的运行。