传统双机热备份的工作原理,是一种故障转移的方式,
1、一般来讲要求主备机安装有相同的软件或数据库,主备机必须有共享数据的磁盘阵列存储子系统,用于保证状态切换后的数据连续性。
 
2、主备机间存在有基于TCP/IP Socket接结方式或串口联结方式等的心跳检测链路,主备机间通过不断的通讯联系来确保检测对机的系统是否正常。
 
3、主机一旦出现故障,备机马上启动相关数据库服务或用户应用。
 
这种模式决定了传统双机热备不可能达到秒级以上的切换时间。原因有如下原因。
1、主备机的共享存储子系统,虽然存储系统是共享的,但并不意味着共享存储系统是可以同时访问的,当主机工作时,主机独占存储子系统的I/O的读写,此时备机是不可以访问磁盘阵列子系统的。只有当主备机发生切换时备机才能取得存储子系统的I/O的读写控制权,而这种读写的控制转换是需要时间的。一般来讲大约需要5-20秒的时间,如果系统缓存过大,会增加主机回写缓存的时间,切换时间会更长。
 
2、心跳检测链路并不是主机一旦宕机备机就会启动相关服务,而是主机宕机后,备机要经过反复验证后才可以确定主机确实已经停止工作或宕机了。而这个检测时间的安全阀值一般定为12秒左右。
 
3、备机接管主机时,需要启动备机的用户应用程序或数据库程序。这样启动这些服务程序所需的时间完全由机器的性能与应用程序的启动快慢有关。
 
    所以,综上所述普通双机热备份产品在发一次切换时的时间应在1-3分钟的时间。