CN107423113A - 一种管理虚拟设备的方法、带外管理设备及备用虚拟设备 - Google Patents

一种管理虚拟设备的方法、带外管理设备及备用虚拟设备 Download PDF

Info

Publication number
CN107423113A
CN107423113A CN201710527563.XA CN201710527563A CN107423113A CN 107423113 A CN107423113 A CN 107423113A CN 201710527563 A CN201710527563 A CN 201710527563A CN 107423113 A CN107423113 A CN 107423113A
Authority
CN
China
Prior art keywords
virtual unit
standby
user account
outband management
management equipment
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.)
Granted
Application number
CN201710527563.XA
Other languages
English (en)
Other versions
CN107423113B (zh
Inventor
张超
陈焱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710527563.XA priority Critical patent/CN107423113B/zh
Publication of CN107423113A publication Critical patent/CN107423113A/zh
Application granted granted Critical
Publication of CN107423113B publication Critical patent/CN107423113B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种管理虚拟设备的方法、带外管理设备及备用虚拟设备,涉及计算机设备技术领域,能够解决因部署自定义软件而造成的增加带外管理设备的处理负担,降低带外管理设备的处理效率的问题。本发明实施例的方法包括:若备用虚拟设备未检测到主用虚拟设备发送的心跳报文,则备用虚拟设备根据配置的用户账号建立与带外管理设备之间的连接,并向带外管理设备发送命令;带外管理设备接收备用虚拟设备发送的命令,并根据用户账号,在映射表中查找与用户账号对应的主用虚拟设备,之后根据命令调整与用户账号对应的主用虚拟设备的运行状态。本发明实施例适用于虚拟设备管理。

Description

一种管理虚拟设备的方法、带外管理设备及备用虚拟设备
技术领域
本申请涉及计算机设备技术领域,尤其涉及一种管理虚拟设备的方法、带外管理设备及备用虚拟设备。
背景技术
为了满足计算机设备高可靠性的需求,可以通过为计算机设备配置带外管理设备,并通过业务之外的系统对计算机设备进行监控,从而实现对计算机设备的管理,例如,采用智能平台管理接口(Intelligent Platform Management Interface,IPMI)对计算机设备进行集群管理。随着计算机设备技术的发展,虚拟化技术逐步成了满足计算机设备高可靠性需求所不可或缺的功能,比如,通过硬分区、逻辑分区等方式,在一台计算机设备上虚拟化出多台虚拟设备,以满足对计算机设备高可靠性的需求。
然而,IPMI协议在制定时,并未考虑到虚拟设备的场景,因此,由于带外管理设备在接收到IPMI命令后无法从IPMI命令中获取需要被调整运行状态的虚拟设备的信息,即带外管理设备无法确定需要被调整运行状态的虚拟设备,目前无法采用IPMI协议实现虚拟设备的管理。为了实现虚拟设备的管理,可以通过修改传统IPMI协议中定义的栅栏标准软件(例如fence ipmilan),即通过自定义的fence软件实现虚拟设备的管理。如图1所示,计算机设备1上设置有虚拟设备1、虚拟设备2和虚拟设备3,计算机设备2上也设置有虚拟设备1、虚拟设备2和虚拟设备3。其中,位于计算机设备1上的虚拟设备作为主用机,位于计算机设备2上的虚拟设备作为备用机。比如,位于计算机设备1上的虚拟设备3作为主用机,而位于计算机设备2上的虚拟设备1作为该主用机的备用机。在该主用机产生故障后,备用机的操作系统(Operating System,OS)运行的栅栏代理(fence agent)检测到主用机心跳超时,该备用机的fence agent通过自定义fence软件向计算机设备1的带外管理设备发送自定义协议消息。与IPMI命令不同的是,在自定义协议消息中可以增加用于区分虚拟设备的字段,以告知计算机设备1的带外管理设备产生故障的虚拟设备为位于计算机设备1上的虚拟设备3,之后计算机设备1的带外管理设备控制作为主用机的虚拟设备3下电或是重启。
虽然采用自定义协议可以实现虚拟设备的管理,但标准的OS只配有标准的fenceipmilan,因此,若为了便于带外管理设备有效识别产生故障的虚拟设备而部署自定义fence软件,不仅需要确保带外管理设备额外兼容自定义协议,还需要耗费带外管理设备的大量资源来处理自定义协议消息。由此可见,若要实现上述虚拟设备的管理,势必会增加带外管理设备的处理负担,降低带外管理设备的处理效率。
发明内容
本申请实施例提供一种管理虚拟设备的方法、带外管理设备及备用虚拟设备,能够解决因部署自定义软件而造成的增加带外管理设备的处理负担,降低带外管理设备的处理效率的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本发明实施例提供一种管理虚拟设备的方法。该方法应用于第一计算机设备,其中,第一计算机设备包括主用虚拟设备和带外管理设备。该方法包括:
在带外管理设备与备用虚拟设备通过用户账号建立连接后,带外管理设备接收备用虚拟设备发送的命令,并根据用户账号,在映射表中查找与用户账号对应的主用虚拟设备,之后根据命令调整与用户账号对应的主用虚拟设备的运行状态。其中,映射表用于存储虚拟设备与用户账号之间的对应关系。相比较于现有技术中采用自定义协议实现虚拟设备的管理,本发明实施例在带外管理设备接收到命令后,则表示备用虚拟设备未检测到主用虚拟设备发送的心跳报文。此时,带外管理设备能够根据备用虚拟设备建立连接所使用的用户账号以及映射表,查找到与该用户账号对应的主用虚拟设备。这样一来,该带外管理设备就可以从众多虚拟设备中确定当前需要管控的主用虚拟设备,即该备用虚拟设备对应的主用虚拟设备。之后,该带外管理设备调整该主用虚拟设备的运行状态,比如,带外管理设备将主用虚拟设备的运行状态调整为下电,这样在备用虚拟设备替代主用虚拟设备执行业务时,该主用虚拟设备就不会继续处于工作状态,即实现了主备切换,从而确保公共I/O不产生冲突。并且,上述实现方案可以采用已有的IPMI标准协议完成相应的命令传输,也就意味着无需部署自定义软件,因此,解决了因部署自定义软件而造成的增加带外管理设备的处理负担,降低带外管理设备的处理效率的问题。
在一种可能的设计中,带外管理设备与备用虚拟设备通过用户账号建立连接包括:带外管理设备获取备用虚拟设备登陆时输入的用户账号,并建立与备用虚拟设备之间的连接。由此可见,在本发明实施例中,可以通过登陆的方式建立带外管理设备与备用虚拟设备之间的连接。在本发明实施例中,由于位于同一计算机设备中的不同虚拟设备在登陆时所使用的用户账号不同,因此,在连接建立后,带外管理设备可以依据用户账号对不同虚拟设备进行区分,从而实现后续管理虚拟设备的操作。
在一种可能的设计中,上述命令可以包括智能平台管理接口IPMI命令。考虑到标准的OS只配有标准的fence ipmilan,因此,为了降低研发成本和后期维护的成本,在本发明实施例中,采用IPMI协议后,备用虚拟设备通过向带外管理设备发送IPMI命令的方式将管理操作传递给带外管理设备。这样就无需部署自定义软件,从而有效解决因部署自定义软件而造成的增加带外管理设备的处理负担,降低带外管理设备的处理效率的问题,即无需研发额外的fence软件,在使用传统IPMI协议的情况下,借助带外管理设备生成的映射表,根据备用虚拟设备登陆带外管理设备时使用的用户账号,从该映射表中查找到需要调整运行状态的主用虚拟设备,即识别产生故障的主用虚拟设备,从而突破采用传统IPMI无法有效实现虚拟设备管理的瓶颈。
第二方面,本发明实施例提供一种管理虚拟设备的方法。该方法应用于第二计算机设备,其中,第二计算机设备包括备用虚拟设备。该方法包括:若备用虚拟设备未检测到主用虚拟设备发送的心跳报文,则备用虚拟设备根据配置的用户账号建立与带外管理设备之间的连接,并向带外管理设备发送命令。其中,带外管理设备所在第一计算机设备包括主用虚拟设备,命令用于指示带外管理设备调整与用户账号对应的主用虚拟设备的运行状态。相比较于现有技术中采用自定义协议实现虚拟设备的管理,本发明实施例在该带外管理设备接收到命令后,就能够根据备用虚拟设备建立连接所使用的用户账号以及映射表,查找到与该用户账号对应的主用虚拟设备。也就意味着,该带外管理设备就可以从众多虚拟设备中确定当前需要管控的主用虚拟设备,即该备用虚拟设备对应的主用虚拟设备。之后,该带外管理设备调整该主用虚拟设备的运行状态,比如,带外管理设备将主用虚拟设备的运行状态调整为下电,这样在备用虚拟设备替代主用虚拟设备执行业务时,该主用虚拟设备就不会继续处于工作状态,即实现了主备切换,从而确保公共I/O不产生冲突。并且,上述实现方案可以采用已有的IPMI标准协议完成相应的命令传输,也就意味着无需部署自定义软件,因此,解决了因部署自定义软件而造成的增加带外管理设备的处理负担,降低带外管理设备的处理效率的问题。
在一种可能的设计中,备用虚拟设备根据配置的用户账号建立与带外管理设备之间的连接包括:备用虚拟设备通过输入用户账号登陆带外管理设备,并建立与带外管理设备之间的连接。由此可见,在本发明实施例中,可以通过登陆的方式建立带外管理设备与备用虚拟设备之间的连接。在本发明实施例中,由于位于同一计算机设备中的不同虚拟设备在登陆时所使用的用户账号不同,因此,在连接建立后,带外管理设备可以依据用户账号对不同虚拟设备进行区分,从而实现后续管理虚拟设备的操作。
在一种可能的设计中,上述命令可以包括智能平台管理接口IPMI命令。考虑到标准的OS只配有标准的fence ipmilan,因此,为了降低研发成本和后期维护的成本,在本发明实施例中,采用IPMI协议后,备用虚拟设备通过向带外管理设备发送IPMI命令的方式将管理操作传递给带外管理设备。这样就无需部署自定义软件,从而有效解决因部署自定义软件而造成的增加带外管理设备的处理负担,降低带外管理设备的处理效率的问题,即无需研发额外的fence软件,在使用传统IPMI协议的情况下,借助带外管理设备生成的映射表,根据备用虚拟设备登陆带外管理设备时使用的用户账号,从该映射表中查找到需要调整运行状态的主用虚拟设备,即识别产生故障的主用虚拟设备,从而突破采用传统IPMI无法有效实现虚拟设备管理的瓶颈。
附图说明
图1为本发明实施例提供的一种通信网络系统的结构示意图;
图2为本发明实施例提供的一种管理虚拟设备的方法交互图;
图3、图4为本发明实施例提供的另一种管理虚拟设备的方法交互图;
图5为本发明实施例提供的一种带外管理设备的结构示意图;
图6为本发明实施例提供的一种备用虚拟设备的结构示意图;
图7为本发明实施例提供的一种第二计算机设备的结构示意图。
具体实施方式
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本发明实施例可以用于一种通信网络系统,在该通信网络系统中包括至少两个计算机设备,比如,图1所示的计算机设备1和计算机设备2。以图1为例,在计算机设备1和计算机设备2中分别创建虚拟设备1、虚拟设备2和虚拟设备3。在每个虚拟设备中,设置有栅栏代理(fence agent),其中,fence agent为高可用集群中的为实现栅栏功能所需要的软件。在现有技术中,fence agent用于监控运行该fence agent的计算机设备的运行状态,并对产生故障的计算机设备进行fence动作,以确保公共输入/输出(Input/Output,I/O)不产生冲突。而在本发明实施例中,fence agent用于监控运行该fence agent的虚拟设备的运行状态,并对产生故障的虚拟设备进行fence动作,比如,使产生故障的虚拟设备下电,以确保公共I/O不产生冲突。另外,栅栏标准软件(例如fence ipmilan)作为fence agent中设置的模块,用于发送fence agent执行fence动作所需要发送的命令。需要说明的是,在本发明实施例中,备用虚拟设备、主用虚拟设备可以被视为通过硬分区、逻辑分区等方式,在一台计算机设备上虚拟化出的虚拟设备,比如,虚拟机(Virtual Machine,VM)。
在本发明实施例中,fence agent与fence ipmilan可以通过软件代码实现。以图1所示为例,在完成计算机设备1与计算机设备2上各个虚拟设备的创建过程之后,用户可以定义位于计算机设备1上的虚拟设备为主用虚拟设备,同时定义位于计算机设备2上的虚拟设备为备用虚拟设备,以实现主用虚拟设备与备用虚拟设备之间的双机热备。比如,位于计算机设备2中的虚拟设备1为位于计算机设备1的虚拟设备3的备用虚拟设备,位于计算机设备2中的虚拟设备2为位于计算机设备1的虚拟设备2的备用虚拟设备,计算机设备2中的虚拟设备3为位于计算机设备1的虚拟设备1的备用虚拟设备。备用虚拟设备可以通过监控主用虚拟设备的心跳报文来掌握主用虚拟设备与备用虚拟设备之间的通信情况,在备用虚拟设备接收不到主用虚拟设备发送的心跳报文后,该备用虚拟设备则认为该主用虚拟设备产生故障。也就意味着,备用虚拟设备可以借助心跳报文的接收情况,来确定是否需要调整主用虚拟设备的运行状态。其中,虚拟设备的运行状态可以包括上电、下电、正常运行、产生故障等多种状态,在此不一一例举。若虚拟设备产生故障,则备用虚拟设备会检测到主用虚拟设备产生异常,比如,备用虚拟设备在预设时间内未接收到主用虚拟设备发送的心跳报文,则该备用虚拟设备调用fence ipmilan将需要执行的fence动作转化为ipmilan协议报文,即IPMI命令,并向主用虚拟设备所在计算机设备1的带外管理设备发送该IPMI命令,从而控制fence动作生效。
在图1中,仅示出一种可能的部署方式,即主用虚拟设备与备用虚拟设备分设于不同的计算机设备中,且主用虚拟设备与备用虚拟设备之间存在一一对应的关系,也就是高可用性(high available,HA)解决方案所提供的双机热备形式。在实际虚拟设备的管理过程中,主用虚拟设备与备用虚拟设备的设置位置不做过多限定,例如,主用虚拟设备与备用虚拟设备可以设置于同一集群的不同计算机设备或者可以设置于不同集群的计算机设备。需要说明的是,ipmilan是IPMI标准协议声明的一种通信方式,使用远程管理控制协议(Remote Management Control Protocol,RMCP)/RMCP+对传输数据进行加密/鉴权,保证在网络上传输的IPMI报文的完整与安全性。其中,ipmilan用于IPMI协议在局域网(LocalArea Network,LAN)上可以实现传输。另外,IPMI多是通过专用物理链路进行传输的。
本发明实施例提供一种管理虚拟设备的方法,如图2所示,该方案可以由如图1所示的两个计算机设备中的各个设备共同完成,该方法包括:
步骤101、若备用虚拟设备未检测到主用虚拟设备发送的心跳报文,则备用虚拟设备根据配置的用户账号建立与带外管理设备之间的连接。
备用虚拟设备可以通过心跳报文检测的方式,来确定主用虚拟设备是否产生故障。在本发明实施例中,一旦备用虚拟设备在预设时间内未检测到主用虚拟设备发送的心跳报文,则可以认为主用虚拟设备产生故障,为了保证业务的正常执行,需要备用虚拟设备代替主用虚拟设备执行相应的业务。与此同时,为了避免公共I/O冲突的发生,还需要通知主用虚拟设备所在计算机设备的带外管理设备调整主用虚拟设备的运行状态,比如,带外管理设备将主用虚拟设备下电或是重启等。其中,预设时间可以是两个相邻的心跳报文之间的时间间隔,或是大于两个相邻的心跳报文之间的时间间隔的参数等。需要说明的是,除了上述检测单次是否接收到心跳报文的方式以外,对于相邻心跳报文间隔较短的情况而言,还可以在确定连续一段时间内未接收到心跳报文时,再由备用虚拟设备发起整个流程。
用户账号用于建立虚拟设备与带外管理设备之间的连接,对于用户而言,每个用户可以设置多个用户账号,而每个用户账号仅用于管理一个虚拟设备。由此可见,虚拟设备与用户账号之间存在一一对应关系,也正是因为如此,带外管理设备可以结合建立连接的用户账号,确定需要管控的主用虚拟设备,具体实施方式会在后文提出,在此不赘述。需要说明的是,用户账号主要供带外管理设备区分不同虚拟设备,比如,根据备用虚拟设备登陆时的用户账号,确定产生故障的主用虚拟设备。在本发明实施例中,用户账号可以是备用虚拟设备发送命令之前,登陆主用虚拟设备所在计算机设备的带外管理设备的登陆名、密码等具有标识性的参数。上述用户账号可以由用户借助带外管理设备进行配置,具体配置方式会在后文提出,在此不赘述。需要说明的是,虽然在为虚拟设备进行相应配置时,还不确定互为主备虚拟设备的至少两个虚拟设备中哪个作为主用虚拟设备,以及哪个或是哪些作为备用虚拟设备,但为了确保在确定主用虚拟设备及备用虚拟设备后,每个备用虚拟设备均能实现命令的发送,因此,在配置过程中,每个虚拟设备都需要完成用户账号的配置。
步骤102、备用虚拟设备向带外管理设备发送命令。
这里的带外管理设备,指的是主用虚拟设备所在计算机设备的带外管理设备,比如,图1中计算机设备1的带外管理设备。
上述命令用于指示带外管理设备调整与所述用户账号对应的主用虚拟设备的运行状态,在本发明实施例中,上述命令可以为IPMI命令,需要说明的是,在本发明实施例中提到的IPMI命令与传统的计算机设备集群管理方式中涉及的IPMI命令相似,关于IPMI命令的格式、发送条件等可以参考现有技术中管理计算机设备所涉及的IPMI命令的格式、发送条件等,在此不赘述。另外,命令的具体发送过程,会在后文提出,在此不赘述。
步骤103、带外管理设备接收备用虚拟设备发送的命令。
需要说明的是,备用虚拟设备向带外管理设备发送命令,以及带外管理设备接收备用虚拟设备发送的命令的实现方式与现有技术类似,均是借助备用虚拟设备的fence软件来实现,在此不赘述。
步骤104、带外管理设备根据用户账号,在映射表中查找与用户账号对应的主用虚拟设备。
其中,映射表用于存储虚拟设备与用户账号之间的对应关系。
需要说明的是,在每个计算机设备的带外管理设备中均设置有映射表,映射表可以存储在带外管理设备内或是其他可以供带外管理设备访问的存储区域中。对于单个计算机设备而言,设置于该计算机设备的带外管理设备内的映射表,或是供该计算机设备的带外管理设备访问的映射表,所存储的对应关系中的虚拟设备为部署在该计算机设备上的虚拟设备。带外管理设备在确定用户账号后,可以从映射表中查找与该用户账号对应的主用虚拟设备,并对该主用虚拟设备进行管理。
以IPMI命令为例,在发送IPMI命令的过程中,备用虚拟设备可以先使用配置好的用户账号进行登陆。这样一来,在主用虚拟设备所在计算机设备的带外管理设备接收到IPMI命令后,就能依据备用虚拟设备登陆时使用的用户账号对需要管控的虚拟设备进行区分。需要说明的是,通过发送IPMI命令实现虚拟设备管理的过程会在后文提出,在此不赘述。
步骤105、带外管理设备根据命令调整与用户账号对应的主用虚拟设备的运行状态。
由于备用虚拟设备认为主用虚拟设备产生故障,而备用虚拟设备为了保证业务的正常执行,则需要代替主用虚拟设备实现相应功能,因此,为了确保备用虚拟设备在运行过程中不会出现公共I/O冲突的问题,在本发明实施例中,在备用虚拟设备替代主用虚拟设备执行业务时,将与用户账号对应的主用虚拟设备的运行状态调整为下电或是重启等不会干扰到备用虚拟设备工作的状态,这样,备用虚拟设备与主用虚拟设备中仅存在一个用于执行业务的虚拟设备,即实现了主备切换。比如,对于HA解决方案而言,可以直接将主用虚拟设备下电,以确保备用虚拟设备的正常工作。
需要说明的是,对于重启的情况,在主用虚拟设备能够正常工作后,备用虚拟设备的运行状态也会被该备用虚拟设备所在计算机设备的带外管理设备调整,具体调整方式、时机可以参考现有技术中主备切换的实现过程,在此不赘述。
相比较于现有技术中采用自定义协议实现虚拟设备的管理,在本发明实施例中,若备用虚拟设备未检测到主用虚拟设备发送的心跳报文,则备用虚拟设备会使用预配置的用户账号与主用虚拟设备所在计算机设备的带外管理设备建立连接,并向该带外管理设备发送命令,以确保该带外管理设备查找到与该用户账号对应的主用虚拟设备。这样,该带外管理设备就可以从众多虚拟设备中确定当前需要管控的主用虚拟设备,即该备用虚拟设备对应的主用虚拟设备。之后,该带外管理设备调整该主用虚拟设备的运行状态,比如,带外管理设备将主用虚拟设备的运行状态调整为下电,这样在备用虚拟设备替代主用虚拟设备执行业务时,该主用虚拟设备就不会继续处于工作状态,即实现了主备切换,从而确保公共I/O不产生冲突。并且,上述实现方案可以采用已有的IPMI标准协议完成相应的命令传输,也就意味着无需部署自定义软件,因此,解决了因部署自定义软件而造成的增加带外管理设备的处理负担,降低带外管理设备的处理效率的问题。
以命令为IPMI命令为例,在本发明实施例中,提供一种备用虚拟设备发送IPMI命令的触发流程,因此,在如图2所示的实现方式的基础上,还可以实现为如图3所示的实现方式。其中,步骤101若备用虚拟设备未检测到主用虚拟设备发送的心跳报文,则备用虚拟设备根据配置的用户账号建立与带外管理设备之间的连接,可以实现为步骤201至步骤203:
步骤201、若备用虚拟设备未检测到主用虚拟设备发送的心跳报文,则备用虚拟设备通过输入用户账号登陆带外管理设备。
步骤202、带外管理设备获取备用虚拟设备登陆时输入的用户账号。
步骤203、备用虚拟设备与带外管理设备之间建立连接。
以IPMI命令为例,在备用虚拟设备登陆带外管理设备之前,备用虚拟设备运行OS,并通过备用虚拟设备的fence agent启动fence ipmilan。之后若备用虚拟设备未检测到主用虚拟设备发送的心跳报文,则备用虚拟设备使用fence ipmilan中配置的用户账号登陆主用虚拟设备所在计算机设备的带外管理设备,并向fence ipmilan中配置的IP地址发送IPMI命令。
由此可见,在配置IPMI集群管理软件时,即为备用虚拟设备配置fence ipmilan时,以互联网协议(Internet Protocol,IP)地址作为物理设备区分标识,即计算机设备的区分标识。需要说明的是,虽然上述IP地址为带外管理设备的IP地址,但由于一个计算机设备上仅存在一个带外管理设备,而位于不同计算机设备上的带外管理设备之间的IP地址不同,因此,上述IP地址也可以作为计算机设备的区分标识。同时,以用户账号作为虚拟设备区分标识,能够在已确定的计算机设备中准确定位被控虚拟设备,即本发明实施例中所指的产生故障的主用虚拟设备。
由此可见,在本发明实施例中,可以通过登陆的方式建立带外管理设备与备用虚拟设备之间的连接。由于位于同一计算机设备中的不同虚拟设备在登陆时所使用的用户账号不同,因此,在连接建立后,带外管理设备可以依据用户账号对不同虚拟设备进行区分,从而实现后续管理虚拟设备的操作。
为了方便对各个虚拟设备进行管理,在本发明实施例的一种可能的实现方式中,在进行虚拟设备的创建过程中,带外管理设备可以自动配置虚拟设备与用户账号之间的对应关系,并生成映射表,以便于后续对虚拟设备的管理。因此,在如图2、图3所示的实现方式的基础上,以图2为例,还可以实现为如图4所示的实现方式。其中,在执行步骤101若备用虚拟设备未检测到主用虚拟设备发送的心跳报文,则备用虚拟设备根据配置的用户账号建立与带外管理设备之间的连接之前,还可以执行步骤301和步骤302:
步骤301、在计算机设备上创建虚拟设备后,带外管理设备设置与虚拟设备对应的用户账号。
步骤302、带外管理设备建立用户账号与虚拟设备之间的对应关系,并生成映射表。
在计算机设备上完成虚拟设备的创建后,带外管理设备可以依据业务需求等完成映射表的建立过程。比如,由用户通过带外管理设备为不同的虚拟设备分别设置不同的用户账号,之后将虚拟设备与用户账号之间的对应关系存储至映射表中,供带外管理设备管理虚拟设备时使用。
以图1的计算机设备1为例,在计算机设备1上创建虚拟设备1至3后,带外管理设备为每个虚拟设备配置用户账号。在本发明实施例中,设置虚拟设备管理用户的用户名前缀为“用户”,之后参照虚拟设备的身份标识(IDentity,ID),生成每个虚拟设备对应的虚拟设备管理用户。其中,虚拟设备1的ID为1,虚拟设备2的ID为2,虚拟设备3的ID为3,因此,用于管理虚拟设备1的虚拟设备管理用户为“用户1”,用于管理虚拟设备2的虚拟设备管理用户为“用户2”,用于管理虚拟设备3的虚拟设备管理用户为“用户3”。之后,建立用户1与虚拟设备1之间的绑定关系、用户2与虚拟设备2之间的绑定关系,以及用户3与虚拟设备3之间的绑定关系。同理,在计算机设备2上创建虚拟设备1至3后,带外管理设备为每个虚拟设备配置用户账号,并生成映射表。
需要说明的是,由于在创建虚拟设备时,很可能不确定哪些虚拟设备为主用虚拟设备,哪些虚拟设备为备用虚拟设备,因此,在创建虚拟设备之后,不仅需要对虚拟设备进行部署、完成OS安装,还需要确定主用虚拟设备,以及与该主用虚拟设备构成主备关系的备用虚拟设备。在本发明实施例中,在OS安装完成后,还需要为各个虚拟设备配置fenceipmilan。
在本发明实施例中,在计算机设备上创建虚拟设备后,带外管理设备设置与虚拟设备对应的用户账号,并建立用户账号与虚拟设备之间的对应关系,以生成映射表。在生成映射表后,带外管理设备可以维护该映射表,监管映射表的更新、修改等操作,后续还可以依据映射表中记载的内容实现虚拟设备的管理。由此可见,在创建映射表后,降低了集群管理配置的难度,即无需研发额外的fence软件,仅使用传统IPMI协议就能够有效识别产生故障的主用虚拟设备,从而突破采用传统IPMI无法有效实现虚拟设备管理的瓶颈。
在配置过程中,针对备用虚拟设备进行fence ipmilan配置时,还需要将备用虚拟设备对应的用户账号配置成与主用虚拟设备对应的用户账号相同的内容,这样在主用虚拟设备所在计算机设备的带外管理设备接收到IPMI命令后,就能识别出是哪个主用虚拟设备产生故障。因此,在建立备用虚拟设备与带外管理设备(这里指主用虚拟设备所在计算机设备的带外管理设备)之间的连接之前,在计算机设备上创建虚拟设备后,带外管理设备设置与虚拟设备对应的用户账号。其中,虚拟设备对应的用户账号与虚拟设备对应的主用虚拟设备的用户账号相同。
以图1为例,可以定义计算机设备1的OS1与计算机设备2的OS3形成双机热备、定义计算机设备1的OS2与计算机设备2的OS2形成双机热备、定义计算机设备1的OS3与计算机设备2的OS1形成双机热备。因此,无论是为计算机设备1的虚拟设备配置fence ipmilan,还是为计算机设备2的虚拟设备配置fence ipmilan时,都需要依据主备关系完成用户账号的配置,比如,为不同的虚拟设备配置不同的用户账号。其中,主备关系指的是两个虚拟设备互为备份的关系。需要说明的是,虽然不同的虚拟设备被配置的用户账号不同,但虚拟设备被配置的用户账号需要与该虚拟设备对应的具备主备关系的虚拟设备被配置的用户账号相同,这样在带外管理设备接收到命令后,才能结合已有的映射表确定产生故障的主用虚拟设备。
在带外管理设备设置与虚拟设备对应的用户账号之后,用户可以通过带外管理设备在虚拟设备的fence ipmilan中配置该带外管理设备的IP地址。
在完成IP地址的配置后,备用虚拟设备就可以在确定主用虚拟设备产生故障后,通过fence ipmilan向该主用虚拟设备所在计算机设备的带外管理设备发送命令,即向该IP地址对应的带外管理设备发送该命令。
在本发明实施例中,在进行配置的过程中,还需要为每个虚拟设备配置与具备主备关系的虚拟设备相同的用户账号,并且,还需要为虚拟设备的fence ipmilan配置具备主备关系的虚拟设备所在计算机设备的带外管理设备的IP地址。这样,针对备用虚拟设备而言,在备用虚拟设备检测到主用虚拟设备产生故障后,不仅能够确保将命令按照IP地址发送到指定位置,还能够确保主用虚拟设备所在计算机设备的带外管理设备接收到该命令后,确定备用虚拟设备登陆时的用户账号,由于该用户账号与映射表中主用虚拟设备的用户账号相同,因此,可以直接通过映射表锁定产生故障的主用虚拟设备,并实现后续对主用虚拟设备运行状态的调整。
本发明实施例提供一种带外管理设备。第一计算机设备包括主用虚拟设备和该带外管理设备,第二计算机设备包括备用虚拟设备。该带外管理设备包括执行上述方法实施例提供的管理虚拟设备的方法的功能模块。本发明实施例对该带外管理设备中的功能模块的划分不做限定,可以按照方法的流程步骤对应划分功能模块,也可以按照具体实现需要划分功能模块。
举例提供与管理虚拟设备的方法对应的功能模块,参见图5,该带外管理设备50包括:
通信模块51,用于在带外管理设备与备用虚拟设备通过用户账号建立连接后,接收备用虚拟设备发送的命令。其中,命令包括IPMI命令。
处理模块52,用于根据用户账号,在映射表中查找与用户账号对应的主用虚拟设备。其中,映射表用于存储虚拟设备与用户账号之间的对应关系。
处理模块52,还用于根据命令调整与用户账号对应的主用虚拟设备的运行状态。
举例提供与管理虚拟设备的方法对应的功能模块,通信模块51,还用于获取备用虚拟设备登陆时输入的用户账号。
处理模块52,还用于建立与备用虚拟设备之间的连接。
本发明实施例一种计算机可读存储介质,计算机可读存储介质中存储有指令。当第一计算机设备中的带外管理设备执行该指令时,该带外管理设备执行上述方法实施例提供的管理虚拟设备的方法。
本发明实施例一种计算机程序产品,该计算机程序产品包括指令,该指令存储在计算机可读存储介质中。当第一计算机设备中的带外管理设备执行该指令时,该带外管理设备执行上述方法实施例提供的管理虚拟设备的方法。
本发明实施例提供一种带外管理设备,该带外管理设备可以实现为基板管理控制器(Baseboard Management Controller,BMC),或者该带外管理设备利用采用专用芯片实现。
本发明实施例提供一种备用虚拟设备。第一计算机设备包括主用虚拟设备和带外管理设备,第二计算机设备包括该备用虚拟设备。该备用虚拟设备包括执行上述方法实施例提供的管理虚拟设备的方法的功能模块。本发明实施例对该备用虚拟设备中的功能模块的划分不做限定,可以按照方法的流程步骤对应划分功能模块,也可以按照具体实现需要划分功能模块。
举例提供与管理虚拟设备的方法对应的功能模块,参见图6,该备用虚拟设备60包括:
处理模块61,用于若备用虚拟设备未检测到主用虚拟设备发送的心跳报文,则根据配置的用户账号建立与带外管理设备之间的连接,带外管理设备所在第一计算机设备包括主用虚拟设备。
通信模块62,用于向带外管理设备发送命令,命令用于指示带外管理设备调整与用户账号对应的主用虚拟设备的运行状态。其中,命令包括IPMI命令。
举例提供与管理虚拟设备的方法对应的功能模块,处理模块61,还用于通过输入用户账号登陆带外管理设备,并建立与带外管理设备之间的连接。
本发明实施例一种计算机可读存储介质,计算机可读存储介质中存储有指令。当第二计算机设备中的备用虚拟设备执行该指令时,该备用虚拟设备执行上述方法实施例提供的管理虚拟设备的方法。
本发明实施例一种计算机程序产品,该计算机程序产品包括指令,该指令存储在计算机可读存储介质中。当第二计算机设备中的处理器执行该指令时,该备用虚拟设备执行上述方法实施例提供的管理虚拟设备的方法。
本发明实施例提供一种备用虚拟设备,参见图7,所述备用虚拟设备部署在第二计算机设备70上,所述第二计算机设备70包括处理器71、存储器72和通信接口73,其中,处理器71、存储器72和通信接口73通过总线74连接。
处理器71执行存储器72中存储的计算机指令,使得备用虚拟设备执行图2至图4提供的管理虚拟设备的方法。
在第二计算机设备70中的处理器71的数量为一个或多个。如果第二计算机设备70具有多个处理器71;该多个处理器71可以属于不同类型的处理器,或者属于相同类型的处理器;一种可选实施方式,第二计算机设备70中的多个处理器71集成为众核处理器。
另外,处理器71可以是以下的任一种:中央处理器(Central Processing Unit,CPU)、ARM处理器、现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用处理器等具有计算处理能力的器件。
存储器72可以是以下的任一种或任一种组合:随机存取存储器(Random AccessMemory,RAM)、只读存储器(read only memory,ROM)、非易失性存储器(non-volatilememory,NVM)、固态硬盘(Solid State Drives,SSD)、机械硬盘、磁盘、磁盘整列等存储介质。
通信接口73用于备用第二计算机设备70与其他设备(例如带外管理设备)进行数据交互。通信接口73可以是以下的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
该总线74可以包括地址总线、数据总线、控制总线等,为便于表示,图7用一条粗线表示该总线。总线74可以是以下的任一种或任一种组合:工业标准体系结构(IndustryStandard Architecture,ISA)总线、外设组件互连标准(Peripheral ComponentInterconnect,PCI)总线、扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等有线数据传输的器件。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明实施例的保护范围之内。

Claims (12)

1.一种管理虚拟设备的方法,其特征在于,第一计算机设备包括主用虚拟设备和带外管理设备,第二计算机设备包括备用虚拟设备;所述方法包括:
在所述带外管理设备与所述备用虚拟设备通过用户账号建立连接后,所述带外管理设备接收所述备用虚拟设备发送的命令;
所述带外管理设备根据所述用户账号,在映射表中查找与所述用户账号对应的主用虚拟设备,其中,映射表用于存储虚拟设备与用户账号之间的对应关系;
所述带外管理设备根据所述命令调整与所述用户账号对应的主用虚拟设备的运行状态。
2.如权利要求1所述的方法,其特征在于,所述带外管理设备与所述备用虚拟设备通过所述用户账号建立连接包括:
所述带外管理设备获取所述备用虚拟设备登陆时输入的所述用户账号,并建立与所述备用虚拟设备之间的连接,所述用户账号为所述主用虚拟设备和所述备用虚拟设备共用同一个账号。
3.如权利要求1或2所述的方法,其特征在于,所述命令包括智能平台管理接口IPMI命令。
4.一种管理虚拟设备的方法,其特征在于,第一计算机设备包括主用虚拟设备和带外管理设备,第二计算机设备包括备用虚拟设备;所述方法包括:
若所述备用虚拟设备未检测到所述主用虚拟设备发送的心跳报文,则所述备用虚拟设备根据配置的用户账号建立与所述带外管理设备之间的连接;
所述备用虚拟设备向所述带外管理设备发送命令,所述命令用于指示所述带外管理设备调整与所述用户账号对应的主用虚拟设备的运行状态。
5.如权利要求4所述的方法,其特征在于,所述备用虚拟设备根据配置的用户账号建立与所述带外管理设备之间的连接包括:
所述备用虚拟设备通过所述用户账号登陆所述带外管理设备,并建立与所述带外管理设备之间的连接,所述用户账号为所述主用虚拟设备和所述备用虚拟设备共用同一个账号。
6.如权利要求4或5所述的方法,其特征在于,所述命令包括智能平台管理接口IPMI命令。
7.一种带外管理设备,其特征在于,第一计算机设备包括主用虚拟设备和所述带外管理设备,第二计算机设备包括备用虚拟设备;所述带外管理设备包括:
通信模块,用于在所述带外管理设备与所述备用虚拟设备通过用户账号建立连接后,接收所述备用虚拟设备发送的命令;
处理模块,用于根据所述用户账号,在映射表中查找与所述用户账号对应的主用虚拟设备,其中,映射表用于存储虚拟设备与用户账号之间的对应关系;
所述处理模块,还用于根据所述命令调整与所述用户账号对应的主用虚拟设备的运行状态。
8.如权利要求7所述的带外管理设备,其特征在于,所述通信模块,还用于获取所述备用虚拟设备登陆时输入的所述用户账号,所述用户账号为所述主用虚拟设备和所述备用虚拟设备共用同一个账号;
所述处理模块,还用于建立与所述备用虚拟设备之间的连接。
9.一种备用虚拟设备,其特征在于,第一计算机设备包括主用虚拟设备和带外管理设备,第二计算机设备包括备用虚拟设备;所述备用虚拟设备包括:
处理模块,用于若所述备用虚拟设备未检测到所述主用虚拟设备发送的心跳报文,则根据配置的用户账号建立与所述带外管理设备之间的连接;
通信模块,用于向所述带外管理设备发送命令,所述命令用于指示所述带外管理设备调整与所述用户账号对应的主用虚拟设备的运行状态。
10.如权利要求9所述的备用虚拟设备,其特征在于,所述处理模块,还用于通过所述用户账号登陆所述带外管理设备,并建立与所述带外管理设备之间的连接,所述用户账号为所述主用虚拟设备和所述备用虚拟设备共用同一个账号。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当第一计算机设备中的带外管理设备执行所述指令时,所述带外管理设备执行权利要求1至3任一项所述的管理虚拟设备的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当第二计算机设备中的备用虚拟设备执行所述指令时,所述备用虚拟设备执行权利要求4至6任一项所述的管理虚拟设备的方法。
CN201710527563.XA 2017-06-30 2017-06-30 一种管理虚拟设备的方法、带外管理设备及备用虚拟设备 Active CN107423113B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710527563.XA CN107423113B (zh) 2017-06-30 2017-06-30 一种管理虚拟设备的方法、带外管理设备及备用虚拟设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710527563.XA CN107423113B (zh) 2017-06-30 2017-06-30 一种管理虚拟设备的方法、带外管理设备及备用虚拟设备

Publications (2)

Publication Number Publication Date
CN107423113A true CN107423113A (zh) 2017-12-01
CN107423113B CN107423113B (zh) 2020-07-07

Family

ID=60427569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710527563.XA Active CN107423113B (zh) 2017-06-30 2017-06-30 一种管理虚拟设备的方法、带外管理设备及备用虚拟设备

Country Status (1)

Country Link
CN (1) CN107423113B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389812A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302661A (zh) * 2014-06-04 2016-02-03 北京云端时代科技有限公司 一种实现虚拟化管理平台高可用的系统和方法
CN105515869A (zh) * 2015-12-15 2016-04-20 福建星网锐捷网络有限公司 一种虚拟交换单元带外管理方法及装置
US9819593B1 (en) * 2013-01-22 2017-11-14 Hypori, Inc. System, method and computer program product providing bypass mechanisms for a virtual mobile device platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9819593B1 (en) * 2013-01-22 2017-11-14 Hypori, Inc. System, method and computer program product providing bypass mechanisms for a virtual mobile device platform
CN105302661A (zh) * 2014-06-04 2016-02-03 北京云端时代科技有限公司 一种实现虚拟化管理平台高可用的系统和方法
CN105515869A (zh) * 2015-12-15 2016-04-20 福建星网锐捷网络有限公司 一种虚拟交换单元带外管理方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389812A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机可读存储介质
CN110389812B (zh) * 2018-04-20 2023-05-12 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN107423113B (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
US10791169B2 (en) Role-based command distribution across networks
US10404523B2 (en) Data center management with rack-controllers
CN102035862B (zh) Svc集群中配置节点的故障移交方法和系统
CN105409172B (zh) 逻辑交换机
CN103441867B (zh) 一种更新虚拟机内部网络资源配置的方法
JP4712279B2 (ja) 拡張可能コンピューティングシステムの制御方法および装置
CN106227636A (zh) 一种基于ipmi的数据中心带外管理系统
WO2015176262A1 (zh) 一种节点互连装置、资源控制节点和服务器系统
CN110554943B (zh) 一种基于i3c的多节点服务器cmc管理系统及方法
WO2014015697A1 (zh) 一种虚拟网络的自主管理系统和方法
CN108234158A (zh) Vnf的建立方法、nfvo以及网络系统
CN102164184A (zh) 云计算网络中计算机实体的接入和管理方法及云计算网络
EP3400498B1 (en) Data center management
CN106911648B (zh) 一种环境隔离方法及设备
US11349701B2 (en) Data center management with rack-controllers
WO2016095341A1 (zh) 虚拟机环境下链路管理方法、装置和系统
CN112948063B (zh) 云平台的创建方法、装置、云平台以及云平台实现系统
CN110661641B (zh) 一种虚拟网络功能vnf部署方法及装置
CN104038570B (zh) 一种数据处理方法及装置
CN208386576U (zh) 一种具有简单交换管理功能的工业网络交换串口服务器
WO2017124834A1 (zh) 资源管理方法、装置和系统
CN107423113A (zh) 一种管理虚拟设备的方法、带外管理设备及备用虚拟设备
EP3400497B1 (en) Data center management
CN105490846B (zh) 服务器虚拟化管理系统及方法
CN107623587B (zh) 一种网络拓扑管理系统及网络管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220118

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.