CN109144947A - 一种虚拟化***的集群文件***的控制方法和装置 - Google Patents

一种虚拟化***的集群文件***的控制方法和装置 Download PDF

Info

Publication number
CN109144947A
CN109144947A CN201811027275.9A CN201811027275A CN109144947A CN 109144947 A CN109144947 A CN 109144947A CN 201811027275 A CN201811027275 A CN 201811027275A CN 109144947 A CN109144947 A CN 109144947A
Authority
CN
China
Prior art keywords
virtual disk
disk files
calculate node
storage device
metadata
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.)
Pending
Application number
CN201811027275.9A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811027275.9A priority Critical patent/CN109144947A/zh
Publication of CN109144947A publication Critical patent/CN109144947A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种虚拟化***的集群文件***的控制方法和装置。该方法包括:检测计算节点集群的存储装置中的虚拟磁盘文件;为各个虚拟磁盘文件分别设置相应的锁资源;当接收到在计算节点集群中运行了虚拟机的第一计算节点访问存储装置中的第一虚拟磁盘文件的请求的时候,根据第一虚拟磁盘文件相应的锁资源是否被计算节点集群中的其他计算节点占用,判断第一虚拟磁盘文件是否已加锁:如果已加锁,则返回不能访问第一虚拟磁盘文件的结果;如果未加锁,则对第一虚拟磁盘文件加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件。避免了多个计算节点同时访问虚拟磁盘文件造成虚拟磁盘文件数据被破坏,因此该集群管理方式适于虚拟化***的集群文件***。

Description

