图文分析HA软件实现双机热备的工作(一)

  • 2019 年 10 月 6 日
  • 筆記

目前数据库服务的双机甚至多机热备的实现方式很多,如Oracle Rac、读写分离、主备、双机HA方式。实现Oracle Rac与双机HA的实现原理类似,在实际的应用中也有不少的场景,今天讲一下通过双机HA如何实现双机数据库热备。在一些项目中,客户提出要求能接通物理机的BMC口(或IPMI口)来实现双机HA,而这样将对云安全带来极大的挑战,真的必须访问物理机的BMC口来实现HA?今天我们来看一看。

今天主要通过业务通过的美国Rose HA软件来讲解。

一、系统架构为:数据库服务器双机+共享磁盘+浮动IP的方式。

二、RoseHA双机系统的两台服 务器(主机)都与磁盘阵列(共享存储)系统直接连接,用户的操作系统、应用软件和RoseHA高可用软件分别安装在两台主机上,数据库等共享数据存放在存储系统上,两台主机之间通过私用心跳网络(一般为直通网线或通过交换机互通的两条网线)连接。

三、配置好的系统主机开始工作后,RoseHA软件开始监控系统,通过私用网络传递的心跳信息,每台主机上的 RoseHA软件都可监控另一台主机的状态。当工作主机发生故障时,心跳信息就会产生变化,这种变化可以通过私用网络被RoseHA软件捕捉。当捕捉到这种变化后RoseHA就会控制系统进行主机切换,即备份机启动和工作主机一样的应用程序接管工作主机的工作(包括提供TCP/IP网络服务、存储系统的存取等服务)并进行报警,提示管理人员对故障主机进行维修。当维修完毕后,可以根据RoseHA的设定自动或手动再切换回来,也可以不切换,此时维修好的主 机就作为备份机,双机系统继续工作。

四、RoseHA实现容错功能的关键在于,对客户端来说主机是透明的,当系统发生错误而进行切换时,即主机的切换在客户端看来没有变化,所有基于主机的应 用都仍然正常运行。RoseHA采用了虚拟IP地址映射技术来实现此功能。客户端通过虚拟地址和工作主机通讯,无论系统是否发生切换,虚拟地址始终指向工 作主机。在进行网络服务时,RoseHA提供一个逻辑的虚拟地址,任何一个客户端需要请求服务时只需要使用这个虚拟地址。正常运行时,虚拟地址及网络服务 由主服务器提供。当主服务器出现故障时,RoseHA会将虚拟地址转移到另外一台服务器的网卡上,继续提供网络服务。切换完成后,在客户端看来系统并没有出现故障,网络服务仍然可以使用。除IP地址外,HA还可以提供虚拟的计算机别名供客户端访问。对于数据库服务,当有主服务器出现故障时,另外一台服务器就会自动接管,同时启动数据库和应用程序,使用户数据库可以正常操作。

以上分析,Rose实现是基本心跳线来监控服务器的应用运行状态,而不是通过BMC口。