发布网友 发布时间:2022-05-01 05:56
共1个回答
热心网友 时间:2022-04-13 22:18
双机热备有两种实现方式,一种是两台服务器通过一个共享的存储设备(一般是共享的磁盘阵列或存储区域网SAN),通过安装双机软件实现双机热备,称为共享方式。另一种方式是没有共享的存储设备,数据同时存放于各自服务器中,称为纯软件方式或软件同步数据方式。基于存储共享的实现方式是双机热备的最标准的方案,在主从模式工作中,两台服务器以一个虚拟的IP地址对外提供服务,服务请求发送给主服务器(active server)承担。同时,两台服务器通过心跳线(heartbeat line)侦测另一台服务器的工作状况。一旦主服务器出现故障,备服务器(standby server)根据心跳侦测的情况做出判断,在较短时间内完成切换,接管主机上的所有资源,成为新的主服务器。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。
心跳线是主备服务器之间联系的纽带,所谓“心跳”,是一个错误检测机制,指主从系统之间相互按照一定的时间间隔发送通讯信号,周期性地检测各个节点的状态(包括系统的状态和应用的状态)。如果连续没有收到的心跳信号到了一定的数目,双机热备软件就认为相应的系统已经出现故障,并进行主备切换。传统上心跳故障检测使用串口通讯的方式,但目前已经普遍使用基于TCP/IP的方式。两台服务器之间,可以使用直连网线,也可以将两台服务器用于心跳诊断的网卡通过交换机连接。
双机热备份技术需要通过双机或集群软件来实现。双机软件采用结构化设计,一般来说包含以下几个模块:
(1)双机状态的管理模块,负责检测双机的工作状态,以及对故障状态进行判断。
(2)双机功能的执行模块,负责执行管理模块发出的双机调整切换命令等。
(3)双机系统的客户端配置管理工具,通过该模块实现对双机系统的远程配置、管理及维护等功能。
双机软件工作流程大致如下:软件启动时,首先读取双机系统的配置文件,该文件描述了双机系统中各节点的网络信息、硬件描述以及任务的定义等参数。软件的核心程序根据配置信息,进行双机系统的状态重组,建立双机的初始状态。在节点初始状态建立起来后,管理模块根据当前网络状态的信息对双机进行调整并分配网络资源,使双机中的主节点获得对外提供网络服务的资源,同时启动节点监控功能,对所启动任务的关键进程进行监控,保障对外提供服务的资源健康。当以上资源建立起来后,双机系统进入正常运行状态。
当系统中有节点故障时,双机管理模块根据双机当前的状态和该故障节点在双机中的角色做出双机系统是否切换的选择。当该节点为主服务器时,双机系统会自动将属于该节点的资源和任务移交到备服务器上,保证网络的正常运行。如果发生故障的节点为备服务器,双机软件提出报警后,将任务的移交进行封锁,直到备服务器故障修复,重新进入双机系统,管理模块检查到该故障修复后,对当前的任务进行解锁操作,系统重新进入正常运行状态。