一种虚拟化***的集群文件***的控制方法和装置
技术领域
本发明涉及虚拟化技术,尤指一种虚拟化***的集群文件***的控制方法和装置。
背景技术
随着信息技术的发展,单台服务器已经不能满足需要,集群技术越来越普及。集群技术是将多台服务器放置在一起,各台服务器均作为服务器集群的计算节点,共同完成任务。在服务器集群中,由于多台服务器可能需要同时访问服务器集群的统一的存储装置,因此服务器集群存储装置的压力越来越大。为了应对上述情况,各种各样的集群文件***被开发出来。但是这些集群文件***难以适应虚拟化场景。在虚拟化***中,为了应对快照、克隆、备份、恢复等需求,开源社区开发出了QCOW2等镜像格式,使用Cow(写时复制)等特性,虚拟化***可以快速地进行快照操作。这其中,QCOW2等镜像格式可以存放在任何可以本地访问的文件***中。虽然QCOW2提供了便利性,但是由于附加了一层特殊的镜像格式,虚拟化***获得的虚拟磁盘的性能严重下降,根本无法和直接读写文件***相媲美。目前业界存在ZFS、BTRFS等文件***,可以直接在计算节点本地的文件***层面上进行快照操作,但是ZFS等文件***并不适于集群操作。
在虚拟化***中,大量采用了集群技术。存储服务器也可以使用各种各样的集群文件***。但是这些集群文件***并不是专门为虚拟化***制作的。
发明内容
为了解决上述技术问题,本发明提供了一种虚拟化***的集群文件***的控制方法和装置,其能够适于应用于虚拟化***的集群文件***。
为了达到本发明目的,本发明提供了一种虚拟化***的集群文件***的控制方法,该方法应用于计算节点集群的集群文件***,该方法包括下列步骤:
检测计算节点集群的存储装置中的虚拟磁盘文件;
为存储装置中的各个虚拟磁盘文件分别设置相应的锁资源;
当接收到在计算节点集群中运行了虚拟机的第一计算节点访问存储装置中的第一虚拟磁盘文件的请求的时候,根据第一虚拟磁盘文件相应的锁资源是否被计算节点集群中的其他计算节点占用,判断第一虚拟磁盘文件是否已加锁:
如果第一虚拟磁盘文件已加锁,则返回不能访问第一虚拟磁盘文件的结果;
如果第一虚拟磁盘文件未加锁,则对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件。
进一步地,在一个可选的实施例中,在对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件的步骤之后,该方法还包括:
检测第一计算节点是否以一定的时间间隔向存储装置写入第一计算节点的存储心跳,并且检测第一计算节点是否以一定的时间间隔从存储装置读取计算节点集群中的其他计算节点在存储装置中写入的相应的存储心跳;
如果没有检测到第一计算节点以一定的时间间隔向存储装置写入第一计算节点的存储心跳,并且没有检测到第一计算节点以一定的时间间隔从存储装置读取计算节点集群中的其他计算节点在存储装置中写入的相应的存储心跳,则取消对第一虚拟磁盘文件进行加锁。
进一步地,在一个可选的实施例中,在对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件的步骤之后,该方法还包括:
检测第一计算节点是否停止访问第一虚拟磁盘文件;
如果检测到第一计算节点停止访问第一虚拟磁盘文件,则取消对第一虚拟磁盘文件进行加锁。
进一步地,在一个可选的实施例中,在检测计算节点集群的存储装置中的虚拟磁盘文件的步骤之后,该方法还包括:
为存储装置中的各个虚拟磁盘文件分别添加相应的元数据;其中,元数据记录了相应的虚拟磁盘文件是否被使用、是否有快照以及真实数据存放位置;
在为虚拟磁盘文件进行磁盘快照操作的时候,复制虚拟磁盘文件的元数据,以生成元数据的副本。
进一步地,在一个可选的实施例中,在复制虚拟磁盘文件的元数据,以生成元数据的副本的步骤之后,该方法还包括:
当接收到采用虚拟磁盘文件的快照来恢复虚拟磁盘文件的请求的时候,根据在元数据的副本中所记录的相应的虚拟磁盘文件的真实数据存放位置,访问相应的虚拟磁盘文件的真实数据存放位置,以恢复虚拟磁盘文件。
另一方面,本发明实施例提供了一种虚拟化***的集群文件***的控制装置,该装置应用于计算节点集群的集群文件***,该装置包括文件检测模块、锁资源设置模块、锁资源判断模块、第一处理模块以及第二处理模块;其中,
文件检测模块用于检测计算节点集群的存储装置中的虚拟磁盘文件;
锁资源设置模块用于为存储装置中的各个虚拟磁盘文件分别设置相应的锁资源;
锁资源判断模块用于:当接收到在计算节点集群中运行了虚拟机的第一计算节点访问存储装置中的第一虚拟磁盘文件的请求的时候,根据第一虚拟磁盘文件相应的锁资源是否被计算节点集群中的其他计算节点占用,判断第一虚拟磁盘文件是否已加锁;
第一处理模块用于:如果锁资源判断模块判断第一虚拟磁盘文件已加锁,则返回不能访问第一虚拟磁盘文件的结果;
第二处理模块用于:如果锁资源判断模块判断第一虚拟磁盘文件未加锁,则对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件。
进一步地,在一个可选的实施例中,该控制装置还包括存储心跳判断模块和第一取消加锁模块;其中,
存储心跳判断模块用于:在第二处理模块对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件之后,判断第一计算节点是否以一定的时间间隔向存储装置写入第一计算节点的存储心跳,并且判断第一计算节点是否以一定的时间间隔从存储装置读取计算节点集群中的其他计算节点在存储装置中写入的相应的存储心跳;
第一取消加锁模块用于:如果存储心跳判断模块没有检测到第一计算节点以一定的时间间隔向存储装置写入第一计算节点的存储心跳,并且没有检测到第一计算节点以一定的时间间隔从存储装置读取计算节点集群中的其他计算节点在存储装置中写入的相应的存储心跳,则取消对第一虚拟磁盘文件进行加锁。
进一步地,在一个可选的实施例中,该控制装置还包括访问检测模块和第二取消加锁模块;其中,
访问检测模块用于:在第二处理模块对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件的步骤之后,检测第一计算节点是否停止访问第一虚拟磁盘文件;
第二取消加锁模块用于:如果访问检测模块检测到第一计算节点停止访问第一虚拟磁盘文件,则取消对第一虚拟磁盘文件进行加锁。
进一步地,在一个可选的实施例中,该控制装置还包括元数据添加模块以及元数据副本生成模块;其中,
元数据添加模块用于:在文件检测模块检测计算节点集群的存储装置中的虚拟磁盘文件之后,为存储装置中的各个虚拟磁盘文件分别添加相应的元数据;其中,元数据记录了相应的虚拟磁盘文件是否被使用、是否有快照以及真实数据存放位置;
元数据副本生成模块用于:在集群文件***为虚拟磁盘文件进行磁盘快照操作的时候,复制虚拟磁盘文件的元数据,以生成元数据的副本。
进一步地,在一个可选的实施例中,该控制装置还包括快照还原模块;
快照还原模块用于:在元数据副本生成模块复制虚拟磁盘文件的元数据以生成元数据的副本之后,当接收到采用虚拟磁盘文件的快照来恢复虚拟磁盘文件的请求的时候,根据在元数据的副本中所记录的相应的虚拟磁盘文件的真实数据存放位置,访问相应的虚拟磁盘文件的真实数据存放位置,以恢复虚拟磁盘文件。
本发明实施例的有益效果在于,通过为各个虚拟磁盘文件分别设置锁资源,使得当运行虚拟机的计算节点请求访问虚拟磁盘文件的时候,能够根据锁资源确定该计算节点是否可以访问该虚拟磁盘文件,使得访问计算节点集群全局的各个虚拟磁盘文件均仅能受到计算节点集群中的一个计算节点访问,避免了多个计算节点同时访问计算节点集群全局中的虚拟磁盘文件所造成的虚拟磁盘文件数据被破坏,同时降低多个计算节点同时访问虚拟磁盘文件所造成的集群的存储装置压力大;因此,上述控制方法和装置提供的集群管理方式适于应用于虚拟化***的集群文件***。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的虚拟化***的集群文件***的控制方法的流程图;
图2为本发明的一个可选实施例提供的虚拟化***的集群文件***的控制方法的流程图;
图3为本发明的一个可选实施例提供的虚拟化***的集群文件***的控制方法的流程图;
图4为本发明实施例提供的虚拟化***的集群文件***的控制装置的框图;
图5为本发明的一个可选实施例提供的虚拟化***的集群文件***的控制装置的框图;
图6为本发明的一个可选实施例提供的虚拟化***的集群文件***的控制装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
一方面,本发明实施例提供了一种虚拟化***的集群文件***的控制方法,该方法应用于计算节点集群的集群文件***,如图1所示,该方法包括步骤S101-步骤S109。
步骤S101,检测计算节点集群的存储装置中的虚拟磁盘文件。
在步骤S101中,检测应用于运行虚拟机的计算节点集群的存储装置中的虚拟磁盘文件。其中,虚拟机在***层面上是由虚拟化***管理的。计算节点集群的存储装置可以是将计算节点集群中的各个计算节点自身的存储装置作为一个整体的统一的存储装置,也可以是一个单独的存储装置。
步骤S103,为存储装置中的各个虚拟磁盘文件分别设置相应的锁资源。
在此,为各个虚拟磁盘文件设置相应的锁资源,以用于控制计算节点集群中的计算节点访问虚拟磁盘文件。锁资源的设置规则如下:如果有计算节点访问了虚拟磁盘文件,则将锁资源设置成被占用;如果该计算节点停止访问了虚拟磁盘文件,则将锁资源设置成被释放,不再受到占用。
步骤S105,当接收到在计算节点集群中运行了虚拟机的第一计算节点访问存储装置中的第一虚拟磁盘文件的请求的时候,根据第一虚拟磁盘文件相应的锁资源是否被计算节点集群中的其他计算节点占用,判断第一虚拟磁盘文件是否已加锁。
在步骤S105中,集群文件***接收在计算节点集群中运行了虚拟机的第一计算节点访问存储装置中的第一虚拟磁盘文件的请求。并且当接收到在计算节点集群中运行了虚拟机的第一计算节点访问存储装置中的第一虚拟磁盘文件的请求的时候,根据锁资源是否受到其他计算节点的占用,来判断第一虚拟磁盘文件是否已加锁,也就是说,第一虚拟磁盘文件是否正在由其他计算节点进行读写操作。
步骤S107,如果第一虚拟磁盘文件已加锁,则返回不能访问第一虚拟磁盘文件的结果。
如果第一虚拟磁盘文件已加锁,则第一虚拟磁盘文件已经受到集群中除了第一计算节点以外的其他计算节点访问,因此,第一计算节点不能访问第一磁盘文件。通过这种方式,避免了多个计算节点同时访问计算节点集群全局中的虚拟磁盘文件所造成的虚拟磁盘文件数据被破坏,同时降低多个计算节点同时访问虚拟磁盘文件所造成的集群的存储装置压力大;因此,上述方式适于应用于虚拟化***的集群文件***。
步骤S109,如果第一虚拟磁盘文件未加锁,则对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件。
如果判断第一虚拟磁盘文件未加锁,则对第一虚拟磁盘文件进行加锁操作,以便仅允许请求访问第一虚拟磁盘文件的第一计算节点进行访问,而避免其他计算节点同时访问第一虚拟磁盘文件所造成的虚拟磁盘文件数据被破坏,同时降低多个计算节点同时访问虚拟磁盘文件所造成的集群的存储装置压力大;因此,上述方式适于应用于虚拟化***的集群文件***。
本发明实施例的有益效果在于,通过为各个虚拟磁盘文件分别设置锁资源,使得当运行虚拟机的计算节点请求访问虚拟磁盘文件的时候,能够根据锁资源确定该计算节点是否可以访问该虚拟磁盘文件,使得访问计算节点集群全局的各个虚拟磁盘文件均仅能受到计算节点集群中的一个计算节点访问,避免了多个计算节点同时访问计算节点集群全局中的虚拟磁盘文件所造成的虚拟磁盘文件数据被破坏,同时降低多个计算节点同时访问虚拟磁盘文件所造成的集群的存储装置压力大;因此,上述集群方式适于应用于虚拟化***的集群文件***。
进一步地,在一个可选的实施例中,如图2所示,在步骤S109之后,该方法还包括步骤S111-步骤S113。
步骤S111,判断第一计算节点是否以一定的时间间隔向存储装置写入第一计算节点的存储心跳,并且判断第一计算节点是否以一定的时间间隔从存储装置读取计算节点集群中的其他计算节点在存储装置中写入的相应的存储心跳。
为了检测正在访问第一虚拟磁盘文件的第一计算节点的状态,在此采用存储心跳来判断第一计算节点的状态。存储装置专门划分了专门用于存储计算节点的存储心跳的区域,第一计算节点通过写入自身的存储心跳的方式,向集群文件***表示第一计算节点自身的写入功能正常;第一计算节点通过读取其他计算节点的存储心跳的方式,也就是说证明第一计算节点自身的读取功能正常,并且得知其他计算节点是否通过存储心跳的方式来访问存储装置。
步骤S113,如果没有检测到第一计算节点以一定的时间间隔向存储装置写入第一计算节点的存储心跳,并且没有检测到第一计算节点以一定的时间间隔从存储装置读取计算节点集群中的其他计算节点在存储装置中写入的相应的存储心跳,则取消对第一虚拟磁盘文件进行加锁。
如果没有检测到第一计算节点写入存储心跳,并且也没检测到第一计算节点从存储装置读取其他计算节点的存储心跳,则说明了第一计算节点不具有读取和写入存储装置的能力。因此,此时第一计算节点也就不能够读写第一虚拟磁盘文件。然而,此时集群文件***仍然通过加锁操作的方式限制只能由第一计算节点读写第一虚拟磁盘文件,而不允许其他计算节点读写第一虚拟磁盘文件。因此,需要取消对第一虚拟磁盘文件进行加锁,以便于其他计算节点对第一虚拟磁盘文件进行读写操作。由于此时取消了对第一虚拟磁盘文件进行加锁,所以此时可以再次执行步骤S105,也就是说,再次接收在计算节点集群中运行了虚拟机的计算节点访问第一虚拟磁盘文件的请求。
进一步地,在一个可选的实施例中,如图3所示,在步骤S109之后,该方法还包括步骤S115-步骤S117。
步骤S115,检测第一计算节点是否停止访问第一虚拟磁盘文件。
在这个可选的实施例中,第一计算节点仍然具有读取和写入的能力,但是第一计算节点可以主动停止访问第一虚拟磁盘文件。因此,为了在第一计算节点停止访问第一虚拟磁盘文件之后,使得其他的计算节点能够访问第一虚拟磁盘文件,需要检测第一计算节点是否停止访问第一虚拟磁盘文件。
步骤S117,如果检测到第一计算节点停止访问第一虚拟磁盘文件,则取消对第一虚拟磁盘文件进行加锁。
当第一计算节点主动停止访问第一虚拟磁盘文件时,为了使得其他计算节点能够访问第一虚拟磁盘文件,取消对第一虚拟磁盘文件进行加锁,以释放第一虚拟磁盘文件的锁资源,使得其他计算节点能够获取第一虚拟磁盘文件的锁资源;所以此时可以再次执行步骤S105,也就是说,再次接收在计算节点集群中运行了虚拟机的计算节点访问第一虚拟磁盘文件的请求。
进一步地,在一个可选的实施例中,在步骤S101之后,该方法还包括:
为存储装置中的各个虚拟磁盘文件分别添加相应的元数据;其中,元数据记录了相应的虚拟磁盘文件是否被使用、是否有快照以及真实数据存放位置;
在为虚拟磁盘文件进行磁盘快照操作的时候,复制虚拟磁盘文件的元数据,以生成元数据的副本。
元数据为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能;在本发明实施例的应用中,虚拟磁盘文件相应的元数据记录了与其相应的虚拟磁盘文件是否被使用、是否有快照以及真实数据存放位置。在本发明的可选的实施例中,在为虚拟磁盘文件进行磁盘快照操作的时候,复制虚拟磁盘文件的元数据,以在存储装置的其他位置生成该元数据的副本。该元数据的副本保存由与上述元数据相同的内容,也就是说记录了虚拟磁盘文件的真实数据的存放位置,由此,可以通过读取元数据的副本中的内容的方式来获取在进行磁盘快照操作的时候的虚拟磁盘文件的数据,不必为了进行磁盘快照操作而复制虚拟磁盘文件的数据,因此节省了集群文件***的各类资源,提高了集群文件***的性能。
进一步地,在一个可选的实施例中,在复制虚拟磁盘文件的元数据,以生成元数据的副本的步骤之后,该方法还包括:
当接收到采用虚拟磁盘文件的快照来恢复虚拟磁盘文件的请求的时候,根据在元数据的副本中所记录的相应的虚拟磁盘文件的真实数据存放位置,访问相应的虚拟磁盘文件的真实数据存放位置,以恢复虚拟磁盘文件。
本实施例是上述可选的实施例的延续,在生成元数据的副本之后,当接收到采用虚拟磁盘文件的快照来恢复虚拟磁盘文件的请求的时候,由于元数据的副本记录了在进行磁盘快照操作的时候的虚拟磁盘文件的数据,因此可以根据在元数据的副本中所记录的相应的虚拟磁盘文件的真实数据存放位置,访问相应的虚拟磁盘文件的真实数据存放位置,以便恢复在进行磁盘快照操作的时刻的虚拟磁盘文件。
另一方面,本发明实施例提供了一种虚拟化***的集群文件***的控制装置,应用于计算节点集群的集群文件***,如图4所示,该装置包括文件检测模块201、锁资源设置模块203、锁资源判断模块205、第一处理模块207以及第二处理模块209。
文件检测模块201用于检测计算节点集群的存储装置中的虚拟磁盘文件。
锁资源设置模块203用于为存储装置中的各个虚拟磁盘文件分别设置相应的锁资源。
锁资源判断模块205用于:接收到在计算节点集群中运行了虚拟机的第一计算节点访问存储装置中的第一虚拟磁盘文件的请求,并且当接收到在计算节点集群中运行了虚拟机的第一计算节点访问存储装置中的第一虚拟磁盘文件的请求的时候,根据第一虚拟磁盘文件相应的锁资源是否被计算节点集群中的其他计算节点占用,判断第一虚拟磁盘文件是否已加锁。
第一处理模块207用于:如果锁资源判断模块判断第一虚拟磁盘文件已加锁,则返回不能访问第一虚拟磁盘文件的结果。
第二处理模块209用于:如果锁资源判断模块判断第一虚拟磁盘文件未加锁,则对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件。
进一步地,在一个可选的实施例中,如图5所示,该控制装置还包括存储心跳判断模块211和第一取消加锁模块213。
存储心跳判断模块211用于:在第二处理模块209对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件之后,判断第一计算节点是否以一定的时间间隔向存储装置写入第一计算节点的存储心跳,并且判断第一计算节点是否以一定的时间间隔从存储装置读取计算节点集群中的其他计算节点在存储装置中写入的相应的存储心跳。
第一取消加锁模块213用于:如果存储心跳判断模块211没有检测到第一计算节点以一定的时间间隔向存储装置写入第一计算节点的存储心跳,并且没有检测到第一计算节点以一定的时间间隔从存储装置读取计算节点集群中的其他计算节点在存储装置中写入的相应的存储心跳,则取消对第一虚拟磁盘文件进行加锁。
进一步地,在一个可选的实施例中,如图6所示,该控制装置还包括访问检测模块215和第二取消加锁模块217。
访问检测模块215用于:在第二处理模块209对第一虚拟磁盘文件进行加锁,以便仅允许第一计算节点访问第一虚拟磁盘文件的步骤之后,检测第一计算节点是否停止访问第一虚拟磁盘文件;
第二取消加锁模块217用于:如果访问检测模块215检测到第一计算节点停止访问第一虚拟磁盘文件,则取消对第一虚拟磁盘文件进行加锁。
进一步地,在一个可选的实施例中,该控制装置还包括元数据添加模块以及元数据副本生成模块;其中,
元数据添加模块用于:在文件检测模块201检测计算节点集群的存储装置中的虚拟磁盘文件之后,为存储装置中的各个虚拟磁盘文件分别添加相应的元数据;其中,元数据记录了相应的虚拟磁盘文件是否被使用、是否有快照以及真实数据存放位置;
元数据副本生成模块用于:在集群文件***为虚拟磁盘文件进行磁盘快照操作的时候,复制虚拟磁盘文件的元数据,以生成元数据的副本。
进一步地,在一个可选的实施例中,该控制装置还包括快照还原模块;
快照还原模块用于:在元数据副本生成模块复制虚拟磁盘文件的元数据以生成元数据的副本之后,当接收到采用虚拟磁盘文件的快照来恢复虚拟磁盘文件的请求的时候,根据在元数据的副本中所记录的相应的虚拟磁盘文件的真实数据存放位置,访问相应的虚拟磁盘文件的真实数据存放位置,以恢复虚拟磁盘文件。
虽然本发明所揭露的实施方式如上,但上述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种虚拟化***的集群文件***的控制方法,应用于计算节点集群的集群文件***,其特征在于,所述方法包括下列步骤:
检测所述计算节点集群的存储装置中的虚拟磁盘文件;
为所述存储装置中的各个虚拟磁盘文件分别设置相应的锁资源;
当接收到在所述计算节点集群中运行了虚拟机的第一计算节点访问所述存储装置中的第一虚拟磁盘文件的请求的时候,根据所述第一虚拟磁盘文件相应的锁资源是否被所述计算节点集群中的其他计算节点占用,判断所述第一虚拟磁盘文件是否已加锁;
如果所述第一虚拟磁盘文件已加锁,则返回不能访问所述第一虚拟磁盘文件的结果;
如果所述第一虚拟磁盘文件未加锁,则对所述第一虚拟磁盘文件进行加锁,以便仅允许所述第一计算节点访问所述第一虚拟磁盘文件。
2.根据权利要求1所述的方法,其特征在于,在所述对所述第一虚拟磁盘文件进行加锁,以便仅允许所述第一计算节点访问所述第一虚拟磁盘文件的步骤之后,所述方法还包括:
检测所述第一计算节点是否以一定的时间间隔向所述存储装置写入所述第一计算节点的存储心跳,并且检测所述第一计算节点是否以一定的时间间隔从所述存储装置读取所述计算节点集群中的其他计算节点在所述存储装置中写入的相应的存储心跳;
如果没有检测到所述第一计算节点以一定的时间间隔向所述存储装置写入所述第一计算节点的存储心跳,并且没有检测到所述第一计算节点以一定的时间间隔从所述存储装置读取所述计算节点集群中的其他计算节点在所述存储装置中写入的相应的存储心跳,则取消对所述第一虚拟磁盘文件进行加锁。
3.根据权利要求1所述的方法,其特征在于,在所述对所述第一虚拟磁盘文件进行加锁,以便仅允许所述第一计算节点访问所述第一虚拟磁盘文件的步骤之后,所述方法还包括:
检测所述第一计算节点是否停止访问所述第一虚拟磁盘文件;
如果检测到所述第一计算节点停止访问所述第一虚拟磁盘文件,则取消对所述第一虚拟磁盘文件进行加锁。
4.根据权利要求1所述的方法,其特征在于,在所述检测所述计算节点集群的存储装置中的虚拟磁盘文件的步骤之后,所述方法还包括:
为所述存储装置中的各个虚拟磁盘文件分别添加相应的元数据;其中,所述元数据记录了相应的虚拟磁盘文件是否被使用、是否有快照以及真实数据存放位置;
在为所述虚拟磁盘文件进行磁盘快照操作的时候,复制所述虚拟磁盘文件的元数据,以生成所述元数据的副本。
5.根据权利要求4所述的方法,在所述复制所述虚拟磁盘文件的元数据,以生成所述元数据的副本的步骤之后,所述方法还包括:
当接收到采用所述虚拟磁盘文件的快照来恢复所述虚拟磁盘文件的请求的时候,根据在所述元数据的副本中所记录的相应的虚拟磁盘文件的真实数据存放位置,访问所述相应的虚拟磁盘文件的真实数据存放位置,以恢复所述虚拟磁盘文件。
6.一种虚拟化***的集群文件***的控制装置,应用于计算节点集群的集群文件***,其特征在于,所述控制装置包括文件检测模块、锁资源设置模块、锁资源判断模块、第一处理模块以及第二处理模块;其中,
所述文件检测模块用于检测所述计算节点集群的存储装置中的虚拟磁盘文件;
所述锁资源设置模块用于为所述存储装置中的各个虚拟磁盘文件分别设置相应的锁资源;
所述锁资源判断模块用于:当接收到在所述计算节点集群中运行了虚拟机的第一计算节点访问所述存储装置中的第一虚拟磁盘文件的请求的时候,根据所述第一虚拟磁盘文件相应的锁资源是否被所述计算节点集群中的其他计算节点占用,判断所述第一虚拟磁盘文件是否已加锁;
所述第一处理模块用于:如果所述锁资源判断模块判断所述第一虚拟磁盘文件已加锁,则返回不能访问所述第一虚拟磁盘文件的结果;
所述第二处理模块用于:如果所述锁资源判断模块判断所述第一虚拟磁盘文件未加锁,则对所述第一虚拟磁盘文件进行加锁,以便仅允许所述第一计算节点访问所述第一虚拟磁盘文件。
7.根据权利要求6所述的控制装置,其特征在于,所述控制装置还包括存储心跳判断模块和第一取消加锁模块;其中,
所述存储心跳判断模块用于:在所述第二处理模块对所述第一虚拟磁盘文件进行加锁,以便仅允许所述第一计算节点访问所述第一虚拟磁盘文件之后,判断所述第一计算节点是否以一定的时间间隔向所述存储装置写入所述第一计算节点的存储心跳,并且检测所述第一计算节点是否以一定的时间间隔从所述存储装置读取所述计算节点集群中的其他计算节点在所述存储装置中写入的相应的存储心跳;
所述第一取消加锁模块用于:如果所述存储心跳判断模块没有检测到所述第一计算节点以一定的时间间隔向所述存储装置写入所述第一计算节点的存储心跳,并且没有检测到所述第一计算节点以一定的时间间隔从所述存储装置读取所述计算节点集群中的其他计算节点在所述存储装置中写入的相应的存储心跳,则取消对所述第一虚拟磁盘文件进行加锁。
8.根据权利要求6所述的控制装置,其特征在于,所述控制装置还包括访问检测模块和第二取消加锁模块;其中,
所述访问检测模块用于:在所述第二处理模块对所述第一虚拟磁盘文件进行加锁,以便仅允许所述第一计算节点访问所述第一虚拟磁盘文件的步骤之后,检测所述第一计算节点是否停止访问所述第一虚拟磁盘文件;
所述第二取消加锁模块用于:如果所述访问检测模块检测到所述第一计算节点停止访问所述第一虚拟磁盘文件,则取消对所述第一虚拟磁盘文件进行加锁。
9.根据权利要求6所述的控制装置,其特征在于,所述控制装置还包括元数据添加模块以及元数据副本生成模块;其中,
所述元数据添加模块用于:在文件检测模块检测所述计算节点集群的存储装置中的虚拟磁盘文件之后,为所述存储装置中的各个虚拟磁盘文件分别添加相应的元数据;其中,所述元数据记录了相应的虚拟磁盘文件是否被使用、是否有快照以及真实数据存放位置;
所述元数据副本生成模块用于:在所述集群文件***为所述虚拟磁盘文件进行磁盘快照操作的时候,复制所述虚拟磁盘文件的元数据,以生成所述元数据的副本。
10.根据权利要求9所述的控制装置,其特征在于,所述控制装置还包括快照还原模块;
所述快照还原模块用于:在所述元数据副本生成模块复制所述虚拟磁盘文件的元数据以生成所述元数据的副本之后,当接收到采用所述虚拟磁盘文件的快照来恢复所述虚拟磁盘文件的请求的时候,根据在所述元数据的副本中所记录的相应的虚拟磁盘文件的真实数据存放位置,访问所述相应的虚拟磁盘文件的真实数据存放位置,以恢复所述虚拟磁盘文件。
CN201811027275.9A 2018-09-04 2018-09-04 一种虚拟化***的集群文件***的控制方法和装置 Pending CN109144947A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811027275.9A CN109144947A (zh) 2018-09-04 2018-09-04 一种虚拟化***的集群文件***的控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811027275.9A CN109144947A (zh) 2018-09-04 2018-09-04 一种虚拟化***的集群文件***的控制方法和装置

