TFS双机热备份机制研究
一.HeatBeat双机热备份原理介绍
双机热备份(Hot Standby)是一种软硬件相结合的高可靠性应用方案。双机热备系统由两*立的服务器以及相应的控制软件构成,两台服务器在网络中表现为单一的系统,对外表现为一个独立的网络IP,并以单一系统的模式进行控制和管理。该系统将两台服务器的数据和运行状态(包括硬盘数据和内存数据)进行镜像,可以实现两台服务器之间的热备份,并能够做到无缝切换,从而对外提供稳定可靠的服务,实现双机系统的高可用性解决方案。
每一台服务器分配一个固定的IP地址,此外还指定了一个独立 IP地址作为集群IP(cluster IP),该IP是双机系统对外提供服务的接口。两台服务器一台成为主节点(Primary Server),另一台成为从节点(Standby Server),主节点与从节点之间保持固定时间间隔的心跳信号,通过心跳信号实现两个对等系统之间的周期性的握手,从而能够监视对方的运行状态,进行主机及网络的故障检测。
双机热备份系统采用内存镜像的技术,即把两台服务器的数据和运行状态(包括硬盘数据和内存数据)进行镜像,也可以在双机系统中使用第三方生产的磁盘阵列柜
双机控制软件是Linux-HAheartbeat,安装操作系统及相关的应用服务程序之外,还需要安装heartbeat控制软件。通过对heartbeat软件的配置,可以把两台服务器分别指定为主节点和从节点,指定心跳信号的时间间隔,指定cluster IP、子网掩码、广播地址、鉴权方式,还可以设置heartbeat启动的服务,该服务最终由双机系统通过cluster IP对外提供。
双机备份系统有两种配置方式,分别是“基于系统切换的双机系统”和“基于系统镜像的双机系统”,二者的区别是:
(1)基于系统切换的双机系统仅仅把两台服务器的硬盘数据进行镜像,在主节点失效的情况下,从节点将进行系统一级的切换。该方式不能实现无缝切换,实现的是冷备份。
(2)基于系统镜像的双机系统把两台服务器的硬盘数据和内存数据都进行镜像。为保证完全的内存镜像,两台服务器之间需通过专用连接网段实时地保持一个连续的、双向的镜像进程,该进程确保两台服务器之间的数据同步。一旦故障发生,无论任何一台服务器失效,失效服务器上的数据和应用,将立即切换到另一台服务器上,从而使用户在没有中断的情况下可以继续使用双机系统提供的服务。该方式能够做到无缝切换,实现的是热备份。
二.TFS本地环境应用
1.在目前的情况下,TFS也是通过HA的Heartbeat进行容灾达到热备份效果,同样需要两台机子,即(nameserver)master和slave,对外绑定一个vip,配置ha.conf文件。
2.在本地的搭建的TFS中,只是采用一个namaserver(192.168.5.21)和一个dataserver(192.168.5.20),nameserver没有采用主从复制功能,通过综合比较分析,采用双机热备份机制,推荐用基于系统镜像而非系统切换的双机系统进行。但是在21机器上,硬盘数据不受影响(挂在点不一样),但是系统的内存中数据就会不干净。因为21机器上拥有memcache,solr,tfs等服务,因此,在基于系统镜像而非系统切换的双机热备份机制下,备份和容灾的数据不纯洁。