双机热备系统是高可用领域中的一项重要技术,请问有高手了解Unix和Linux平台下双机热备解决方案吗?高可用性的解决方案有哪些?双机热备方案与集群的区别?数据库双机热备时,双机是同时工作吗?
两台机器对外提供服务的只有一台。
一台成为主节点(Primary Server),另一台成为从节点(Standby Server),主节点与从节点之间保持固定时间间隔的心跳信号,通过心跳信号实现两个对等系统之间的周期性的握手,从而能够监视对方的运行状态,进行主机及网络的故障检测。
主节点发生故障(心跳线断),从节点就会自动接管(Take Over)主节点的资源和服务,继续支持信息的运营,从而保证整个双机系统能够不间断的运行(Non-Stop)。
看应用了,如果两台机器只有一台提供服务,另一台热备的话,很简单,它们俩在一个网段内(内网网卡),热备机心跳线上机,发现线上机挂了立即换IP(外网网卡)开始服务就行了。
如果热备机是数据库机器,那么肯定是master-master的模式,方式一样,不过这是双热备了,前端数据库访问哈希散列或者lvs(nat or dr,看出口带宽使用情况)到某一台master访问服务,两个master做数据同步(mysql自身就提供了同步功能),lvs服务器或者代理服务器或者应用程序在检测到某台机器挂掉后应该及时修改lvs策略,探测方式还是心跳之类的,可以了解varnish,keepalive等探测原理。
google关键字
1.keepalived + LVS
2.heartbeat + DRBD