Publications (1)

Publication Number Publication Date
CN109144947A true CN109144947A (zh) 2019-01-04

Family

ID=64826836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811027275.9A Pending CN109144947A (zh) 2018-09-04 2018-09-04 一种虚拟化***的集群文件***的控制方法和装置

Country Status (1)

Country Link
CN (1) CN109144947A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221795A (zh) * 2019-10-31 2020-06-02 北京浪潮数据技术有限公司 一种虚拟化磁盘数据校验方法、装置和介质
CN111625401A (zh) * 2020-05-29 2020-09-04 浪潮电子信息产业股份有限公司 基于集群文件***的数据备份方法、装置及可读存储介质
CN112463757A (zh) * 2020-12-17 2021-03-09 北京浪潮数据技术有限公司 一种分布式***的资源访问方法及相关装置
CN112685137A (zh) * 2021-01-07 2021-04-20 广州市品高软件股份有限公司 一种云计算虚拟机块存储熔断保护方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186348A (zh) * 2011-12-27 2013-07-03 杭州信核数据科技有限公司 存储***及其数据读写方法
CN104239227A (zh) * 2013-06-20 2014-12-24 杭州华三通信技术有限公司 一种虚拟化存储管理装置、本地虚拟存储管理装置及方法
CN104899071A (zh) * 2015-04-29 2015-09-09 深圳市深信服电子科技有限公司 集群中虚拟机的恢复方法和***
CN106815298A (zh) * 2016-12-09 2017-06-09 中电科华云信息技术有限公司 基于块存储的分布式共享文件***
CN108038384A (zh) * 2017-11-29 2018-05-15 北京京航计算通讯研究所 一种高安全的集群共享存储虚拟化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186348A (zh) * 2011-12-27 2013-07-03 杭州信核数据科技有限公司 存储***及其数据读写方法
CN104239227A (zh) * 2013-06-20 2014-12-24 杭州华三通信技术有限公司 一种虚拟化存储管理装置、本地虚拟存储管理装置及方法
CN104899071A (zh) * 2015-04-29 2015-09-09 深圳市深信服电子科技有限公司 集群中虚拟机的恢复方法和***
CN106815298A (zh) * 2016-12-09 2017-06-09 中电科华云信息技术有限公司 基于块存储的分布式共享文件***
CN108038384A (zh) * 2017-11-29 2018-05-15 北京京航计算通讯研究所 一种高安全的集群共享存储虚拟化方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221795A (zh) * 2019-10-31 2020-06-02 北京浪潮数据技术有限公司 一种虚拟化磁盘数据校验方法、装置和介质
CN111625401A (zh) * 2020-05-29 2020-09-04 浪潮电子信息产业股份有限公司 基于集群文件***的数据备份方法、装置及可读存储介质
CN112463757A (zh) * 2020-12-17 2021-03-09 北京浪潮数据技术有限公司 一种分布式***的资源访问方法及相关装置
CN112685137A (zh) * 2021-01-07 2021-04-20 广州市品高软件股份有限公司 一种云计算虚拟机块存储熔断保护方法

