CN108959170B - 虚拟设备管理方法、装置、堆叠系统及可读存储介质 - Google Patents
虚拟设备管理方法、装置、堆叠系统及可读存储介质 Download PDFInfo
- Publication number
- CN108959170B CN108959170B CN201810756085.4A CN201810756085A CN108959170B CN 108959170 B CN108959170 B CN 108959170B CN 201810756085 A CN201810756085 A CN 201810756085A CN 108959170 B CN108959170 B CN 108959170B
- Authority
- CN
- China
- Prior art keywords
- virtual
- mpu
- card
- cards
- main
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7864—Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种虚拟设备管理方法、装置、堆叠系统及可读存储介质,堆叠系统的主设备监听所述虚拟设备的所述多个虚拟MPU卡发起的连接请求并建立连接,等待预设时间后,遍历多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡。从而实现了对虚拟设备中的各个虚拟MPU卡的主备角色进行集中式管理,防止各个虚拟MPU卡之间竞争主虚拟MPU卡角色时产生的“脑裂”现象。其次,本发明可以适用于单节点堆叠系统,也可以适用于集群物理设备堆叠系统,具有通用性,提高了可扩展以及可维护性。
Description
技术领域
本发明涉及堆叠系统领域,具体而言,涉及一种虚拟设备管理方法、装置、堆叠系统及可读存储介质。
背景技术
堆叠系统是通过虚拟交换技术将多台配置相同的设备通过堆叠链路连接而成,对外呈现为一台虚拟的路由设备,从而可以减少设备间大量协议报文的交互,缩短收敛时间,提高通信网络的可靠性。
随着Internet的持续发展,数据量呈现出爆炸式的增长。面对海量数据,各个物理硬件设备的处理数据的性能也得到了提升,甚至出现了资源剩余的情况。为了充分提高硬件设备的资源利用率,节省物理设备资源,对物理硬件设备采用虚拟化技术得到了广泛应用,因此,堆叠系统的虚拟设备应用技术也应运而生。
通常情况下,采用堆叠系统不仅能减少设备的数量、提高设备资源利用率、降低能源消耗,更能从业务层面对业务模块进行安全隔离。
但是,当在堆叠系统中创建出虚拟设备后,需要对虚拟设备的各个MPU(MainProcessing Unit,主控处理单元)卡的角色进行集中式管理,否则容易导致虚拟设备出现“脑裂”现象,即各个MPU卡间出现管理混乱现象。
发明内容
有鉴于此,本发明实施例的目的在于提供一种虚拟设备管理方法、装置、堆叠系统及可读存储介质,以对虚拟设备的各个MPU卡的主备角色进行管理,实现集中式管理。
第一方面,本发明实施例提供了一种虚拟设备管理方法,应用于堆叠系统的主设备中,所述堆叠系统中创建有至少一个虚拟设备,所述方法包括:监听所述虚拟设备的多个虚拟MPU卡发起的连接请求并建立连接;等待预设时间后,遍历所述多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡。
结合第一方面的一种实施方式,所述方法还包括:检测到所述虚拟设备的虚拟MPU卡的连接断开时,清除该虚拟MPU卡的角色信息,并在判断该虚拟MPU卡是所述虚拟设备的主MPU卡时,根据所述预设选举规则在所述虚拟设备剩下的虚拟MPU卡中重新选择主虚拟MPU卡,并通知新选出的主虚拟MPU卡。
结合第一方面的一种实施方式,所述基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,包括:计算与每个虚拟MPU卡之间的物理距离;确定所述物理距离最小的所述虚拟MPU卡为所述虚拟设备的主虚拟MPU卡。
结合第一方面的一种实施方式,所述确定所述物理距离最小的所述虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,包括:在所述物理距离最小的所述虚拟MPU卡为多个时,从所述物理距离最小的多个所述虚拟MPU卡中,确定内存和CPU资源最大的虚拟MPU卡为所述主虚拟MPU卡。
结合第一方面的一种实施方式,在所述基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡之后,所述方法还包括:向所述主虚拟MPU卡发送主角色授权信息,向所述备虚拟MPU卡发送备角色授权信息;当检测到向所述主虚拟MPU卡发送主角色授权信息失败时,断开与该主虚拟MPU卡的通信连接,并清除该主虚拟MPU卡的所述主角色授权信息所包括的角色信息,重新触发选举操作;当检测到向所述备虚拟MPU卡发送备角色授权信息失败时,断开与该备虚拟MPU卡的通信连接,并清除该备虚拟MPU卡的所述备角色授权信息所包括的角色信息。
结合第一方面的一种实施方式,所述方法还包括:将所述虚拟设备的主虚拟MPU卡以及所述备虚拟MPU卡的角色信息备份到所述堆叠系统的其他成员设备中。
第二方面,本发明实施例提供了一种板卡虚拟设备管理装置,所述装置包括:建连模块以及选举模块。建连模块,用于监听同一虚拟设备的多个虚拟MPU卡发起的连接请求并建立连接;选举模块,用于等待预设时间后,遍历所述多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡虚拟MPU卡。
结合第二方面的一种实施方式,所述装置还包括检测模块,用于检测到所述虚拟设备的虚拟MPU卡的连接断开时,清除该虚拟MPU卡的角色信息,并在判断该虚拟MPU卡是所述虚拟设备的主MPU卡时,根据所述预设选举规则在所述虚拟设备剩下的虚拟MPU卡中重新选择主虚拟MPU卡,并通知新选出的主虚拟MPU卡。
结合第二方面的一种实施方式,所述选举模块,包括计算子模块,用于计算与每个虚拟MPU卡之间的物理距离;选择子模块,用于确定所述物理距离最小的所述虚拟MPU卡为所述主虚拟MPU卡。
结合第二方面的一种实施方式,所述选择子模块,还用于在所述物理距离最小的所述虚拟MPU卡为多个时,从所述物理距离最小的多个所述虚拟MPU卡中,确定内存和CPU资源最大的虚拟MPU卡为所述主虚拟MPU卡。
结合第二方面的一种实施方式,所述装置还可以包括发送模块以及清除模块,用于向所述主虚拟MPU卡发送主角色授权信息,向所述备虚拟MPU卡发送备角色授权信息;所述清除模块,用于当检测到向所述主虚拟MPU卡发送主角色授权信息失败时,断开与该主虚拟MPU卡的通信连接,并清除该主虚拟MPU卡的所述主角色授权信息所包括的角色信息,重新触发选举操作,还用于当检测到向所述备虚拟MPU卡发送备角色授权信息失败时,断开与该备虚拟MPU卡的通信连接,并清除该备虚拟MPU卡的所述备角色授权信息所包括的角色信息。
结合第二方面的一种实施方式,所述装置还包括备份模块,用于将所述虚拟设备的主虚拟MPU卡以及所述备虚拟MPU卡的角色信息备份到所述堆叠系统的其他成员设备中。
第三方面,本发明实施例提供了一种堆叠系统,所述堆叠系统内包括通信连接的主设备以及至少一个虚拟设备,所述虚拟设备包括多个相互通信连接的虚拟MPU卡,所述主设备,用于监听所述虚拟设备的所述多个虚拟MPU卡发起的连接请求并建立连接;所述主设备,还用于等待预设时间后,遍历所述多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡。
第四方面,本发明实施例提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面任一实施方式所述的虚拟设备管理方法。
与现有技术相比,本发明各实施例提出的虚拟设备管理方法、装置、堆叠系统及可读存储介质,其中,堆叠系统所包括的主设备在监听到堆叠系统中的同一虚拟设备的多个虚拟MPU卡发起连接请求时,可以建立连接。在等待预设时间后,主设备可以遍历多个虚拟MPU卡,基于预设规则从所述多个虚拟MPU卡中确定一个为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡,从而实现了对虚拟设备中的各个虚拟MPU卡的主备角色进行集中式管理,防止各个虚拟MPU卡之间竞争主虚拟MPU卡角色时产生的“脑裂”现象。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种应用环境的示意图;
图2为本发明实施例提供的另一种应用环境的示意图;
图3为本发明实施例提供的堆叠系统的结构框图;
图4为本发明第一实施例提供的一种虚拟设备管理方法的流程图;
图5为本发明第一实施例提供的另一种虚拟设备管理方法的流程图;
图6为本发明第二实施例提供的一种板卡虚拟设备管理装置的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
首先,对本发明所涉及到的术语进行简要介绍:
MPU:Main Processing Unit,主处理单元。
虚拟MPU:指在物理MPU中通过虚拟化技术实现的一种软件描述。
在本实施例的每个物理设备上,都至少设置有一个插入物理MPU卡的插槽,其中,每个物理MPU卡可以虚拟出多张虚拟MPU卡。当物理设备上插入的多个物理MPU卡均被虚拟出多张虚拟MPU卡时,可以按照预设的规则在所有的虚拟MPU卡内选出几个虚拟MPU卡构建成一个虚拟设备,在其余的虚拟MPU卡内选出同等个数的虚拟MPU卡构建成多个虚拟设备。
其中,每个物理MPU卡可以虚拟出的虚拟MPU卡的数量一致,且均按照固定的顺序进行编号(如:DVE0、DVE1、DVE2……),所述预设规则可以是将编号相同的虚拟MPU卡虚拟构建为一个虚拟设备,且将该编号赋予该虚拟设备,在所有的虚拟设备中,可以将编号最小的虚拟设备定义为宿主设备。
如图1所示,在本实施例中,可以在一台物理设备(DEVICE-0)内可以插入两个物理MPU卡(MPU-0和MPU-1)。在图1中由一台物理设备插入两个物理MPU卡所组成的单节点堆叠系统环境下,每个物理MPU卡虚中包括一个宿主MPU卡和三个虚拟MPU卡,其中,宿主MPU卡负责管理虚拟MPU卡(如创建虚拟MPU卡、删除虚拟MPU卡)。系统中两个物理MPU卡上的所有虚拟MPU卡被划分为三组,每一组构成一台虚拟设备。其中,0号虚拟设备也称为宿主设备,1~3设备称为虚拟设备,宿主设备负责分配和管理1~3号虚拟设备中各虚拟MPU卡的主备角色,其关系如表1所示:
表1
作为一种可选的实施方式,在本实施例中,虚拟设备的虚拟设备管理方法还可以在基于多台物理设备所组成堆叠系统环境下实施。
请参看图2,在本实施例中,可以在两台物理设备(DEVICE-0以及DEVICE-1)内分别可以插入两个物理MPU卡(MPU-0和MPU-1)。在图2中由两台物理设备所组成的堆叠系统环境下,每个物理MPU卡包括一个宿主MPU卡和三个虚拟MPU卡,其中,宿主MPU卡负责管理虚拟MPU卡(如创建虚拟MPU卡、删除虚拟MPU卡)。堆叠系统中四个物理MPU卡上的共虚拟出三个虚拟设备,每个虚拟设备包括4个虚拟MPU卡,每个虚拟设备的虚拟MPU卡位于两台堆叠成员设备的不同物理MPU卡上。其中,0号虚拟设备也称为宿主设备,1~3设备称为虚拟设备,宿主设备负责分配和管理1~3号虚拟设备中各虚拟MPU卡的主备角色,其关系如表2所示:
表2
在堆叠系统启动完成后,作为宿主设备的4张MPU板卡由系统在启动完成之后赋予主备角色,宿主设备的主MPU板卡管理着系统中所有虚拟设备的各MPU板卡信息及其主备角色状态,宿主设备的备MPU板卡则备份着这些管理信息,当宿主设备主MPU板卡发生切换时能及时地接管虚拟设备MPU板卡角色管理任务。宿主设备的主MPU板卡即承担着堆叠系统的主设备角色。
堆叠系统的主设备接收虚拟设备的多张虚拟MPU卡的注册请求,并赋予其主备角色。由于图1所示的堆叠系统中只存在一台物理设备,因此,该台物理设备也成为该堆叠系统的主设备;由于图2所示的堆叠系统中存在两台物理设备,因此,其中一台物理设备为堆叠系统的主设备。
当然,作为一种可选的实施方式,当宿主设备中的主MPU卡发生故障或者因为业务需求,需要进行更换主MPU卡时,系统可以在宿主设备的多个备MPU卡内重新确定一个MPU卡作为新的主MPU卡,新的主MPU卡负责接管前主MPU卡的角色管理任务,新的主MPU卡所在的物理设备被确定为新的主设备。
请参看图3,图3是本发明实施例提供的堆叠系统100的结构框图。堆叠系统100可以包括通信连接的主设备110以及虚拟设备120。所述虚拟设备120包括多个相互通信连接的虚拟MPU卡。主设备110内可以包括板卡虚拟设备管理装置,可以对虚拟设备120进行管理。
针对图1-图3中的每个虚拟设备,主设备可以在组成某个虚拟设备的多个虚拟MPU卡中选择其中一个虚拟MPU卡作为主MPU卡,将该虚拟设备中剩余的虚拟MPU卡确定为备MPU卡。
请参照图4,图4是本发明第一实施例提供的一种虚拟设备管理方法的流程图,所述方法应用于主设备。
主设备为图1-图3中所有的虚拟设备所包括的虚拟MPU卡分配主备角色,实现对虚拟设备MPU卡的角色进行集中式统一管理。下面将对图4所示的流程进行详细阐述,所述方法包括:
步骤S110:监听所述虚拟设备的多个虚拟MPU卡发起的连接请求并建立连接。
虚拟设备的虚拟MPU卡在启动时,可以向主设备发送包括自身信息的连接请求。主设备在监听到连接请求后,可以与连接请求对应的虚拟MPU卡建立连接。
可选的,主设备可以解析监听到的连接请求,然后将连接请求包括的虚拟MPU卡信息加入到保存在堆叠系统内存内的虚拟设备管理表内,以便对虚拟设备的虚拟MPU卡分配角色信息。
步骤S120:等待预设时间后,遍历所述多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡。
主设备在等待预设时间段后(例如等待3S),可以遍历属于同一个虚拟设备内的所有与主设备建立连接的多个虚拟MPU卡,然后从中确定出一个主虚拟MPU卡,确定其余虚拟MPU卡为备虚拟MPU卡。
针对某个虚拟设备,主设备基于预设选举规则从该虚拟设备所包括的多个虚拟MPU卡中确定一个虚拟MPU卡为该虚拟设备的主虚拟MPU卡可以包括:
作为一种可选的实施方式,主设备可以计算该虚拟设备中每个与主设备建立了通信连接的虚拟MPU卡的物理距离,如果存在一个物理距离最小的虚拟MPU卡,那么主设备确定该物理距离最小的虚拟MPU卡为该虚拟设备的主虚拟MPU卡。物理距离从小到大可以依次为:位于同一张物理MPU卡、位于同一台物理设备、位于不同物理设备等。
作为一种可选的实施方式,在上述虚拟设备中,若存在多个与主设备的物理距离最小且相同的虚拟MPU卡,此时,主设备可以从物理距离最小的多个虚拟MPU卡中,确定内存和CPU资源最大的虚拟MPU卡为该虚拟设备的主虚拟MPU卡。
作为一种可选的实施方式,主设备还可以在该虚拟设备的多个虚拟MPU中,选择虚拟MPU卡所在的物理设备的编号最小的一个虚拟MPU卡为该虚拟设备的主虚拟MPU卡。
主设备在确定了主虚拟MPU卡后,可以确定其余MPU卡为备虚拟MPU卡。
此外,作为一种可选的实施方式,请参看图5,所述方法还可以包括:
步骤S130:检测到所述虚拟设备的虚拟MPU卡的连接断开时,清除该虚拟MPU卡的角色信息,并在判断该虚拟MPU卡是所述虚拟设备的主MPU卡时,根据所述预设选举规则在所述虚拟设备剩下的虚拟MPU卡中重新选择主虚拟MPU卡,并通知新选出的主虚拟MPU卡。
虚拟设备中的虚拟MPU卡除了在启动时可以向主设备发送自己的板卡信息外,还可以在分配角色后,按照预设的消息发送频率向主设备发送表征连接状态的连接信息。因此,主设备可以基于接收到的消息发送频率对虚拟MPU卡的连接状态进行监测,从而判断虚拟MPU卡与主设备之间的连接是否存在故障。
例如主设备在获取到的某个虚拟MPU卡的消息发送频率为0次/S,而预设的消息发送频率为5次/秒,那么主设备可以判断该虚拟MPU卡与主设备之间的连接断开。
此时,主设备可以清除与该虚拟MPU卡对应的角色信息。可选的,若该虚拟MPU卡为某个虚拟设备的主虚拟MPU卡,主设备还可以根据所述预设选举规则在该虚拟设备剩下的虚拟MPU卡中重新选择主虚拟MPU卡,并通知新选出的主虚拟MPU卡。
可选的,主设备在确定了主虚拟MPU卡以及备虚拟MPU卡后,还可以向所述主虚拟MPU卡发送主角色授权信息,向所述备虚拟MPU卡发送备角色授权信息。
其中,所述主角色授权信息包括主虚拟MPU卡的配置参数,所述备角色授权信息包括备虚拟MPU卡的配置参数。
虚拟设备的各个虚拟MPU卡获取到自身的配置参数后,可以按照预设的消息发送频率,基于配置参数向主设备发起配置请求。主设备接收到配置请求后,对各个虚拟MPU卡进行配置。一旦主设备获取到的消息发送频率不是预设的消息发送频率时,则表征该虚拟MPU卡异常,即可认为主设备发送的主角色授权信息失败或者备角色授权信息失败。
作为一种实施方式,主设备在向主虚拟MPU卡发送主角色授权信息时,可能会检测到发送主角色授权信息失败。此时,主设备可以断开与该主虚拟MPU卡的通信连接,并清除该主虚拟MPU卡的所述主角色授权信息所包括的角色信息,重新触发选举操作。
作为一种实施方式,主设备在向主虚拟MPU卡发送主角色授权信息时,可能会检测到发送主角色授权信息失败。此时,主设备可以断开与该备虚拟MPU卡的通信连接,并清除该备虚拟MPU卡的所述备角色授权信息所包括的角色信息。
可选的,主设备在确定了某个虚拟设备的主虚拟MPU卡以及备虚拟MPU卡后,还可能会接收到该虚拟设备发起的主虚拟MPU卡切换请求。在收到请求后,主设备会将上一次设定的主虚拟MPU卡的角色信息清除,并将其降级为备虚拟MPU卡。然后主设备根据所述预设选举规则在该虚拟设备上一次设定的备虚拟MPU卡中重新选择出一个主虚拟MPU卡,并通知新选出的主虚拟MPU卡。
可选的,主设备在配置好虚拟设备的主虚拟MPU卡以及备MPU卡后,可以依次遍历虚拟设备各个虚拟MPU卡的角色订阅业务,并依次向每个角色订阅业务发送角色变更通知,如果通知发送失败,则更新该角色订阅业务的状态为异常。
其中,角色订阅业务为对虚拟设备的主备角色敏感的业务类型。
作为一种可选的实施方式,主设备还可以将所述虚拟设备的主虚拟MPU卡以及所述备虚拟MPU卡的角色信息备份到所述堆叠系统的其他成员设备中,便于将其他的成员设备切换为新的主设备时,新的主设备可以接管原主设备的管理工作。
本发明第一实施例提供一种虚拟设备管理方法,主设备在监听到堆叠系统中的虚拟设备的多个虚拟MPU卡发起连接请求时,可以建立连接。在等待预设时间后,主设备可以遍历多个虚拟MPU卡,基于预设规则从所述多个虚拟MPU卡中确定一个为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡,从而实现了对虚拟设备中的各个虚拟MPU卡的主备角色进行集中式管理,防止各个虚拟MPU卡之间竞争主虚拟MPU卡角色时产生的“脑裂”现象。
此外,请参照图6,本发明第二实施例提供了一种板卡虚拟设备管理装置400,该装置保存于堆叠系统所包括的主设备。
下面将对图6所示的结构框图进行阐述,所示装置包括:
建连模块410,用于监听同一虚拟设备的多个虚拟MPU卡发起的连接请求并建立连接;
选举模块420,用于等待预设时间后,遍历所述多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡虚拟MPU卡。
可选的,所述装置还可以包括检测模块,用于检测到所述虚拟设备的虚拟MPU卡的连接断开时,清除该虚拟MPU卡的角色信息,并在判断该虚拟MPU卡是所述虚拟设备的主MPU卡时,根据所述预设选举规则在所述虚拟设备剩下的虚拟MPU卡中重新选择主虚拟MPU卡,并通知新选出的主虚拟MPU卡。
可选的,所述选举模块420,可以包括:
计算子模块,用于计算与每个虚拟MPU卡之间的物理距离;
选择子模块,用于确定所述物理距离最小的所述虚拟MPU卡为所述主虚拟MPU卡。
可选的,所述选择子模块,还用于在所述物理距离最小的所述虚拟MPU卡为多个时,从所述物理距离最小的多个所述虚拟MPU卡中,确定内存和CPU资源最大的虚拟MPU卡为所述主虚拟MPU卡。
可选的,所述装置还可以包括:发送模块以及清除模块。
所述发送模块,用于向所述主虚拟MPU卡发送主角色授权信息,向所述备虚拟MPU卡发送备角色授权信息;
所述清除模块,用于当检测到向所述主虚拟MPU卡发送主角色授权信息失败时,断开与该主虚拟MPU卡的通信连接,并清除该主虚拟MPU卡的所述主角色授权信息所包括的角色信息,重新触发选举操作,还用于当检测到向所述备虚拟MPU卡发送备角色授权信息失败时,断开与该备虚拟MPU卡的通信连接,并清除该备虚拟MPU卡的所述备角色授权信息所包括的角色信息。
可选的,所述装置还包括备份模块,用于将所述虚拟设备的主虚拟MPU卡以及所述备虚拟MPU卡的角色信息备份到所述堆叠系统的其他成员设备中。
本实施例对板卡虚拟设备管理装置400的各功能模块实现各自功能的过程,请参见上述图1至图5所示实施例中描述的内容,此处不再赘述。
此外,对应于第一实施例中的虚拟设备管理方法,本申请实施例还提供了一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器读取并运行时,使得处理器执行第一实施例中任一实施方式所述的方法。
此外,对应于第一实施例中的虚拟设备管理方法,本申请实施例还提供了一种堆叠系统,所述堆叠系统内包括通信连接的主设备以及至少一个虚拟设备,所述虚拟设备包括多个相互通信连接的虚拟MPU卡。所述主设备,用于监听所述虚拟设备的所述多个虚拟MPU卡发起的连接请求并建立连接;所述主设备,还用于等待预设时间后,遍历所述多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡。
综上所述,本发明实施例提出的虚拟设备管理方法、装置、堆叠系统及可读存储介质,所述堆叠系统内包括通信连接的主设备以及至少一个虚拟设备,所述虚拟设备包括多个相互通信连接的虚拟MPU卡,主设备在监听到堆叠系统中的虚拟设备的多个虚拟MPU卡发起连接请求时,可以建立连接。在等待预设时间后,主设备可以遍历多个虚拟MPU卡,基于预设规则从所述多个虚拟MPU卡中确定一个为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种虚拟设备管理方法,其特征在于,应用于堆叠系统的主设备中,所述堆叠系统中创建有至少一个虚拟设备,所述方法包括:
监听所述虚拟设备的多个虚拟MPU卡发起的连接请求并建立连接;
等待预设时间后,遍历所述多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡;
检测到所述虚拟设备的虚拟MPU卡的连接断开时,清除该虚拟MPU卡的角色信息,并在判断该虚拟MPU卡是所述虚拟设备的主MPU卡时,根据所述预设选举规则在所述虚拟设备剩下的虚拟MPU卡中重新选择主虚拟MPU卡,并通知新选出的主虚拟MPU卡。
2.根据权利要求1所述的方法,其特征在于,所述基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,包括:
计算与每个虚拟MPU卡之间的物理距离;
确定所述物理距离最小的所述虚拟MPU卡为所述虚拟设备的主虚拟MPU卡。
3.根据权利要求2所述的方法,其特征在于,所述确定所述物理距离最小的所述虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,包括:
在所述物理距离最小的所述虚拟MPU卡为多个时,从所述物理距离最小的多个所述虚拟MPU卡中,确定内存和CPU资源最大的虚拟MPU卡为所述主虚拟MPU卡。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡之后,所述方法还包括:
向所述主虚拟MPU卡发送主角色授权信息,向所述备虚拟MPU卡发送备角色授权信息;
当检测到向所述主虚拟MPU卡发送主角色授权信息失败时,断开与该主虚拟MPU卡的通信连接,并清除该主虚拟MPU卡的所述主角色授权信息所包括的角色信息,重新触发选举操作;
当检测到向所述备虚拟MPU卡发送备角色授权信息失败时,断开与该备虚拟MPU卡的通信连接,并清除该备虚拟MPU卡的所述备角色授权信息所包括的角色信息。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
将所述虚拟设备的主虚拟MPU卡以及所述备虚拟MPU卡的角色信息备份到所述堆叠系统的其他成员设备中。
6.一种板卡虚拟设备管理装置,其特征在于,所述装置包括:
建连模块,用于监听同一虚拟设备的多个虚拟MPU卡发起的连接请求并建立连接;
选举模块,用于等待预设时间后,遍历所述多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡虚拟MPU卡;
检测模块,用于检测到所述虚拟设备的虚拟MPU卡的连接断开时,清除该虚拟MPU卡的角色信息,并在判断该虚拟MPU卡是所述虚拟设备的主MPU卡时,根据所述预设选举规则在所述虚拟设备剩下的虚拟MPU卡中重新选择主虚拟MPU卡,并通知新选出的主虚拟MPU卡。
7.一种堆叠系统,其特征在于,所述堆叠系统内包括通信连接的主设备以及至少一个虚拟设备,所述虚拟设备包括多个相互通信连接的虚拟MPU卡,
所述主设备,用于监听所述虚拟设备的多个虚拟MPU卡发起的连接请求并建立连接;
所述主设备,还用于等待预设时间后,遍历所述多个虚拟MPU卡,基于预设选举规则从所述多个虚拟MPU卡中确定一个虚拟MPU卡为所述虚拟设备的主虚拟MPU卡,确定其余虚拟MPU卡为所述虚拟设备的备虚拟MPU卡;
所述主设备,还用于检测到所述虚拟设备的虚拟MPU卡的连接断开时,清除该虚拟MPU卡的角色信息,并在判断该虚拟MPU卡是所述虚拟设备的主MPU卡时,根据所述预设选举规则在所述虚拟设备剩下的虚拟MPU卡中重新选择主虚拟MPU卡,并通知新选出的主虚拟MPU卡。
8.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-5中任意一项所述的虚拟设备管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810756085.4A CN108959170B (zh) | 2018-07-10 | 2018-07-10 | 虚拟设备管理方法、装置、堆叠系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810756085.4A CN108959170B (zh) | 2018-07-10 | 2018-07-10 | 虚拟设备管理方法、装置、堆叠系统及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108959170A CN108959170A (zh) | 2018-12-07 |
CN108959170B true CN108959170B (zh) | 2022-06-21 |
Family
ID=64483522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810756085.4A Active CN108959170B (zh) | 2018-07-10 | 2018-07-10 | 虚拟设备管理方法、装置、堆叠系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959170B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7756027B1 (en) * | 2007-06-13 | 2010-07-13 | Juniper Networks, Inc. | Automatic configuration of virtual network switches |
CN104113428B (zh) * | 2013-04-18 | 2018-04-06 | 杭州迪普科技股份有限公司 | 一种设备管理装置和方法 |
CN103607360B (zh) * | 2013-11-14 | 2017-05-24 | 福建星网锐捷网络有限公司 | 一种报文处理方法、线卡及交换设备 |
US9729679B2 (en) * | 2014-03-31 | 2017-08-08 | Nicira, Inc. | Using different TCP/IP stacks for different tenants on a multi-tenant host |
CN106301862A (zh) * | 2015-06-09 | 2017-01-04 | 中兴通讯股份有限公司 | 链路堆叠方法、装置及跨机框流量转发方法、装置 |
-
2018
- 2018-07-10 CN CN201810756085.4A patent/CN108959170B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108959170A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10609159B2 (en) | Providing higher workload resiliency in clustered systems based on health heuristics | |
US7225356B2 (en) | System for managing operational failure occurrences in processing devices | |
CN102932210B (zh) | 一种PaaS云平台的节点监控方法和系统 | |
US9208029B2 (en) | Computer system to switch logical group of virtual computers | |
CN108023967B (zh) | 一种数据平衡方法、装置及分布式存储系统中的管理设备 | |
CN110764963B (zh) | 一种服务异常处理方法、装置及设备 | |
CN106330475B (zh) | 一种通信系统中管理主备节点的方法和装置及高可用集群 | |
US10341168B2 (en) | Topology manager for failure detection in a distributed computing system | |
CN112333249B (zh) | 一种业务服务系统及方法 | |
CN103560922A (zh) | 一种容灾方法及系统 | |
CN109921942B (zh) | 云平台切换控制方法、装置、系统及电子设备 | |
US20160344582A1 (en) | Call home cluster | |
US20090217081A1 (en) | System for providing an alternative communication path in a SAS cluster | |
US11397632B2 (en) | Safely recovering workloads within a finite timeframe from unhealthy cluster nodes | |
CN112217847A (zh) | 微服务平台及其实现方法、电子设备及存储介质 | |
CN110569124A (zh) | 一种任务分配方法和装置 | |
CN101262479B (zh) | 一种网络文件共享的方法、服务器和网络文件共享的系统 | |
CN114553900B (zh) | 一种分布式块存储管理系统、方法及电子设备 | |
US20050234919A1 (en) | Cluster system and an error recovery method thereof | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
CN115145782A (zh) | 一种服务器切换方法,MooseFS系统及存储介质 | |
CN108959170B (zh) | 虚拟设备管理方法、装置、堆叠系统及可读存储介质 | |
CN113254245A (zh) | 一种存储集群的故障检测方法和系统 | |
CN110839068B (zh) | 业务请求处理方法、装置、电子设备及可读存储介质 | |
CN109462639B (zh) | 端口扩展设备管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |