简介
传输设备分为可用和不可用状态,模型最开始时或设备正常工作时,设备为可用状态。一旦发现设备故障,则要停止设备的使用,使设备变为不可用状态;不可用状态即元件或系统出现故障或在维修期间不能执行规定功能的状态。当故障设备维修完成以后,又要将其恢复可用状态。启动模块和激活模块可以实现将设备的状态由不可用变为可用状态。
通信链路可用状态即通信双方使用通信信道能正常传输通信信息。在通信信道中,不只两个用户进行通信,而是有很多用户进行通信,通信信息要想被对方正常收到,通信链路必须是可用的。如果信道是不可用的,那么发送的信息是不可能到达通信对方。这里可用是指通信信道空闲且已经获得发送信息的控制权且通信设备正常运行。这里不可用的原因也有多种,如已经有用户正在使用;通信中设备出现了故障等。
管理对象的运行状态配置管理必须按照一定的对象模型对管理对象进行管理,比如一个特定的对象可以处于哪几个状态,在什么条件下进入哪个状态,进入某个状态时要发出哪些信息等。OSI的配置管理按照ISO 10164—2标准文本的规定来定义管理对象。
在OSI网络管理标准文本中定义了4个运行状态,在这些状态下它们考虑的是是否接受用户的服务请求。它们是:
(1)可用:处于这个状态的管理对象(网络资源)目前并未使用,但可以使用,是可用的。
(2)不可用:处于这个状态的对象(资源)是不可用的,或者它是依赖于另一个对象,而那个对象是不可用的。
(3)在用:处于这个状态的资源是可用的,而且还有空闲容量或能力接受其他对象的服务请求。
(4)忙:处于这个状态的资源是可用的,但已经没有空闲容量或能力接受其他对象的服务请求。
这4个状态的关系、它们之间允许的状态转移和激励条件等。但并不是所有管理对象都有这4个状态。一!些资源允许用户无限制地使用,即不可能处于“忙”状态,例如一个竞争使用的广播信道,任何用户都可随时访问,没有限制,只是访问者过多以后冲突率太高而已。1
主、备服务器的可用状态的确定双机热备是常用的提高系统服务可用性方法之一。比较经典的双机热备协议有VRRP和HSRP,很多厂商和开源组织也针对其平台产品推出相应的双机热备方案,比如Linux-HA。双机热备机制的一般原理是主、从服务器/设备通过心跳协议对对方可用状态的检测和判断,一旦从服务器确认主服务器不可用,就会接管其功能并对客户端提供相关服务,对双机热备机制的研究主要集中在故障发现、服务恢复以及主、从服务器一致性保证方面 。
但是传统的双机热备机制可能会存在裂脑风险 。所谓裂脑是指由于主、从服务器之间的通信机制(或心跳机制)失效而导致的相互对对方状态的误判,并导致双方不能一致地对外提供服务。有很多原因可能会导致心跳机制失效,比如物理线路问题或心跳软件故障等。Fencing 和Quorom机制是防范裂脑的常见方法,比如 SCSI和Quorum Dasemon等,但是这些方法也存在很多局限性,比如可能会引入新的单点故障问题,另外这些方法并不通用,比如难以应用在网络设备的双机热备中。
本文提出了一种基于多方决策机制的双机热备通用模型,引入了服务客户端对系统服务状的观测结果,并将其作为主、从服务器判断对方是否可用的重要因子,对包括主、从服务器和客户端在内的多方观测结果进行综合分析,为判断系统服务状态提供依据,有效避免了传统双边决策机制的局限性和片面性,同时也具有多种服务模式的通用性。基于多方决策机制的双机热备模型可以克服传统双机热备系统中可能出现的 “ 裂脑”问题。经理论分析,该模型实现方法并不复杂,配置灵活,同时不要求对系统平台和应用程序进行改动,有较好的应用推广价值。2