虚拟机环境中的虚拟双控制模块之间的通信制造技术

技术编号:20117371 阅读:23 留言:0更新日期:2019-01-16 11:59
本公开的实施例涉及虚拟机环境中的虚拟双控制模块之间的通信。公开了一种计算机实现的方法和电子设备。该方法包括在虚拟存储装置中部署第一虚拟控制模块和第二虚拟控制模块,其中第一虚拟控制模块和第二虚拟控制模块互为冗余。该方法还包括创建对物理外围设备互连Express(PCIe)交换机进行仿真的虚拟PCIe交换机,以及经由虚拟PCIe交换机来在第一虚拟控制模块与第二虚拟控制模块之间同步高速缓存数据。本公开的实施例在虚拟机环境中设置虚拟双控制模块,并通过软件仿真物理PCIe来实现虚拟双控制模块之间的虚拟PCIe通信,从而能够在虚拟存储装置中实现虚拟双控制模块之间的低延时通信。

Communication between Virtual Dual Control Modules in Virtual Machine Environment

An embodiment of the present disclosure relates to communication between virtual dual control modules in a virtual machine environment. A computer implementation method and an electronic device are disclosed. The method includes deploying the first virtual control module and the second virtual control module in the virtual storage device, where the first virtual control module and the second virtual control module are redundant to each other. The method also includes creating a virtual PCIe switch that simulates the physical peripheral device interconnection Express (PCIe) switch, and synchronizing cache data between the first virtual control module and the second virtual control module via the virtual PCIe switch. The embodiment of the present disclosure sets up a virtual dual control module in a virtual machine environment, and realizes virtual PCIe communication between virtual dual control modules through software simulation of physical PCIe, so as to realize low delay communication between virtual dual control modules in a virtual storage device.

【技术实现步骤摘要】
虚拟机环境中的虚拟双控制模块之间的通信
本公开的实施例总体上涉及存储
,并且更具体地涉及在虚拟机环境中实现虚拟双控制模块之间的通信。
技术介绍
存储系统是指由盘设备、控制模块以及管理信息调度的设备和程序等组成的系统,其通常能够存储大量数据。为了保证数据存储的可靠性,存储系统通常设置两个对等控制模块来互为冗余,这两个控制模块之间保持数据同步。虚拟存储装置是指在物理设备上使用软件创建虚拟的存储装置,其能向用户提供尽逻辑存储空间,使得用户实现与物理存储系统类似功能。外围设备互连(PCI)是一种并行的计算机总线标准,其用于把外围组件连接到计算机。PCIExpress(PCIe)是一种总线和接口标准,与PCI总线不同,PCIe采用点对点的串行通信方式,PCIe可以把数据传输率提高到一个很高的频率。通常,存储系统中的两个对等控制模块采用PCIe进行通信,以进行数据同步和备份。
技术实现思路
本公开的实施例提供了一种虚拟机环境中的虚拟双控制模块之间的通信的方法和设备。本公开的实施例在虚拟机环境中设置虚拟双控制模块,并通过软件仿真物理PCIe来实现虚拟双控制模块之间的虚拟PCIe通信,从而能够在虚拟存储装置中实现虚拟双控制模块之间的低延时通信。在本公开的一个方面,提供了一种计算机实现的方法。该方法包括:在虚拟存储装置中部署第一虚拟控制模块和第二虚拟控制模块,其中第一虚拟控制模块和第二虚拟控制模块互为冗余;创建对物理外围设备互连Express(PCIe)交换机进行仿真的虚拟PCIe交换机;以及经由虚拟PCIe交换机来在第一虚拟控制模块与第二虚拟控制模块之间同步高速缓存数据。在本公开的另一方面,提供了一种电子设备。该电子设备包括处理单元以及存储器,其中存储器被耦合至处理单元并且存储有指令。指令在由处理单元执行时执行以下动作:在虚拟存储装置中部署第一虚拟控制模块和第二虚拟控制模块,其中第一虚拟控制模块和第二虚拟控制模块互为冗余;创建对物理外围设备互连Express(PCIe)交换机进行仿真的虚拟PCIe交换机;以及经由虚拟PCIe交换机来在第一虚拟控制模块与第二虚拟控制模块之间同步高速缓存数据。在本公开的又一方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使计算机执行根据本公开的实施例的方法。提供
技术实现思路
部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或主要特征,也无意限制本公开的各个实施例的范围。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。图1示出了根据本公开的实施例的具有双控制模块的存储环境的示意图;图2示出了根据本公开的实施例的PCIe接口组件的架构的示意图;图3示出了根据本公开的实施例的具有虚拟双控制模块的存储环境的示意图;图4示出了根据本公开的实施例的虚拟PCIe接口组件的架构的示意图;图5示出了根据本公开的实施例的用于实现虚拟双控制模块之间的通信的方法的流程图;图6示出了根据本公开的实施例的虚拟PCIe交换机的架构的示意图;图7示出了可以用来实施本公开的实施例的设备的示意性框图。具体实施例下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。传统地,在具有双控制模块的物理存储装置或系统中,通过PCIe总线来在这两个对等控制模块之间传输数据,使得每个控制模块能够与其对等控制模块进行低延时通信。两个控制模块使用PCIe总线来进行通信,因而需要物理的PCIe交换机。然而,在一些场景中,需要提供虚拟的存储装置供实验、测试等用途,由于虚拟环境中不存在物理的PCIe交换机,因而无法设置两个虚拟控制模块。为了提高虚拟存储装置的高可靠性,针对传统方法的一种改进是尝试在虚拟存储装置中也设置虚拟双控制模块,并且通过以太网实现虚拟双控制模块之间的通信,例如使用虚拟网络接口卡(vNIC)。然而,以太网是以TCP/IP协议作为通信方式,而与PCIe通信相比,以太网存在高延迟和低吞吐率等缺点,无法满足虚拟双控制模块之间的高速低延迟的通信要求。其他的改进涉及基于共享存储的通信或基于投票设备的第三个节点的通信等,然而,这些改进方式同样存在较高的延迟,因而也还是无法满足虚拟双控制模块之间的高速低延迟的通信要求。本公开的实施例提出了一种在虚拟机环境中实现虚拟双控制模块之间的通信的新方式。本公开的实施例在虚拟机环境中设置虚拟双控制模块,创建对物理PCIe交换机进行仿真的虚拟PCIe交换机,以及经由虚拟PCIe交换机来在两个虚拟控制模块之间同步高速缓存数据。因此,本公开的实施例能够在虚拟存储装置中实现虚拟双控制模块之间的低延时通信,同时不会导致虚拟机环境中的其他性能降低。此外,本公开的实施例通过仿真物理PCIe的各种功能,能够实现不同虚拟控制模块的地址空间之间的地址转换。本公开的实施例通过使用物理抽象层,使得不需要修改传统的上层传输,因而能够与现有的虚拟存储装置或系统相兼容。另外,本公开的实施例还能通过自动协商机制实现虚拟PCIe交换机的控制流自动调整,由此提高虚拟存储装置的存储性能。以下参考图1至图7来说明本公开的基本原理和若干示例实现方式。图1示出了根据本公开的实施例的具有双控制模块的存储环境100的示意图。稳定性和高可用性是存储装置或系统的基本需求,这就要求提供冗余的备份机制,例如通过多个磁盘组成独立冗余磁盘阵列(RAID)来保证数据持久存储的可靠性,以及通过设置两个冗余的控制器来控制存储装置的存储操作,以减少丢失高速缓存的数据的可能性。如图1所示,存储环境100包括控制模块110(也被称为“控制器”)、控制模块120、PCIe交换机130以及存储设备140(例如存储设备阵列)。控制模块110通过PCIe交换机130与控制模块120互连,而控制模块110和120分别又连接到存储设备140。在一些实施例中,存储环境100还可以包括主机设备(未示出),主机设备可以从存储系统中的盘读取数据或者向盘写入数据。例如,主机设备可以为服务器(例如应用服务器、流媒体服务器等)或计算设备(例如台式计算机、膝上型计算机、手持式计算机、智能手机、平板电脑、可穿戴设备等)。控制模块110和120是指对存储环境100中的数据存储进行存储控制的设备。如图1所示,控制模块110包括处理单元113(单核或多核处理器)、PCIe接口组件1本文档来自技高网
...

