双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。 1)基于共享的存储设备的方式
优点:对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据。它可以在无人值守的情况下提供快速的切换,保证不会有数据丢失现象。
缺点:增加了昂贵的存储设备投资,对于有实力的企业,可优先考虑该方式。 2)纯软件方式
优点:
① 避免了磁盘阵列的单点故障:对于双机热备,本身即是防范由于单个设备的故障导致服务中断,但磁盘阵列恰恰又形成了一个新的单点。(比如,服务器的安全系数是99.9%, 磁盘阵列的安全系数是99.95%,则纯软双机的安全系数是1-99.9%x99.9%=99.99%,而基于磁盘阵列的双机热备系统的安全系数则会是略低于99.95%
② 节约投资:不需购买昂贵的磁盘阵列。
③ 不受距离的限制:两台服务器不需受SCSI电缆的长度限制 (光纤通道的磁盘阵列也不受距离限制,但投资会大得多)。这样,可以更灵活地部署服务器,包括通过物理位置的距离来提高安全性。
缺点:
① 安全性相对较差,两服务器间的数据实时复制是一个比较脆弱的环节。
② 一旦某台服务器出现中断,恢复后还要进行比较复杂的数据同步恢复。并且,这个时段系统处于无保护状态。
③ 没有事务机制,由于其复制是在文件和磁盘层进行的,复制是否成功不会影响数据库事务操作,因此有出现数据不完整变化的情况,这个存在着相当的风险。