Similar Documents

Publication Publication Date Title
US20230315758A1 (en) Synchronous replication in a distributed storage environment
CN109144947A (zh) 一种虚拟化***的集群文件***的控制方法和装置
CN100485678C (zh) 将虚拟映射存入对象属性中的分布式基于对象的存储***
US8229897B2 (en) Restoring a file to its proper storage tier in an information lifecycle management environment
US7934071B2 (en) Method of managing storage capacity in a storage system, a storage device and a computer system
CN103793258B (zh) 基于管理程序的服务器复制***及其方法
US8161128B2 (en) Sharing of data across disjoint clusters
CN106446159B (zh) 一种存储文件的方法、第一虚拟机及名称节点
EP1544754A2 (en) System and method for file and storage management
CN107408070A (zh) 分布式存储***中的多事务日志
CN109979606B (zh) 一种基于容器化构建微服务化医疗影像云及云胶片的方法
CN108351806A (zh) 分布式基于流的数据库触发器
CN105630418A (zh) 一种数据存储方法及装置
JPH10232810A (ja) クライアント/サーバ計算機システムにおける切断状態ライトの許可装置及び方法
CN110515539A (zh) 基于云存储的云磁盘挂载方法、装置、设备和存储介质
US20110055151A1 (en) Processing Database Operation Requests
CN111797172B (zh) 数据迁移方法、装置、设备、分布式***及存储介质
CN109254958B (zh) 分布式数据读写方法、设备及***
US20100250866A1 (en) Information processing program, information processing device and information processing method
CN105183799B (zh) 一种权限管理的方法及客户端
JP2685530B2 (ja) 共用データの管理方法
CN110659303A (zh) 一种数据库节点的读写控制方法及装置
CN116502259A (zh) 基于租户id的数据库管理方法、装置及计算机可读介质
JPH04107750A (ja) ファイル管理方式
CN115510018A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190104

RJ01 Rejection of invention patent application after publication