【技术保护点】
1.一种计算机实现的方法,包括:在虚拟存储装置中部署第一虚拟控制模块和第二虚拟控制模块,所述第一虚拟控制模块和所述第二虚拟控制模块互为冗余;创建对物理外围设备互连Express(PCIe)交换机进行仿真的虚拟PCIe交换机;以及经由所述虚拟PCIe交换机来在所述第一虚拟控制模块与所述第二虚拟控制模块之间同步高速缓存数据。

【技术特征摘要】
1.一种计算机实现的方法,包括:在虚拟存储装置中部署第一虚拟控制模块和第二虚拟控制模块,所述第一虚拟控制模块和所述第二虚拟控制模块互为冗余;创建对物理外围设备互连Express(PCIe)交换机进行仿真的虚拟PCIe交换机;以及经由所述虚拟PCIe交换机来在所述第一虚拟控制模块与所述第二虚拟控制模块之间同步高速缓存数据。2.根据权利要求1所述的方法,其中创建所述虚拟PCIe交换机包括:通过仿真所述物理PCIe交换机的以下各项中的至少一项来创建虚拟PCIe交换机:PCIe地址转换、输入输出(I/O)路由、I/O解析以及I/O隔离。3.根据权利要求2所述的方法,其中创建所述虚拟PCIe交换机还包括:生成所述第一虚拟控制模块所处的第一PCIe地址空间与所述第二虚拟控制模块所处的第二PCIe地址空间之间的地址转换;以及基于所述地址转换将所述第一PCIe地址空间中的第一地址转换成所述第二PCIe地址空间中的第二地址。4.根据权利要求1所述的方法,其中同步所述高速缓存数据包括:将来自所述第一虚拟控制模块的所述高速缓存数据发送到所述第二虚拟控制模块;以及向所述虚拟存储装置的虚拟盘阵列写入所述高速缓存数据。5.根据权利要求1所述的方法,其中同步所述高速缓存数据包括:通过所述虚拟PCIe交换机来执行所述第一虚拟控制模块中的第一硬件抽象层与所述第二虚拟控制模块中的第二硬件抽象层之间的直接存储器访问。6.根据权利要求1所述的方法,还包括:使用所述虚拟PCIe交换机来创建所述第一虚拟控制模块和所述第二虚拟控制模块中的至少一个与支持PCIe的特定物理设备之间的通信。7.根据权利要求6所述的方法,还包括:向所述第一虚拟控制模块和所述第二虚拟控制模块分配路由标识;以及向所述特定物理设备中的多个虚拟功能分配路由标识,所述多个虚拟功能中的一个虚拟功能与所述特定物理设备的一部分物理资源相关联。8.根据权利要求6所述的方法,还包括:基于从所述特定物理设备接收到的消息反馈,来动态调整所述虚拟PCIe交换机处的缓冲区的大小。9.一种电子设备,包括:处理单元;以及存储器,耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:在虚拟存储装置中部署第一虚拟控制模块...

【专利技术属性】
技术研发人员:杨利锋高健徐鑫磊贾瑞勇刘友生
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1