CN115827151A - 一种虚拟机磁盘挂载方法、装置、设备及存储介质 - Google Patents
一种虚拟机磁盘挂载方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115827151A CN115827151A CN202211261006.5A CN202211261006A CN115827151A CN 115827151 A CN115827151 A CN 115827151A CN 202211261006 A CN202211261006 A CN 202211261006A CN 115827151 A CN115827151 A CN 115827151A
- Authority
- CN
- China
- Prior art keywords
- task
- mounting
- virtual machine
- disk
- task group
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例公开一种虚拟机磁盘挂载方法、装置、设备及存储介质,其中,所述方法包括:接收用户触发的为M个虚拟机挂载N个共享磁盘的请求,其中M和N均为大于1的整数;创建M*N个原子任务;将第1~N个原子任务作为第1任务组,调用此任务组:创建N个磁盘文件,并将N个磁盘文件挂载给第1个虚拟机;将第(k‑1)*N+1~k*N个原子任务作为第k任务组,调用此任务组:将已创建的N个磁盘文件以共享的方式挂载给第k个虚拟机,其中k取值为2到M的整数。本发明实施例提供的技术方案可适用于为虚拟机挂载磁盘的场景,能够提高磁盘的挂载效率。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种虚拟机磁盘挂载方法、装置、设备及存储介质。
背景技术
目前,云厂商给虚拟机挂载新磁盘有两种途经:一是添加新硬盘,通过选择Datastore的方式创建vmdk格式的磁盘;二是添加新设备RDM磁盘的方式,通过选择祼LUN来创建。
然而,现有技术中的磁盘挂载方式无法满足同时给多个虚拟机挂载多个磁盘的需求,只能人工手动一个一个挂载,耗时长,效率低下。
发明内容
有鉴于此,本发明实施例提供一种虚拟机磁盘挂载方法、装置、设备及存储介质,以提高磁盘的挂载效率。
第一方面,本发明实施例提供一种虚拟机磁盘挂载方法,包括:
接收用户触发的为M个虚拟机挂载N个共享磁盘的请求,其中M和N均为大于1的整数;
创建M*N个原子任务;
将第1~N个原子任务作为第1任务组,调用此任务组:创建N个磁盘文件,并将N个磁盘文件挂载给第1个虚拟机;
将第(k-1)*N+1~k*N个原子任务作为第k任务组,调用此任务组:将已创建的N个磁盘文件以共享的方式挂载给第k个虚拟机,其中k取值为2到M的整数。
进一步的,第1任务组中的各原子任务以串行的方式执行以下操作:创建本原子任务对应的磁盘文件,将创建的该磁盘文件挂载给第1个虚拟机。
进一步的,所述方法还包括:确定除第1任务组外的其它任务组之间的执行顺序;
按照确定结果,调用除第1任务组外的其它任务组,其中第k任务组中各原子任务之间以串行方式执行以下操作:将本原子任务对应的已创建的磁盘文件挂载给第k个虚拟机。
进一步的,确定除第1任务组外的其它任务组之间的执行顺序,包括:
将除第1任务组外的其它任务组分批次,其中,不同批次的任务组间以串行方式执行,同一批次内的任务组以并行方式执行。
进一步的,所述方法还包括:
按照如下计算公式,计算M个虚拟机挂载N个共享磁盘的完成量Pro:
实时显示所述M个虚拟机挂载N个共享磁盘的完成量;
其中,Pi表示M*N个原子任务中当前正在执行操作的第i个原子任务在本原子任务中的完成量,取值大于等于0且小于等于100,x表示当前正在执行操作的任务组所属的批次索引值,Q表示批次划分规则指定的一个批次内的最大任务组数量,Px,y,z表示当前正在执行操作的属于第x批次内第y个任务组中的第z个原子任务在本原子任务中的完成量,∑y()中y取值为1到第x批次内的任务组数量,mod(i,N)表示i除以N的余数。
进一步的,在创建M*N个原子任务之前,所述方法还包括:检查所述M个虚拟机当前是否存在进行中的虚拟机操作任务;检查结果为否时,执行创建M*N 个原子任务的步骤。
进一步的,在创建M*N个原子任务之前,所述方法还包括:
获取所述M个虚拟机中各虚拟机的磁盘信息,包括:小型计算机系统接口 SCSI控制器数量和占用情况,以及,每个SCSI控制器的最大磁盘挂载数量和占用情况;
根据所述M个虚拟机中各虚拟机的磁盘信息,对本次接收到的用户触发的请求进行校验;校验通过后,执行创建M*N个原子任务的步骤。
第二方面,本发明实施例提供一种虚拟机磁盘挂载装置,包括:
请求接收单元,用于接收用户触发的为M个虚拟机挂载N个共享磁盘的请求,其中M和N均为大于1的整数;
任务创建单元,用于创建M*N个原子任务;
第一任务调用单元,用于将第1~N个原子任务作为第1任务组,调用此任务组:创建N个磁盘文件,并将N个磁盘文件挂载给第1个虚拟机;
第二任务调用单元,用于将第(k-1)*N+1~k*N个原子任务作为第k任务组,调用此任务组:将已创建的N个磁盘文件以共享的方式挂载给第k个虚拟机,其中k取值为2到M的整数。
进一步的,第1任务组中的各原子任务以串行的方式执行以下操作:创建本原子任务对应的磁盘文件,将创建的该磁盘文件挂载给第1个虚拟机。
进一步的,第二任务调用单元,还用于:确定除第1任务组外的其它任务组之间的执行顺序;
按照确定结果,调用除第1任务组外的其它任务组,其中第k任务组中各原子任务之间以串行方式执行以下操作:将本原子任务对应的已创建的磁盘文件挂载给第k个虚拟机。
进一步的,第二任务调用单元用于确定除第1任务组外的其它任务组之间的执行顺序,具体包括:
将除第1任务组外的其它任务组分批次,其中,不同批次的任务组间以串行方式执行,同一批次内的任务组以并行方式执行。
进一步的,所述装置还包括挂载完成量显示单元,用于:
按照如下计算公式,计算M个虚拟机挂载N个共享磁盘的完成量Pro:
实时显示所述M个虚拟机挂载N个共享磁盘的完成量;
其中,Pi表示M*N个原子任务中当前正在执行操作的第i个原子任务在本原子任务中的完成量,取值大于等于0且小于等于100,x表示当前正在执行操作的任务组所属的批次索引值,Q表示批次划分规则指定的一个批次内的最大任务组数量,Px,y,z表示当前正在执行操作的属于第x批次内第y个任务组中的第z个原子任务在本原子任务中的完成量,∑y()中y取值为1到第x批次内的任务组数量,mod(i,N)表示i除以N的余数。
进一步的,所述装置还包括检查单元,用于:检查所述M个虚拟机当前是否存在进行中的虚拟机操作任务;检查结果为否时,触发任务创建单元执行创建 M*N个原子任务的步骤。
进一步的,所述装置还包括校验单元,用于:
获取所述M个虚拟机中各虚拟机的磁盘信息,包括:小型计算机系统接口 SCSI控制器数量和占用情况,以及,每个SCSI控制器的最大磁盘挂载数量和占用情况;
根据所述M个虚拟机中各虚拟机的磁盘信息,对本次接收到的用户触发的请求进行校验;
校验通过后,触发执行创建M*N个原子任务的步骤。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述第一方面所述的虚拟机磁盘挂载方法。
第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个中央处理器执行,以实现前述第一方面所述的虚拟机磁盘挂载方法。
本发明实施例提供的技术方案,能够为批量的虚拟机自动挂载批量的磁盘,于用户而言,只需要配置虚拟机、磁盘数量等一些简单的信息,便可实现磁盘在虚拟机上的一键挂载,十分简洁、高效。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的一种虚拟机磁盘挂载方法的流程图;
图2为本发明实施例一提供的一种为多个虚拟机挂载多个共享磁盘时的任务调用示意图;
图3为本发明实施例二提供的一种虚拟机磁盘挂载方法的流程图;
图4为本发明实施例三提供的一种虚拟机磁盘挂载方法的流程图;
图5为本发明实施例四提供的一种虚拟机磁盘挂载装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种虚拟机磁盘挂载方法,该方法可以由虚拟机磁盘挂载装置执行,其中所述装置由软件实现。参见图1,该方法包括如下步骤101-104。
步骤101、接收用户触发的为M个虚拟机挂载N个共享磁盘的请求。
本步骤中,在用户触发了对虚拟机的共享磁盘挂载请求后,显示共享磁盘挂载配置界面,接收用户基于该界面配置的M个虚拟机信息(例如虚拟机标识)与 N个共享磁盘信息(例如共享磁盘大小、共享磁盘所在的存储池属性信息等),由此生成为M个虚拟机挂载N个共享磁盘的请求。其中,M和N均为大于1的整数。
步骤102、创建M*N个原子任务。
步骤103、将第1~N个原子任务作为第1任务组,调用此任务组:创建N 个磁盘文件,并将N个磁盘文件挂载给第1个虚拟机。
步骤104、将第(k-1)*N+1~k*N个原子任务作为第k任务组,调用此任务组:将已创建的N个磁盘文件以共享的方式挂载给第k个虚拟机。其中,k取值为2到M的整数。
本实施例中,为保证M个虚拟机能够自动挂载N个共享磁盘,实时获知挂载完成量,创建有M*N个原子任务,其中:
第1~N个原子任务,作为第1任务组,负责为M个虚拟机的第1个虚拟机挂载N个磁盘;
第(N+1)~2N个原子任务,作为第2任务组,负责将所述N个磁盘以共享的方式挂载给M个虚拟机的第2个虚拟机;
第(2N+1)~3N个原子任务,作为第3任务组,负责将所述N个磁盘以共享的方式挂载给M个虚拟机的第3个虚拟机;
第(3N+1)~4N个原子任务,作为第4任务组,负责将所述N个磁盘以共享的方式挂载给M个虚拟机的第4个虚拟机;
以此类推,……
直至,第(M-1)N+1~M*N个原子任务,作为第M任务组,将N个磁盘以共享的方式挂载给M个虚拟机的第M个虚拟机。
其中,第a*N+b个原子任务负责为M个虚拟机的第a+1个虚拟机挂载第b 个磁盘,0≤a≤M-1,1≤b≤N。
示例性的,第1任务组中的各原子任务(即第1~N个原子任务)以串行的方式执行以下操作:创建本原子任务对应的磁盘文件,将创建的该磁盘文件挂载给第1个虚拟机。进一步的,对于除第1任务组外的其它任务组:同一任务组内的各原子任务以串行方式先后为同一虚拟机挂载不同的共享磁盘,即第k任务组中各原子任务之间以串行方式执行以下操作:将本原子任务对应的已创建的磁盘文件挂载给第k个虚拟机;而不同任务组间可采用串行或并行方式执行,也即对不同虚拟机的共享磁盘挂载任务可先后或同时执行。
相应的,本实施例提供的虚拟机磁盘挂载方法还包括:确定除第1任务组外的其它任务组之间的执行顺序;按照确定结果,调用除第1任务组外的其它任务组。其中,所述执行顺序可以是串行、并行,亦或者串并组合的方式。作为一种优选实施方式,上述确定除第1任务组外的其它任务组之间的执行顺序,可具体包括:将除第1任务组外的其它任务组分批次,其中,不同批次的任务组间以串行方式执行,同一批次内的任务组以并行方式执行。该优选方式中,可按照每Q个任务组为一个批次,来划分除第1任务组外的所有其它任务组,最后一个批次中的任务组数量小于等于Q。其中,一个批次内的任务组数量Q通常大于1且小于等于虚拟机所在的虚拟化平台所允许的最大任务并发数,具体可由本领域技术人员结合实际的虚拟化平台环境配置结合经验确定。
如图2所示,为11个虚拟机挂载N个共享磁盘,共有11个任务组,每个任务组有N个原子任务。其中,除第1任务组之外剩余的10个任务组,分为3 个批次:第1批次和第2批次均为4个任务组(任务组1-4),第3个批次为2 个任务组(任务组1、2)。在此整个挂载过程中:
首先,调用第1任务组中的N个原子任务先后为第1个虚拟机挂载N个磁盘;
待第1任务组执行完毕后,同时调用第1批次中的4个任务组并行执行,其中该4个任务组中每个任务组内的N个原子任务先后为对应的虚拟机挂载N 个磁盘;
待第1批次的各任务组执行完毕后,同时调用第2批次中的4个任务组并行执行,其中该4个任务组中每个任务组内的N个原子任务先后为对应的虚拟机挂载N个磁盘;
待第2批次的各任务组执行完毕后,同时调用第3批次中的2个任务组并行执行,其中该2个任务组中每个任务组内的N个原子任务先后为对应的虚拟机挂载N个磁盘。
目前图2中所示的挂载进度是第2批次中的4个任务组正在并行执行,如:第2批次任务组1内的前2个原子任务已先后为对应的虚拟机挂载2个磁盘,第3个原子任务正在为对应的虚拟机挂载第3个磁盘。
实施例二
本实施例在上述实施例一的基础上,进一步增加虚拟机共享磁盘挂载完成量的可视化显示操作,以便让用户清晰的获知在触发了磁盘挂载请求后的一个反馈,比较准确地估计完成挂载任务需要等待的时长,同时也能够方便技术人员更加直观地观察各任务组执行挂载任务完成量的快慢,进而据此优化任务组内原子任务的磁盘挂载实现。参见图3,本实施例提供的虚拟机磁盘挂载方法,包括如下步骤301-306。
步骤301、接收用户触发的为M个虚拟机挂载N个共享磁盘的请求。
步骤302、创建M*N个原子任务。
步骤303、将第1~N个原子任务作为第1任务组,调用此任务组:创建N 个磁盘文件,并将N个磁盘文件挂载给第1个虚拟机。
步骤304、将第(k-1)*N+1~k*N个原子任务作为第k任务组,调用此任务组:将已创建的N个磁盘文件以共享的方式挂载给第k个虚拟机。其中,k取值为2到M的整数。
步骤305、计算M个虚拟机挂载N个共享磁盘的完成量。
步骤306、实时显示M个虚拟机挂载N个共享磁盘的完成量。
其中,完成量可以采用进度条或者动画播放的方式动态地显示M个虚拟机挂载N个共享磁盘的完成量,其中进度条显示的进度或动画播放的进度与M个虚拟机挂载N个共享磁盘的完成量成正比,进度条满格或动画播放完毕表示M 个虚拟机挂载N个共享磁盘全部完成。典型的,M个虚拟机挂载N个共享磁盘全部完成时的完成量为100,下面就各任务组在3种不同的执行顺序下,如何计算M个虚拟机挂载N个共享磁盘的完成量详细介绍。
(1)情况一、各任务组内串行执行,组间串行执行
按照如下计算公式,计算M个虚拟机挂载N个共享磁盘的完成量Pro:
其中,Pi表示M*N个原子任务中当前正在执行操作的第i个原子任务在本原子任务中的完成量,取值大于等于0且小于等于100。
(2)情况二、各任务组内串行执行,除第1任务组外的其它任务组间并行执行
按照如下计算公式,计算M个虚拟机挂载N个共享磁盘的完成量Pro:
其中:
Pi表示M*N个原子任务中当前正在执行操作的第i个原子任务在本原子任务中的完成量;
k为从2到M的整数;mod(i,N)为i除以N的余数,表示第k任务组中的第t 个原子任务;Pk,y表示当前正在执行操作的第k任务组中的第t个原子任务在本原子任务的完成量,取值大于等于0且小于等于100。
(3)情况三、各任务组内串行执行,除第1任务组外的其它任务组间串行与并行组合执行
按照如下计算公式,计算M个虚拟机挂载N个共享磁盘的完成量Pro:
其中:
Pi表示M*N个原子任务中当前正在执行操作的第i个原子任务在本原子任务中的完成量,取值大于等于0且小于等于100;
x表示当前正在执行操作的任务组所属的批次索引值,Q表示批次划分规则指定的一个批次内的最大任务组数量;
Px,y,z表示当前正在执行操作的属于第x批次内第y个任务组中的第z个原子任务在本原子任务的完成量,取值大于等于0且小于等于100;∑y()中y取值为 1到第x批次内的任务组数量;mod(i,N)为i除以N的余数,表示属于第x批次内第y个任务组中的第z个原子任务。
需要说明的是,批次划分规则为:按照每Q个任务组为一个批次,来划分除第1任务组外的所有其它任务组,最后一个批次中的任务组数量小于等于Q,批次索引值的取值范围为1到总批次数量。
实施例三
本实施例以上述各实施例为基础,在收到用户请求后,增加一些任务检查和请求校验操作,只有在检查、校验合格的情况下才调用任务组执行虚拟机的共享磁盘挂载操作,由此能够大大提高挂载的成功率,很大程度上避免了挂载失败后回滚引起的系统资源浪费问题的发生。参见图4,本实施例提供的虚拟机磁盘挂载方法,包括如下步骤401-407。
步骤401、接收用户触发的为M个虚拟机挂载N个共享磁盘的请求。
步骤402、获取M个虚拟机中各虚拟机的磁盘信息。
其中,每个虚拟机的磁盘信息包括:小型计算机系统接口SCSI控制器数量和占用情况,以及,每个SCSI控制器的最大磁盘挂载数量和占用情况。
步骤403、根据M个虚拟机中各虚拟机的磁盘信息,对本次接收到的用户触发的请求进行校验。
本步骤中,请求中指定的N个共享磁盘应小于等于目前M个虚拟机总共所允许配置且未被占用的SCSI控制器可挂载的磁盘总数V,假设每个SCSI控制器的最大磁盘挂载数量相等时,所述磁盘总数V=所述允许配置且未被占用的 SCSI控制器数量*每个SCSI控制器的最大磁盘挂载数量。如果N小于等于V,则校验通过,执行步骤404。否则,结束本次流程,优选的,还可提示用户修改请求中共享磁盘的数量。
步骤404、检查M个虚拟机当前是否存在进行中的虚拟机操作任务。
如果是,则结束本次流程,优选的,还可提示M个虚拟机存在执行中的任务。如果否,则执行步骤405。
步骤405、创建M*N个原子任务。
步骤406、将第1~N个原子任务作为第1任务组,调用此任务组:创建N 个磁盘文件,并将N个磁盘文件挂载给第1个虚拟机。
步骤407、将第(k-1)*N+1~k*N个原子任务作为第k任务组,调用此任务组:将已创建的N个磁盘文件以共享的方式挂载给第k个虚拟机。
其中,k取值为2到M的整数。
需要说明的是,上述示例给出的是一种优选实施方式,该方式中先进行静态信息的检查(对应上述步骤402和步骤403),然后再进行运行态的信息检查(对应上述步骤404)。但是,并不说明必须要按照此方式执行,上述步骤402和步骤 403,与步骤404的执行顺序可调换,也即先执行步骤404,再执行步骤402和步骤403。
进一步的,作为一种优选实施方式,在调用各任务组时,若组内的某个原子任务挂载操作失败,则可尝试重新挂载,在重新挂载多次(优选为3次)失败后,结束本次流程,进行回滚,将所述M个虚拟机以及N个磁盘恢复到本次接收到用户触发的为M个虚拟机挂载N个共享磁盘的请求时的状态。
此外,本发明实施例提供的虚拟机磁盘挂载方法,在以上各方法实施例描述的方案基础上,在接收到用户触发的为M个虚拟机挂载N个共享磁盘的请求之后,创建M*N个原子任务之前,还可进一步包括:
根据请求中携带的共享磁盘信息,确定本次批量挂载所需的存储空间大小;
查询各存储池的可用空间,从中过滤出满足本次批量挂载所需的存储空间大小的存储池列表;
在过滤出的存储池列表中选取至少一个存储池,划分出N个磁盘,以供任务组挂载给M个虚拟机使用,其中N个磁盘中每个磁盘大小等于请求中携带的共享磁盘大小。
优选的,请求中的磁盘信息还可包括磁盘所在的存储池等级(例如可用性等级、灾备等级)信息。在过滤出所述存储池列表后,从该列表中匹配出满足该存储池等级信息的目标存储池,选取一个目标存储池,划分出N个磁盘,以供任务组挂载给M个虚拟机使用。
实施例四
本实施例提供了一种虚拟机磁盘挂载装置,该装置可以用于执行本发明任意实施例所述的虚拟机磁盘挂载方法,该装置由软件实现。参见图5,该装置具体包括以下单元:
请求接收单元501,用于接收用户触发的为M个虚拟机挂载N个共享磁盘的请求,其中M和N均为大于1的整数;
任务创建单元502,用于创建M*N个原子任务;
第一任务调用单元503,用于将第1~N个原子任务作为第1任务组,调用此任务组:创建N个磁盘文件,并将N个磁盘文件挂载给第1个虚拟机;
第二任务调用单元504,用于将第(k-1)*N+1~k*N个原子任务作为第k任务组,调用此任务组:将已创建的N个磁盘文件以共享的方式挂载给第k个虚拟机,其中k取值为2到M的整数。
示例性的,第1任务组中的各原子任务以串行的方式执行以下操作:创建本原子任务对应的磁盘文件,将创建的该磁盘文件挂载给第1个虚拟机。
示例性的,第二任务调用单元504,还用于:确定除第1任务组外的其它任务组之间的执行顺序;
按照确定结果,调用除第1任务组外的其它任务组,其中第k任务组中各原子任务之间以串行方式执行以下操作:将本原子任务对应的已创建的磁盘文件挂载给第k个虚拟机。
优选的,第二任务调用单元504用于确定除第1任务组外的其它任务组之间的执行顺序,具体包括:
将除第1任务组外的其它任务组分批次,其中,不同批次的任务组间以串行方式执行,同一批次内的任务组以并行方式执行。
进一步的,本实施例提供的虚拟机磁盘挂载装置还包括挂载完成量显示单元505,用于:
按照如下计算公式,计算M个虚拟机挂载N个共享磁盘的完成量Pro:
实时显示所述M个虚拟机挂载N个共享磁盘的完成量;
其中,Si表示M*N个原子任务中当前正在执行操作的第i个原子任务在本原子任务的完成量,取值大于等于0且小于等于100,x表示当前正在执行操作的任务组所属的批次索引值,Q表示批次划分规则指定的一个批次内的最大任务组数量,Px,y,z表示当前正在执行操作的属于第x批次内第y个任务组中的第z个原子任务在本原子任务中的完成量,∑y()中y取值为1到第x批次内的任务组数量, mod(i,N)表示i除以N的余数。
进一步的,本实施例提供的虚拟机磁盘挂载装置还包括检查单元506,用于:检查所述M个虚拟机当前是否存在进行中的虚拟机操作任务;检查结果为否时,触发任务创建单元502执行创建M*N个原子任务的步骤。
进一步的,本实施例提供的虚拟机磁盘挂载装置还包括校验单元507,用于:
获取所述M个虚拟机中各虚拟机的磁盘信息,包括:小型计算机系统接口 SCSI控制器数量和占用情况,以及,每个SCSI控制器的最大磁盘挂载数量和占用情况;
根据所述M个虚拟机中各虚拟机的磁盘信息,对本次接收到的用户触发的请求进行校验;
校验通过后,触发执行创建M*N个原子任务的步骤。
本发明实施例提供的虚拟机磁盘挂载装置与本发明任意实施例提供的虚拟机磁盘挂载方法属于同一发明构思,未在本实施例中描述的技术细节可参见前述方法实施例中的相关描述,在此不再赘述。
图6为本发明电子设备一个实施例的结构示意图,可以实现本发明各方法实施例的流程,如图6所示,上述电子设备可以包括:壳体61、处理器62、存储器63、电路板64和电源电路65,其中,电路板64安置在壳体61围成的空间内部,处理器62和存储器63设置在电路板64上;电源电路65,用于为上述电子设备的各个电路或器件供电;存储器63用于存储可执行程序代码;处理器 62通过读取存储器63中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的虚拟机磁盘挂载方法。
处理器62对上述步骤的具体执行过程以及处理器62通过运行可执行程序代码来进一步执行的步骤,可以参见本发明各方法实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
再者,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或多个程序,所述一个或者多个程序可被一个或者多个中央处理器执行,以实现前述实施例所述的虚拟机磁盘挂载方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种虚拟机磁盘挂载方法,其特征在于,所述方法包括:
接收用户触发的为M个虚拟机挂载N个共享磁盘的请求,其中M和N均为大于1的整数;
创建M*N个原子任务;
将第1~N个原子任务作为第1任务组,调用此任务组:创建N个磁盘文件,并将N个磁盘文件挂载给第1个虚拟机;
将第(k-1)*N+1~k*N个原子任务作为第k任务组,调用此任务组:将已创建的N个磁盘文件以共享的方式挂载给第k个虚拟机,其中k取值为2到M的整数。
2.根据权利要求1所述的方法,其特征在于,第1任务组中的各原子任务以串行的方式执行以下操作:创建本原子任务对应的磁盘文件,将创建的该磁盘文件挂载给第1个虚拟机。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:确定除第1任务组外的其它任务组之间的执行顺序;
按照确定结果,调用除第1任务组外的其它任务组,其中第k任务组中各原子任务之间以串行方式执行以下操作:将本原子任务对应的已创建的磁盘文件挂载给第k个虚拟机。
4.根据权利要求3所述的方法,其特征在于,确定除第1任务组外的其它任务组之间的执行顺序,包括:
将除第1任务组外的其它任务组分批次,其中,不同批次的任务组间以串行方式执行,同一批次内的任务组以并行方式执行。
6.根据权利要求1所述的方法,其特征在于,在创建M*N个原子任务之前,所述方法还包括:检查所述M个虚拟机当前是否存在进行中的虚拟机操作任务;
检查结果为否时,执行创建M*N个原子任务的步骤。
7.根据权利要求1所述的方法,其特征在于,在创建M*N个原子任务之前,所述方法还包括:
获取所述M个虚拟机中各虚拟机的磁盘信息,包括:小型计算机系统接口SCSI控制器数量和占用情况,以及,每个SCSI控制器的最大磁盘挂载数量和占用情况;
根据所述M个虚拟机中各虚拟机的磁盘信息,对本次接收到的用户触发的请求进行校验;
校验通过后,执行创建M*N个原子任务的步骤。
8.一种虚拟机磁盘挂载装置,其特征在于,所述装置包括:
请求接收单元,用于接收用户触发的为M个虚拟机挂载N个共享磁盘的请求,其中M和N均为大于1的整数;
任务创建单元,用于创建M*N个原子任务;
第一任务调用单元,用于将第1~N个原子任务作为第1任务组,调用此任务组:创建N个磁盘文件,并将N个磁盘文件挂载给第1个虚拟机;
第二任务调用单元,用于将第(k-1)*N+1~k*N个原子任务作为第k任务组,调用此任务组:将已创建的N个磁盘文件以共享的方式挂载给第k个虚拟机,其中k取值为2到M的整数。
9.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述1-7中任一权利要求所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个中央处理器执行,以实现前述1-7中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211261006.5A CN115827151A (zh) | 2022-10-14 | 2022-10-14 | 一种虚拟机磁盘挂载方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211261006.5A CN115827151A (zh) | 2022-10-14 | 2022-10-14 | 一种虚拟机磁盘挂载方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827151A true CN115827151A (zh) | 2023-03-21 |
Family
ID=85524761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211261006.5A Pending CN115827151A (zh) | 2022-10-14 | 2022-10-14 | 一种虚拟机磁盘挂载方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827151A (zh) |
-
2022
- 2022-10-14 CN CN202211261006.5A patent/CN115827151A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108339270B (zh) | 游戏场景中静态组件的处理方法、渲染方法及装置 | |
CN111190718A (zh) | 实现任务调度的方法、装置及系统 | |
CN111240792B (zh) | 用户界面的主题切换方法、装置、终端及存储介质 | |
US20150379824A1 (en) | System, method, and storage medium storing program for providing game items | |
CN108038398B (zh) | 一种二维码解析能力测试方法、装置及电子设备 | |
CN109499069B (zh) | 操作结果校验方法、装置、存储介质及电子装置 | |
CN112087487A (zh) | 模型训练任务的调度方法、装置、电子设备及存储介质 | |
CN110478898B (zh) | 游戏中虚拟场景的配置方法及装置、存储介质及电子设备 | |
CN112473144A (zh) | 游戏资源数据的处理方法及装置 | |
CN109473121B (zh) | 语音合成质量测试方法及装置 | |
CN110652728A (zh) | 一种游戏资源管理方法、装置、电子设备及存储介质 | |
CN110851307A (zh) | 振动环境下硬盘性能测试方法、系统、终端及存储介质 | |
CN111580808A (zh) | 页面生成方法、装置、计算机设备及存储介质 | |
CN111161283A (zh) | 一种处理图片资源的方法、装置及电子设备 | |
CN112699046B (zh) | 应用程序测试方法及装置、电子设备和存储介质 | |
CN111359205B (zh) | 云端游戏的操作方法、装置、计算机设备及存储介质 | |
CN115827151A (zh) | 一种虚拟机磁盘挂载方法、装置、设备及存储介质 | |
CN115629951B (zh) | 一种任务全链路追踪方法、第一节点、链路系统及介质 | |
CN115591243A (zh) | 渲染通道的性能检测方法、装置、电子设备及存储介质 | |
CN111880896B (zh) | 一种快速还原容器及运行状态数据的方法和装置 | |
EP2775414A1 (en) | Role clearing method, device and system for emulator game | |
CN113934421A (zh) | 应用程序的页面路径写入方法、装置、设备及存储介质 | |
CN111178936A (zh) | 一种广告展示的测试方法、装置、电子设备及存储介质 | |
CN102779065B (zh) | 一种数据处理方法及电子设备 | |
CN112698791A (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 |