具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图1,图1为本发明提供的方法流程图。该方法应用于超融合管理设备。如图1所示,该方法可包括:
步骤101,确定当前到达选举时间时,从本设备和网络中其他超融合管理设备中选举出主设备、备设备、待机设备。
在本申请中,作为一个实施例,选举时间可预先设置。
作为另一个实施例,选举时间也可动态确定,具体见下文描述。
至于如何从本设备和其他超融合管理设备中选举出主设备、备设备、待机设备,下文会具体描述,这里暂不赘述。
步骤102,在本设备被选举为主设备时,控制网络中其他所有超融合管理设备,在本设备被选举为备设备时,按照主设备的控制进行工作,在本设备为待机设备时,按照主设备的控制进行工作。
在本申请中,虽然被选举为备设备的超融合管理设备、被选举为待机设备的超融合管理设备是按照主设备的控制进行工作的,但在具体实现时主设备对被选举为备设备的超融合管理设备和被选举为待机设备的超融合管理设备的控制不同,具体是基于实际需求控制,不再一一描述。
至此,完成图1所示流程。
通过图1所示流程可以看出,在本申请中,通过动态选举网络中各超融合管理设备的角色(主设备、备设备、待机设备),各超融合管理设备按照自己的角色进行工作,避免不同超融合管理设备因为权限完全相同而导致的相互排斥、管理资源浪费等问题。
进一步地,本发明中,通过动态选举网络中各超融合管理设备的角色,由被选举为主设备的超融合管理设备控制被选举为备设备和待机设备的超融合管理设备工作,这样就可以由用户仅对被选举为主设备的超融合管理设备进行操作即可,由被选举为主设备的超融合管理设备依赖用户操作控制被选举为备设备和待机设备的超融合管理设备工作,这简化了用户入口,也无需针对每个超融合管理设备设置地址。
更进一步地,本发明中,通过动态选举网络中各超融合管理设备的角色,由被选举为主设备的超融合管理设备控制被选举为备设备和待机设备的超融合管理设备工作,能够减少网络中协议报文转发和处理的数量,提高资源利用率。
在本申请中,当超融合管理设备上电或被恢复为出厂配置时,超融合管理设备的状态此时为初始化(Init)。
超融合管理设备的状态为Init时,会启动一个定时器,定时器的超时时间会预先设置。
基于此,作为一个实施例,上述步骤101中超融合管理设备确定的选举时间为本设备的状态为Init时启动的定时器超时。
超融合管理设备的状态为Init时,超融合管理设备不进行工作,但会周期发送通告报文。通告报文是专门为超融合管理设备适配设计的数据中心管理协议下的报文。通告报文携带两类TLV信息,第一类TLV信息用于携带超融合管理设备的状态。图2示出了第一类TLV信息的结构。作为一个实施例,此时超融合管理设备的状态为Init,则此时超融合管理设备发送的通告报文携带的第一类TLV信息就为用于表示Init的标识比如1。第二类TLV信息用于携带选举参数,作为本发明的一个实施例,这里的选举参数可为设备优先级、MAC地址。图3以选举参数为设备优先级、MAC地址为例示出了第二类TLV信息的结构。
超融合管理设备的状态为Init时,还会接收其他超融合管理设备发送的通告报文。接收的其他超融合管理设备发送的通告报文会携带其他超融合管理设备的状态。而其他超融合管理设备的状态可能是Init,也可能是Master或Backup等。
在本申请中,对于被选举为主设备的超融合管理设备,其具有的设备状态为主状态(Master),对于被选举为备设备的超融合管理设备,其具有的设备状态为备状态(Backup),对于被选举为待机设备的超融合管理设备,其具有的设备状态为待机状态(Waiting)。其中,在超融合管理设备被选举为主设备时,会周期发送携带本设备的状态Master的通告报文;在超融合管理设备被选举为备设备时,会周期发送携带本设备的状态Backup的通告报文;在超融合管理设备被选举为待机设备时,会周期发送携带本设备的状态Waiting的通告报文。这里,被选举为主设备的超融合管理设备、被选举为备设备的超融合管理设备,甚至被选举为待机设备的超融合管理设备,其发送的通告报文的格式如上所述。
在本申请中,被选举为主设备的超融合管理设备也会周期接收其他被选举为备设备以及待机设备的超融合管理设备发送的通告报文。被选举为备设备的超融合管理设备也会周期接收其他被选举为主设备以及待机设备的超融合管理设备发送的通告报文。被选举为待机设备的超融合管理设备也会周期接收其他被选举为主设备、备设备以及其他待机设备的超融合管理设备发送的通告报文。
作为一个实施例,上述步骤101中超融合管理设备确定的选举时间还可为:本设备的状态为Init时收到携带了状态为Master或Backup的通告报文。
在本申请中,当选举出主设备、备设备、待机设备后,被选举的主设备、备设备并非稳定不变,其会动态变化。作为一个实施例,上述步骤101中超融合管理设备确定的选举时间还可为:网络中状态为Master或Backup的超融合管理设备的状态发生了变化,也即网络中的主设备、备设备发生了变化。
作为一个实施例,网络中状态为Master或Backup的超融合管理设备的状态发生了变化包括但不限于以下情况:
情况1),网络中新增加一台以上状态为Master或Backup的超融合管理设备。也即,网络中新增加了一台以上作为主设备或备设备的超融合管理设备。
情况2),网络中被选举为主设备或备设备的超融合管理设备的状态发生更新。也即,网络中被选举为主设备的超融合管理设备不再维持原有的Master即不再作为主设备,或者网络中被选举为备设备的超融合管理设备不再维持原有的Backup即不再作为备设备。
情况3),设定时间未收到携带了状态为Master或Backup的通告报文。
基于上面描述,则对于任一超融合管理设备,其状态变化会如图4所示变迁。
如上描述的通告报文,则步骤102中,从本设备和其他超融合管理设备中选举出主设备、备设备、待机设备包括图5所示流程:
参见图5,图5为本申请提供的选举流程图。该流程应用于超融合管理设备,具体可包括以下步骤:
步骤501,超融合管理设备从主设备的候选设备中选举出一个设备作为主设备。
这里,主设备的候选设备为:如果网络中有一个以上状态为Master的超融合管理设备,则状态为Master的超融合管理设备为主设备的候选设备,否则,网络中所有超融合管理设备为主设备的候选设备;
如上描述的通告报文的结构,则超融合管理设备可以通过收集其他超融合管理设备发送的通告报文获知其他超融合管理设备的状态。其中,收集的其他超融合管理设备发送的通告报文可为截至当前的最新通告报文。
如上描述的通告报文还携带选举参数,作为一个实施例,本步骤501中从主设备的候选设备中选举出一个设备作为主设备可按照优先级进行选举。具体地,按照优先级从主设备的候选设备中选举出一个设备作为主设备可包括:从主设备的候选设备中选举出优先级最高的一个设备。需要说明的是,当从主设备的候选设备中选举出优先级最高的设备的数量为1,则则选举优先级最高的设备为主设备,当选举出优先级最高的设备的数量大于1,则选举优先级最高的设备中MAC地址最小的设备为主设备。最终保证只选举一个超融合管理设备为主设备。
步骤502,超融合管理设备在本设备未被选举为主设备时,将本设备的状态置为Backup。
当超融合管理设备将本设备的状态置为Backup也即超融合管理设备默认本设备为备设备。
步骤503,超融合管理设备从备设备的候选设备中选举出一个设备作为备设备,所述备设备的候选设备为:所有状态为Backup的超融合管理设备。
在本申请中,步骤503中的选举类似步骤501中的选举,也是按照优先级选举的。具体为:按照优先级从备设备的候选设备中选举出一个优先级最高的设备。需要说明的是,当选举出的优先级最高的设备的数量为1时,选举优先级最高的设备为备设备,否则,选举优先级最高的设备中MAC地址最小的设备为备设备。最终保证只选举一个超融合管理设备为备设备。
步骤504,超融合管理设备在本设备未被选举为备设备时,将本设备的状态置为Waiting。
当超融合管理设备将本设备的状态置为Waiting也即超融合管理设备默认本设备为待机设备。
至此,完成图5所示流程。通过图5所示流程,最终完成超融合管理设备的选举。
需要说明的是,作为一个特例,如果网络中只有一台超融合管理设备,则无需执行本申请如图5所示的选举流程。
需要说明的是,在本申请中,对于被选举为备设备的超融合管理设备,可进一步包括:当检测到状态为Master的超融合管理设备异常时,将本设备升级为主设备,并更新本设备的状态为Master,将本设备更新后的状态携带在通告报文中发送给网络中其他超融合管理设备。
在上面描述中,检测到状态为Master的超融合管理设备异常主要包括:设定时间未收到状态为Master的超融合管理设备发送的通告报文;或者由被选举为备设备的超融合管理设备主动发起的检测而检测到状态为Master的超融合管理设备异常。这里的异常可包括状态为Master的超融合管理设备消失或故障。
以上对本申请提供的方法进行了描述。下面对本发明提供的装置进行描述:
参见图6,图6为本发明提供的装置结构图。该装置应用于超融合管理设备,包括:
选举单元,用于确定当前到达选举时间时,从本设备和网络中其他超融合管理设备中选举出主设备、备设备、待机设备;
处理单元,用于在本设备被选举为主设备时,控制网络中其他所有超融合管理设备工作;在本设备被选举为备设备时,按照主设备的控制进行工作;在本设备为待机设备时,按照主设备的控制进行工作。
优选地,该装置进一步包括:
发送单元,用于在本设备被选举为主设备时,周期发送携带本设备的状态Master的通告报文;在本设备被选举为备设备时,周期发送携带本设备的状态Backup的通告报文;在本设备被选举为待机设备时,周期发送携带本设备的状态Waiting的通告报文。
优选地,所述选举时间包括:
本设备的状态为初始化Init时启动的定时器超时;或者,
本设备的状态为Init时收到携带了状态为Master或Backup的通告报文;或者,
网络中状态为Master或Backup的超融合管理设备的状态发生了变化。
作为一个实施例,网络中状态为Master或Backup的超融合管理设备的状态发生了变化包括但不限于:
网络中新增加一台以上状态为Master或Backup的超融合管理设备;
网络中被选举为主设备或备设备的超融合管理设备的状态发生更新;
设定时间未收到携带了状态为Master或Backup的通告报文。
优选地,在本设备被选举为备设备时,所述处理单元进一步检测到状态为Master的超融合管理设备消失或异常时,将本设备升级为主设备,并更新本设备的状态为Master,将本设备更新后的状态携带在通告报文中发送给网络中其他超融合管理设备。
优选地,所述选举单元从本设备和其他超融合管理设备中选举出主设备、备设备、待机设备包括:
从主设备的候选设备中选举出一个设备作为主设备,所述主设备的候选设备为:如果网络中有一个以上状态为Master的超融合管理设备,则状态为Master的超融合管理设备为主设备的候选设备,否则,网络中所有超融合管理设备为主设备的候选设备;
在本设备未被选举为主设备时,将本设备的状态置为Backup;
从备设备的候选设备中选举出一个设备作为备设备,所述备设备的候选设备为:所有状态为Backup的超融合管理设备;
在本设备未被选举为备设备时,将本设备的状态置为Waiting
作为一个实施例,所述从主设备的候选设备中选举出一个设备作为主设备包括:从主设备的候选设备中选举出优先级最高的设备;如果选举出的优先级最高的设备的数量为1,则选举优先级最高的设备为主设备,否则,选举优先级最高的设备中MAC地址最小的设备为主设备;
所述从备设备的候选设备中选举出一个设备作为备设备包括:从备设备的候选设备中选举出优先级最高的设备,当选举出的优先级最高的设备的数量为1时,选举优先级最高的设备为备设备,否则,选举优先级最高的设备中MAC地址最小的设备为备设备。
至此,完成图6所示的装置描述。
对应地,本发明还提供了图6所示装置的硬件结构。参见图7,图7为本申请提供的图6所示装置的硬件结构示意图。该装置包含:
存储器,用于存放选举单元运行的程序指令、处理单元运行的程序指令;
处理器,用于执行选举单元运行的程序指令、用于执行处理单元运行的程序指令。其中,处理器执行选举单元运行的程序指令所执行的操作如上选举单元执行的操作,处理器执行处理单元运行的程序指令所执行的操作如上处理单元执行的操作。
如图7所示,该硬件结构还可以包括一个电源组件被配置为执行装置的电源管理,一个有线或无线网络接口被配置为将装置连接到网络,和一个输入输出(I/O)接口。
至此,完成图7所示的硬件结构描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。