CN113626139A - 一种高可用的虚拟机存储方法及装置 - Google Patents
一种高可用的虚拟机存储方法及装置 Download PDFInfo
- Publication number
- CN113626139A CN113626139A CN202110744941.6A CN202110744941A CN113626139A CN 113626139 A CN113626139 A CN 113626139A CN 202110744941 A CN202110744941 A CN 202110744941A CN 113626139 A CN113626139 A CN 113626139A
- Authority
- CN
- China
- Prior art keywords
- distributed storage
- communication connection
- storage network
- virtual machine
- qemu
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种高可用的虚拟机存储方法及装置,所述方法包括:Qemu虚拟机首先通过VIP,与分布式存储网络中的节点建立通信连接,然后通过该通信连接,按照预设的数据传输协议,与这些节点进行通信,接着,再通过该通信连接传输网络心跳包,以确认分布式存储网络中的节点是否存在异常,并在确认分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接,同时,还可以通过判断Qemu虚拟机是否有IO,校验Qemu虚拟机是否存在异常,并在确认Qemu虚拟机存在异常时,重新建立通信连接。可见,本申请能够根据Qemu层的IO接口实现对接分布式存储网络的IO传输和高可用机制,从而使得存储资源能得到合理的分配和充分的利用,进而可以满足现代存储需求。
Description
技术领域
本申请涉及虚拟机技术领域,具体涉及一种高可用的虚拟机存储方法及装置。
背景技术
随着计算机技术的快速发展,网络数据处理量也随之暴风增长,如今,为了提高数据处理过程中的读写性能、保证数据的安全性,数据多以分布式存储的形式进行存储。
目前,虚拟操作系统模拟器(Quick EMUlator,简称Qemu)/KVM虚拟机(Kernel-based Virtual Machine)是虚拟化领域中开源的通用设备模拟技术,其中,Qemu提供了一系列的设备包括中央处理器(central processing unit,简称CPU)、内存、网卡、磁盘等,但是由于虚拟机发出的计算指令均是由Qemu模拟,所以会导致虚拟机性能较差。而KVM是linux内核提供的虚拟化技术,虽然它可以提供vcpu的创建和运行、虚拟内存的地址空间分配等,但是其缺少输入/输出(Input/Output,简称IO)设备的模拟。
因此,如何提高虚拟机的存储性能,使得存储资源可以得到合理的分配和充分的利用,进而满足现代存储需求,已成为亟待解决的问题。
发明内容
为解决上述问题,本申请提供了一种高可用的虚拟机存储方法及装置,具体技术方案如下:
第一方面,本申请提供了一种高可用的虚拟机存储方法,所述方法应用于虚拟操作系统模拟器Qemu,所述方法包括:
通过虚拟互联网协议地址VIP,与分布式存储网络中的节点建立通信连接;
通过所述通信连接,按照预设的数据传输协议,与所述分布式存储网络中的节点进行通信;
通过所述通信连接传输网络心跳包heartbeat,以确认所述分布式存储网络中的节点是否存在异常,并在确认所述分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接;
通过判断所述Qemu虚拟机是否有输入/输出IO,校验所述Qemu虚拟机是否存在异常,并在确认所述Qemu虚拟机存在异常时,重新建立通信连接。
在一种可选的实现方式中,所述VIP工作在所述分布式存储网络中的任意一个节点;且一套所述分布式存储网络中部署一个所述VIP。
在一种可选的实现方式中,所述预设的数据传输协议包括头文件HDR区域、Data区域和CRC区域;所述Data区域用于存储Qemu层中待写入或读取的数据、所述CRC区域用于存储对传输数据进行循环冗余校验CRC得到的校验值。
在一种可选的实现方式中,所述通过所述通信连接传输网络心跳包heartbeat,以确认所述分布式存储网络中的节点是否存在异常,并在确认所述分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接,包括:
通过所述通信连接,定时每隔M秒向所述分布式存储网络中的节点发送心跳包数据,以确认所述分布式存储网络中的节点是否存在异常;所述M为大于0的正数;
当确定所述分布式存储网络中的节点连续N次未返回确认字符ACK作为回应时,确认所述分布式存储网络中的节点存在异常,并在断开所述通信连接后,再次向所述VIP发送连接请求,以重新建立通信连接;所述N为大于0的正整数。
在一种可选的实现方式中,所述M为5;所述N为6。
第二方面,本申请提供了一种高可用的虚拟机存储装置,所述装置应用于虚拟操作系统模拟器Qemu,所述装置包括:
建立单元,用于通过虚拟互联网协议地址VIP,与分布式存储网络中的节点建立通信连接;
通信单元,用于通过所述通信连接,按照预设的数据传输协议,与所述分布式存储网络中的节点进行通信;
传输单元,用于通过所述通信连接传输网络心跳包heartbeat,以确认所述分布式存储网络中的节点是否存在异常,并在确认所述分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接;
校验单元,用于通过判断所述Qemu虚拟机是否有输入/输出IO,校验所述Qemu虚拟机是否存在异常,并在确认所述Qemu虚拟机存在异常时,重新建立通信连接。
在一种可选的实现方式中,所述VIP工作在所述分布式存储网络中的任意一个节点;且一套所述分布式存储网络中部署一个所述VIP。
在一种可选的实现方式中,所述预设的数据传输协议包括头文件HDR区域、Data区域和CRC区域;所述Data区域用于存储Qemu层中待写入或读取的数据、所述CRC区域用于存储对传输数据进行循环冗余校验CRC得到的校验值。
在一种可选的实现方式中,所述传输单元包括:
第一发送子单元,用于通过所述通信连接,定时每隔M秒向所述分布式存储网络中的节点发送心跳包数据,以确认所述分布式存储网络中的节点是否存在异常;所述M为大于0的正数;
第二发送子单元,用于当确定所述分布式存储网络中的节点连续N次未返回确认字符ACK作为回应时,确认所述分布式存储网络中的节点存在异常,并在断开所述通信连接后,再次向所述VIP发送连接请求,以重新建立通信连接;所述N为大于0的正整数。
在一种可选的实现方式中,所述M为5;所述N为6。
在本申请提供的高可用的虚拟机存储方法中,Qemu虚拟机首先通过虚拟互联网协议地址VIP,与分布式存储网络中的节点建立通信连接,然后通过该通信连接,按照预设的数据传输协议,与分布式存储网络中的节点进行通信,接着,再通过该通信连接传输网络心跳包heartbeat,以确认分布式存储网络中的节点是否存在异常,并在确认分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接,同时,还可以通过判断Qemu虚拟机是否有输入/输出IO,校验Qemu虚拟机是否存在异常,并在确认Qemu虚拟机存在异常时,重新建立通信连接。可见,本申请实施例是在Qemu层上实现了Qemu虚拟机和分布式存储网络中的节点的连接和交互,不仅继承和实现了Qemu层对块设备的基础接口,同时还根据Qemu层的IO接口实现了对接分布式存储网络的IO传输和相关高可用机制,从而使得存储资源可以得到合理的分配和充分的利用,进而能够满足现代存储需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种高可用的虚拟机存储方法的流程图;
图2为本申请实施例提供的Qemu虚拟机与分布式存储网络中的节点通过VIP建立通信连接的结构示意图;
图3为本申请实施例提供的预设的数据传输协议包含内容的示意图;
图4为本申请实施例提供的一种高可用的虚拟机存储装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的研究背景进行简单说明。
众所周知,随着网络技术的快速发展,网络数据处理量也越来越多,为了提高网络数据处理过程中的读写性能、保证数据的安全性,数据多以分布式存储的形式进行存储。目前,Qemu/KVM虚拟机是虚拟化领域中开源的通用设备模拟技术,其中,Qemu提供了一系列的设备包括CPU、内存、网卡、磁盘等,但是由于虚拟机发出的计算指令均是由Qemu模拟,所以会导致虚拟机性能较差。而KVM是linux内核提供的虚拟化技术,虽然它可以提供vcpu的创建和运行、虚拟内存的地址空间分配等,但是其缺少IO设备的模拟。因此,如何提高虚拟机的存储性能,使得存储资源可以得到合理的分配和充分的利用,进而满足现代存储需求,已成为亟待解决的问题。
基于此,为了解决上述问题,本申请提出了一种高可用的虚拟机存储方法及装置,以实现高可用的虚拟机存储,从而使得存储资源可以得到合理的分配和充分的利用,进而能够满足现代存储需求。
以下将结合附图对本申请实施例提供的高可用的虚拟机存储方法进行详细说明。参见图1,其示出了本申请实施例提供的一种高可用的虚拟机存储方法的流程图,本实施例可以包括以下步骤:
S101:通过虚拟互联网协议地址VIP,与分布式存储网络中的节点建立通信连接。
需要说明的是,实际应用中,Qemu虚拟机提供了一套统一的插件式的块设备架构,定义了每一种块设备驱动的实现接口,不仅可以使用普通文件如Qcow2、raw等格式的虚拟磁盘实现块设备模拟,也支持网络存储设备如Ceph提供的一个卷。
在分布式存储领域,类似Ceph提供了librbd和krbd两种访问Ceph提供的image途径。其中librbd是一种librados的用户态接口,而krbd是linux中的内核模块,使用用户态的rbd命令行管理RBD块设备。Qemu使用librbd实现了块设备模拟,它通过网络的方式访问Ceph集群。
在本实施例中,为了实现高可用的虚拟机存储方式,Qemu首先需要通过虚拟互联网协议地址(Virtual IP Address,简称VIP),与分布式存储网络中的节点建立通信连接,如图2所示,用以执行后续步骤S102。
其中,一种可选的实现方式是,VIP可以工作在分布式存储网络中的任意一个节点;且一套分布式存储网络中部署一个VIP。在此基础上,分布式存储网络中的节点使用实际工作IP地址(Real IP Address,简称RIP)进行副本数据转发,使用VIP对外提供存储业务。
具体来讲,Qemu层首先在加载块设备时,使用VIP连接分布式存储网络中的节点。然后,分布式存储网络中的VIP所在节点,返回可以Qemu层连接异常,同时返回相关的数据,其中主要包括两个信息:VIP所在的RIP和失败原因TMP_CONNECTION。接着,Qemu层在连接分布式存储网络中的节点阶段可以捕获连接异常,并获取分布式存储节点返回的RIP和失败原因,如果失败原因为TMP_CONNECTION,则可以获得RIP信息。进一步的,Qemu层可以使用RIP再次向分布式存储节点建立连接,而分布式存储中RIP所在节点,则可以根据Qemu层的连接,较验连接数据信息正常后,返回成功信息。
S102:通过通信连接,按照预设的数据传输协议,与分布式存储网络中的节点进行通信。
在本实施例中,通过步骤S101与分布式存储网络中的节点建立通信连接后,进一步可以通过该通信连接,按照预先设定一组数据传输协议,与分布式存储网络中的节点进行IO通信。
在本申请实施例的一种可能的实现方式中,如图3所示,预设的数据传输协议可以包括头文件HDR区域、Data区域和CRC区域。其中,HDR区域主要为元数据信息,包括对接分布式存储的Version版本、meta元数据信息(包括访问分布式存储的块设备、对应的对象等)、data_length(指的是整个Data区域的数据长度),整个HDR的大小为4K。Data区域用于存储Qemu层中待写入或读取的数据;CRC区域用于存储对传输数据进行循环冗余校验(CyclicRedundancy Check,简称CRC)得到的校验值。
S103:通过通信连接传输网络心跳包heartbeat,以确认分布式存储网络中的节点是否存在异常,并在确认分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接。
在本实施例中,通过步骤S101与分布式存储网络中的节点建立通信连接后,进一步可以通过通信连接传输网络心跳包(heartbeat)数据,以确认分布式存储网络中的节点是否存在异常,并在确认分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接。
具体来讲,一种可选的实现方式是,当Qemu虚拟机和分布式存储网络中的节点建立通信连接后,会启动一个线程,定时每隔M秒(如5秒)向分布式存储网络中的节点发送心跳包数据,用以确认分布式存储是否异常。其中,M为大于0的正数。当确定分布式存储网络中的节点连续N次(如6次)未返回确认字符(Acknowledge character,简称ACK)作为回应时,则确认分布式存储网络中的节点存在异常,进而可以在断开通信连接后,再次向VIP发送连接请求,走Qemu虚拟机和分布式存储的连接流程,以重新建立通信连接,其中,N为大于0的正整数。
其中,M和N的具体取值可根据实际情况和经验值来确定,本申请实施例对此不进行限定,比如,可以将M和N分别取值为5和6等。
S104:通过判断Qemu虚拟机是否有输入/输出IO,校验Qemu虚拟机是否存在异常,并在确认Qemu虚拟机存在异常时,重新建立通信连接。
需要说明的是,由于分布式存储端会同时连接很多Qemu虚拟机(如几千台虚拟机),当所有虚拟机向存储发送心跳包,会导致流量高峰的产生,基于此,本实施例提出了一种优化方式,以在分布式存储端通过判断Qemu虚拟机是否有IO来较验Qemu虚拟机是否存在异常,并在确认Qemu虚拟机存在异常时,触发浮动IP切换操作,重新建立通信连接。
具体来讲,首先,当Qemu虚拟机连续多次(如4次)发送正常时,会暂停发送heartbeat,以减少心跳包发送频率。然后,在分布式存储端较验Qemu虚拟机是否下发IO,若IO异常,则认为虚拟机存在异常。接着,若分布式存储段触发了VIP切换时,则向所有连接的Qemu虚拟机发送连接异常;Qemu虚拟机触发重新连接。
综上,本实施例提供的一种高可用的虚拟机存储方法,Qemu虚拟机首先通过虚拟互联网协议地址VIP,与分布式存储网络中的节点建立通信连接,然后通过该通信连接,按照预设的数据传输协议,与分布式存储网络中的节点进行通信,接着,再通过该通信连接传输网络心跳包heartbeat,以确认分布式存储网络中的节点是否存在异常,并在确认分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接,同时,还可以通过判断Qemu虚拟机是否有输入/输出IO,校验Qemu虚拟机是否存在异常,并在确认Qemu虚拟机存在异常时,重新建立通信连接。可见,本申请实施例是在Qemu层上实现了Qemu虚拟机和分布式存储网络中的节点的连接和交互,不仅继承和实现了Qemu层对块设备的基础接口,同时还根据Qemu层的IO接口实现了对接分布式存储网络的IO传输和相关高可用机制,从而使得存储资源可以得到合理的分配和充分的利用,进而能够满足现代存储需求。
基于以上高可用的虚拟机存储方法,本申请还提供了一种高可用的虚拟机存储装置,该装置应用于虚拟操作系统模拟器Qemu,如图4所示,该装置包括:
建立单元401,用于通过虚拟互联网协议地址VIP,与分布式存储网络中的节点建立通信连接;
通信单元402,用于通过所述通信连接,按照预设的数据传输协议,与所述分布式存储网络中的节点进行通信;
传输单元403,用于通过所述通信连接传输网络心跳包heartbeat,以确认所述分布式存储网络中的节点是否存在异常,并在确认所述分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接;
校验单元404,用于通过判断所述Qemu虚拟机是否有输入/输出IO,校验所述Qemu虚拟机是否存在异常,并在确认所述Qemu虚拟机存在异常时,重新建立通信连接。
在本实施例的一种实现方式中,所述VIP工作在所述分布式存储网络中的任意一个节点;且一套所述分布式存储网络中部署一个所述VIP。
在本实施例的一种实现方式中,所述预设的数据传输协议包括头文件HDR区域、Data区域和CRC区域;所述Data区域用于存储Qemu层中待写入或读取的数据、所述CRC区域用于存储对传输数据进行循环冗余校验CRC得到的校验值。
在本实施例的一种实现方式中,所述传输单元403包括:
第一发送子单元,用于通过所述通信连接,定时每隔M秒向所述分布式存储网络中的节点发送心跳包数据,以确认所述分布式存储网络中的节点是否存在异常;所述M为大于0的正数;
第二发送子单元,用于当确定所述分布式存储网络中的节点连续N次未返回确认字符ACK作为回应时,确认所述分布式存储网络中的节点存在异常,并在断开所述通信连接后,再次向所述VIP发送连接请求,以重新建立通信连接;所述N为大于0的正整数。
在本实施例的一种实现方式中,所述M为5;所述N为6。
综上,本实施例提供的一种高可用的虚拟机存储装置,Qemu虚拟机首先通过虚拟互联网协议地址VIP,与分布式存储网络中的节点建立通信连接,然后通过该通信连接,按照预设的数据传输协议,与分布式存储网络中的节点进行通信,接着,再通过该通信连接传输网络心跳包heartbeat,以确认分布式存储网络中的节点是否存在异常,并在确认分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接,同时,还可以通过判断Qemu虚拟机是否有输入/输出IO,校验Qemu虚拟机是否存在异常,并在确认Qemu虚拟机存在异常时,重新建立通信连接。可见,本申请实施例是在Qemu层上实现了Qemu虚拟机和分布式存储网络中的节点的连接和交互,不仅继承和实现了Qemu层对块设备的基础接口,同时还根据Qemu层的IO接口实现了对接分布式存储网络的IO传输和相关高可用机制,从而使得存储资源可以得到合理的分配和充分的利用,进而能够满足现代存储需求。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种高可用的虚拟机存储方法,其特征在于,所述方法应用于虚拟操作系统模拟器Qemu,所述方法包括:
通过虚拟互联网协议地址VIP,与分布式存储网络中的节点建立通信连接;
通过所述通信连接,按照预设的数据传输协议,与所述分布式存储网络中的节点进行通信;
通过所述通信连接传输网络心跳包heartbeat,以确认所述分布式存储网络中的节点是否存在异常,并在确认所述分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接;
通过判断所述Qemu虚拟机是否有输入/输出IO,校验所述Qemu虚拟机是否存在异常,并在确认所述Qemu虚拟机存在异常时,重新建立通信连接。
2.根据权利要求1所述的方法,其特征在于,所述VIP工作在所述分布式存储网络中的任意一个节点;且一套所述分布式存储网络中部署一个所述VIP。
3.根据权利要求1所述的方法,其特征在于,所述预设的数据传输协议包括头文件HDR区域、Data区域和CRC区域;所述Data区域用于存储Qemu层中待写入或读取的数据、所述CRC区域用于存储对传输数据进行循环冗余校验CRC得到的校验值。
4.根据权利要求1所述的方法,其特征在于,所述通过所述通信连接传输网络心跳包heartbeat,以确认所述分布式存储网络中的节点是否存在异常,并在确认所述分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接,包括:
通过所述通信连接,定时每隔M秒向所述分布式存储网络中的节点发送心跳包数据,以确认所述分布式存储网络中的节点是否存在异常;所述M为大于0的正数;
当确定所述分布式存储网络中的节点连续N次未返回确认字符ACK作为回应时,确认所述分布式存储网络中的节点存在异常,并在断开所述通信连接后,再次向所述VIP发送连接请求,以重新建立通信连接;所述N为大于0的正整数。
5.根据权利要求4所述方法,其特征在于,所述M为5;所述N为6。
6.一种高可用的虚拟机存储装置,其特征在于,所述装置应用于虚拟操作系统模拟器Qemu,所述装置包括:
建立单元,用于通过虚拟互联网协议地址VIP,与分布式存储网络中的节点建立通信连接;
通信单元,用于通过所述通信连接,按照预设的数据传输协议,与所述分布式存储网络中的节点进行通信;
传输单元,用于通过所述通信连接传输网络心跳包heartbeat,以确认所述分布式存储网络中的节点是否存在异常,并在确认所述分布式存储网络中的节点存在异常时,进行节点更换,重新建立通信连接;
校验单元,用于通过判断所述Qemu虚拟机是否有输入/输出IO,校验所述Qemu虚拟机是否存在异常,并在确认所述Qemu虚拟机存在异常时,重新建立通信连接。
7.根据权利要求6所述的装置,其特征在于,所述VIP工作在所述分布式存储网络中的任意一个节点;且一套所述分布式存储网络中部署一个所述VIP。
8.根据权利要求6所述的装置,其特征在于,所述预设的数据传输协议包括头文件HDR区域、Data区域和CRC区域;所述Data区域用于存储Qemu层中待写入或读取的数据、所述CRC区域用于存储对传输数据进行循环冗余校验CRC得到的校验值。
9.根据权利要求6所述的装置,其特征在于,所述传输单元包括:
第一发送子单元,用于通过所述通信连接,定时每隔M秒向所述分布式存储网络中的节点发送心跳包数据,以确认所述分布式存储网络中的节点是否存在异常;所述M为大于0的正数;
第二发送子单元,用于当确定所述分布式存储网络中的节点连续N次未返回确认字符ACK作为回应时,确认所述分布式存储网络中的节点存在异常,并在断开所述通信连接后,再次向所述VIP发送连接请求,以重新建立通信连接;所述N为大于0的正整数。
10.根据权利要求9所述的装置,其特征在于,所述M为5;所述N为6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744941.6A CN113626139B (zh) | 2021-06-30 | 2021-06-30 | 一种高可用的虚拟机存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744941.6A CN113626139B (zh) | 2021-06-30 | 2021-06-30 | 一种高可用的虚拟机存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626139A true CN113626139A (zh) | 2021-11-09 |
CN113626139B CN113626139B (zh) | 2023-03-24 |
Family
ID=78378853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110744941.6A Active CN113626139B (zh) | 2021-06-30 | 2021-06-30 | 一种高可用的虚拟机存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626139B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821001A (zh) * | 2023-08-30 | 2023-09-29 | 上海燧原智能科技有限公司 | 输入输出子系统的验证方法、装置、电子设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107894913A (zh) * | 2016-09-30 | 2018-04-10 | 华为技术有限公司 | 一种计算机系统和存储访问装置 |
CN109684032A (zh) * | 2018-12-04 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 防脑裂的OpenStack虚拟机高可用计算节点装置及管理方法 |
CN112069094A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 一种数据包封装方法及显示设备 |
-
2021
- 2021-06-30 CN CN202110744941.6A patent/CN113626139B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107894913A (zh) * | 2016-09-30 | 2018-04-10 | 华为技术有限公司 | 一种计算机系统和存储访问装置 |
CN109684032A (zh) * | 2018-12-04 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 防脑裂的OpenStack虚拟机高可用计算节点装置及管理方法 |
CN112069094A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 一种数据包封装方法及显示设备 |
Non-Patent Citations (1)
Title |
---|
姚捃,严南: "OpenStack高可用分布式存储方案设计与实现", 《计算机技术与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821001A (zh) * | 2023-08-30 | 2023-09-29 | 上海燧原智能科技有限公司 | 输入输出子系统的验证方法、装置、电子设备及介质 |
CN116821001B (zh) * | 2023-08-30 | 2023-11-21 | 上海燧原智能科技有限公司 | 输入输出子系统的验证方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113626139B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8015275B2 (en) | Computer product, method, and apparatus for managing operations of servers | |
US20180025049A1 (en) | Server and Data Processing Method | |
JP6859340B2 (ja) | グローバル情報を取得、処理および更新するための装置、システムおよび方法 | |
CN106452836B (zh) | 主节点设置方法及装置 | |
CN109547524B (zh) | 基于物联网的用户行为存储方法、装置、设备及存储介质 | |
US9537932B2 (en) | Emulating test distributed application on server | |
JP6431197B2 (ja) | スナップショット処理方法および関係付けられたデバイス | |
CN104750428A (zh) | 块储存存取和网关模块、储存系统和方法与内容递送装置 | |
WO2019090997A1 (zh) | 一种数据获取方法、装置、计算机设备及存储介质 | |
CN114363144B (zh) | 一种面向分布式系统的故障信息关联上报方法及相关设备 | |
CN113626139B (zh) | 一种高可用的虚拟机存储方法及装置 | |
CN110870286B (zh) | 容错处理的方法、装置和服务器 | |
CN116881053B (zh) | 数据处理方法及交换板、数据处理系统、数据处理装置 | |
US10180914B2 (en) | Dynamic domain name service caching | |
CN113268254A (zh) | 一种集群系统安装方法、装置、电子设备及存储介质 | |
JP4443200B2 (ja) | 情報システム | |
CN117135189A (zh) | 服务器的访问方法及装置、存储介质、电子设备 | |
CN111511041B (zh) | 一种远程连接方法及装置 | |
CN113849341A (zh) | 一种nas快照的性能优化方法、系统、设备及可读存储介质 | |
US11386049B1 (en) | Synchronous replication end to end latency reporting | |
CN116389357B (zh) | 基于片上网络的空洞地址处理方法、装置、设备及介质 | |
Srivastava | Redundancy management for network devices | |
CN112054961B (zh) | 数据传输系统、方法及装置 | |
CN115794470A (zh) | 虚拟机的运行管理方法、装置、电子设备及存储介质 | |
CN115208937A (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 |