CN112015350B - 一种虚拟机数据磁盘的卸载方法、装置和介质 - Google Patents
一种虚拟机数据磁盘的卸载方法、装置和介质 Download PDFInfo
- Publication number
- CN112015350B CN112015350B CN202010889289.2A CN202010889289A CN112015350B CN 112015350 B CN112015350 B CN 112015350B CN 202010889289 A CN202010889289 A CN 202010889289A CN 112015350 B CN112015350 B CN 112015350B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- data disk
- target data
- disk
- unloading
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000008014 freezing Effects 0.000 claims abstract description 29
- 238000007710 freezing Methods 0.000 claims abstract description 29
- 238000005192 partition Methods 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010257 thawing Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- 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/061—Improving I/O performance
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/445—Program loading or initiating
- G06F9/44594—Unloading
-
- 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
- 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/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种虚拟机数据磁盘的卸载方法、装置和介质,接收目标数据磁盘的卸载指令,当目标数据磁盘存在IO操作时,依据目标数据磁盘所对应的虚拟机***类型,调用与虚拟机***类型相匹配的路径获取规则,以获取目标数据磁盘在虚拟机上的挂载点。对挂载点对应的文件***执行冻结操作,使得目标数据磁盘上所有IO操作暂停。当目标数据磁盘不存在IO操作或者对挂载点对应的文件***执行冻结操作后,则可以对目标数据磁盘执行卸载操作。该技术方案可以支持多种操作***的虚拟机安全卸载数据磁盘,防止用户在卸载数据磁盘时由于存在IO操作导致数据磁盘卸载失败或者用户数据丢失等严重问题,实现了数据磁盘的安全卸载。
Description
技术领域
本发明涉及云服务技术领域,特别是涉及一种虚拟机数据磁盘的卸载方法、装置和计算机可读存储介质。
背景技术
用户在日常使用云平台提供的虚拟机时,常常由于工作需要频繁对虚拟机挂载的数据磁盘进行挂载和卸载操作,而如果此时虚拟机应用或者用户在对数据磁盘进行读写操作时,云平台会不断尝试去卸载该数据磁盘。当读写操作持续时间很长,云平台会放弃卸载该数据磁盘同时提示用户数据磁盘卸载失败。
由于云平台卸载数据磁盘是通过libvirt对虚拟机进行相关操作,而卸载数据磁盘任务属于异步操作,云平台已通知用户数据磁盘卸载失败,但libvirt侧卸载任务还在等待IO操作完成之后卸载虚拟机数据磁盘,当数据磁盘的IO操作停止之后,虚拟机xml中数据磁盘信息就会被libvirt层删掉,该场景导致云平台维护的磁盘信息与虚拟机磁盘信息不一致,影响数据磁盘的安全使用。当虚拟机上待卸载磁盘有持续IO操作时,如果强制卸载磁盘可能会导致用户数据丢失或磁盘损坏。
可见,如何安全卸载数据磁盘,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种虚拟机数据磁盘的卸载方法、装置和计算机可读存储介质,可以安全卸载数据磁盘,防止用户在卸载数据磁盘时由于存在IO操作导致数据磁盘卸载失败或者用户数据丢失等严重问题。
为解决上述技术问题,本发明实施例提供一种虚拟机数据磁盘的卸载方法,包括:
接收目标数据磁盘的卸载指令;
判断所述目标数据磁盘是否存在IO操作;
当所述目标数据磁盘存在IO操作时,依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点;
对所述挂载点对应的文件***执行冻结操作;
当所述目标数据磁盘不存在IO操作或者对所述挂载点对应的文件***执行冻结操作后,则对所述目标数据磁盘执行卸载操作。
可选地,所述依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点包括:
当所述虚拟机***类型为windows***时,调用预先设置的QGA指令,以获取文件***的挂载点信息以及所述目标数据磁盘对应的磁盘序列号;
根据所述文件***的挂载点信息以及所述磁盘序列号,确定出所述目标数据磁盘在所述虚拟机上的挂载点。
可选地,所述依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点包括:
当所述虚拟机***类型为非windows***时,调用预先设置的虚拟机文件脚本,以获取文件***的挂载点信息以及所述目标数据磁盘对应的分区路径;
查询所述虚拟机在所述分区路径下对应的磁盘分区信息;
依据所述目标数据磁盘在所述云平台上的序列号,确定出所述目标数据磁盘在所述虚拟机上映射的磁盘信息;
将所述磁盘信息与所述磁盘分区信息进行匹配,确定出所述目标数据磁盘在所述虚拟机上对应的目标磁盘分区信息;
根据所述目标磁盘分区信息以及所述文件***的挂载点信息,确定出所述目标数据磁盘在虚拟机上的挂载点。
可选地,还包括:
当所述虚拟机被冻结时,在对所述目标数据磁盘执行卸载操作之后对所述虚拟机执行解冻操作。
可选地,在所述依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点之前还包括:
当所述目标数据磁盘存在IO操作时,展示所述目标数据磁盘存在IO操作的提示信息;
当接收到所述目标数据磁盘的确认卸载指令时,则执行所述依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点的步骤。
本发明实施例还提供了一种虚拟机数据磁盘的卸载装置,包括接收单元、判断单元、获取单元、冻结单元和卸载单元;
所述接收单元,用于接收目标数据磁盘的卸载指令;
所述判断单元,用于判断所述目标数据磁盘是否存在IO操作;
所述获取单元,用于当所述目标数据磁盘存在IO操作时,依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点;
所述冻结单元,用于对所述挂载点对应的文件***执行冻结操作;
所述卸载单元,用于当所述目标数据磁盘不存在IO操作或者对所述挂载点对应的文件***执行冻结操作后,则对所述目标数据磁盘执行卸载操作。
可选地,所述获取单元包括调用子单元和确定子单元;
所述调用子单元,用于当所述虚拟机***类型为windows***时,调用预先设置的QGA指令,以获取文件***的挂载点信息以及所述目标数据磁盘对应的磁盘序列号;
所述确定子单元,用于根据所述文件***的挂载点信息以及所述磁盘序列号,确定出所述目标数据磁盘在所述虚拟机上的挂载点。
可选地,所述获取单元包括调用子单元、查询子单元、映射子单元、匹配子单元和确定子单元;
所述调用子单元,用于当所述虚拟机***类型为非windows***时,调用预先设置的虚拟机文件脚本,以获取文件***的挂载点信息以及所述目标数据磁盘对应的分区路径;
所述查询子单元,用于查询所述虚拟机在所述分区路径下对应的磁盘分区信息;
所述映射子单元,用于依据所述目标数据磁盘在所述云平台上的序列号,确定出所述目标数据磁盘在所述虚拟机上映射的磁盘信息;
所述匹配子单元,用于将所述磁盘信息与所述磁盘分区信息进行匹配,确定出所述目标数据磁盘在所述虚拟机上对应的目标磁盘分区信息;
所述确定子单元,用于根据所述目标磁盘分区信息以及所述文件***的挂载点信息,确定出所述目标数据磁盘在虚拟机上的挂载点。
可选地,还包括解冻单元;
所述解冻单元,用于当所述虚拟机被冻结时,在对所述目标数据磁盘执行卸载操作之后对所述虚拟机执行解冻操作。
可选地,还包括提示单元和确认单元;
所述提示单元,用于当所述目标数据磁盘存在IO操作时,展示所述目标数据磁盘存在IO操作的提示信息;
所述确认单元,用于当接收到所述目标数据磁盘的确认卸载指令时,则触发所述获取单元执行所述依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点的步骤。
本发明实施例还提供了一种虚拟机数据磁盘的卸载装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述虚拟机数据磁盘的卸载方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意项所述虚拟机数据磁盘的卸载方法的步骤。
由上述技术方案可以看出,接收目标数据磁盘的卸载指令;判断目标数据磁盘是否存在IO操作。当目标数据磁盘存在IO操作时,如果此时强制执行目标数据磁盘的卸载操作,会导致目标数据磁盘损坏或者用户数据丢失等严重问题。为了保证目标数据磁盘卸载的安全性,可以依据目标数据磁盘所对应的虚拟机***类型,调用与虚拟机***类型相匹配的路径获取规则,以获取目标数据磁盘在虚拟机上的挂载点。挂载点指的是云平台上的目标数据磁盘在虚拟机上的分布位置,对挂载点对应的文件***执行冻结操作,使得目标数据磁盘上所有IO操作暂停,此时对目标数据磁盘执行卸载操作不会对IO操作所对应的用户数据造成影响。因此当目标数据磁盘不存在IO操作或者对挂载点对应的文件***执行冻结操作后,则可以对目标数据磁盘执行卸载操作。该技术方案可以支持多种操作***的虚拟机安全卸载数据磁盘,防止用户在卸载数据磁盘时由于存在IO操作导致数据磁盘卸载失败或者用户数据丢失等严重问题,实现了数据磁盘的安全卸载。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟机数据磁盘的卸载方法的流程图;
图2为本发明实施例提供的一种虚拟机数据磁盘的卸载装置的结构示意图;
图3为本发明实施例提供的一种虚拟机数据磁盘的卸载装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种虚拟机数据磁盘的卸载方法。图1为本发明实施例提供的一种虚拟机数据磁盘的卸载方法的流程图,该方法包括:
S101:接收目标数据磁盘的卸载指令。
***中数据磁盘的个数较多,为了便于区分,在本发明实施例中,可以将需要卸载的数据磁盘称作目标数据磁盘。
在实际应用中,用户可以通过云平台提供的用户界面输入目标数据磁盘的卸载指令。
S102:判断目标数据磁盘是否存在IO操作。
云平台接收到数据磁盘的卸载指令后,可以判断目标数据磁盘是否存在IO操作。
当目标数据磁盘存在IO操作时,若直接执行数据磁盘的卸载,往往会导致用户数据的丢失或者目标数据磁盘的损坏。因此,在本发明实施例中,当目标数据磁盘存在IO操作时,可以先对目标数据磁盘上的IO操作进行冻结处理,即当目标数据磁盘存在IO操作时执行S103。
S103:依据目标数据磁盘所对应的虚拟机***类型,调用与虚拟机***类型相匹配的路径获取规则,以获取目标数据磁盘在虚拟机上的挂载点。
目标数据磁盘存在IO操作时,为了避免IO操作与磁盘卸载操作的冲突,可以先对IO操作执行冻结处理,此时需要确定出目标数据磁盘在虚拟机上的所有挂载点,挂载点可以看作目标数据磁盘在虚拟机上的分布位置。
虚拟机***类型可以有多种,不同的***类型确定目标数据磁盘挂载点的方式有所不同。在本发明实施例中,根据挂载点的不同获取方式,可以将虚拟机***类型划分为windows***和非windows***。其中,非windows***可以是linux***或者其它异构操作***。
在具体实现中,当虚拟机***类型为windows***时,可以调用预先设置的QGA指令,以获取文件***的挂载点信息(mountpoint)以及目标数据磁盘对应的磁盘序列号(Universally Unique Identifier,UUID)。根据文件***的挂载点信息以及磁盘序列号,可以确定出目标数据磁盘在虚拟机上的挂载点。
文件***的挂载点信息记载了所有数据磁盘在虚拟机上的分区位置。磁盘序列号为目标数据磁盘的唯一标识码。将目标数据磁盘的磁盘序列号与文件***的挂载点信息进行匹配,可以确定出目标数据磁盘在虚拟机上的分区位置即挂载点。
当虚拟机***类型为非windows***时,可以调用预先设置的虚拟机文件脚本,以获取文件***的挂载点信息以及目标数据磁盘对应的分区路径。查询虚拟机在分区路径下对应的磁盘分区信息。依据目标数据磁盘在云平台上的序列号,确定出目标数据磁盘在虚拟机上映射的磁盘信息。
在实际应用中,可以到虚拟机/sys/class/block/$name/slaves路径下找到对应磁盘分区信息,其中name即为目标数据磁盘对应的分区路径。到虚拟机内部/dev/disk/by-id路径下获取目标数据磁盘在云平台上的序列号。
依据目标数据磁盘在云平台上的序列号,确定出目标数据磁盘在虚拟机上映射的磁盘信息。在确定出虚拟机在分区路径下对应的磁盘分区信息以及目标数据磁盘在虚拟机上映射的磁盘信息之后,可以将磁盘信息与磁盘分区信息进行匹配,确定出目标数据磁盘在虚拟机上对应的目标磁盘分区信息;根据目标磁盘分区信息以及文件***的挂载点信息,确定出目标数据磁盘在虚拟机上的挂载点。
举例说明,在获取到文件***的挂载点信息(mountpoint)以及目标数据磁盘对应的分区路径(name)后,可以执行如下步骤:(1)到虚拟机/sys/class/block/$name/slaves路径下获取到对应的磁盘分区信息,如vdb1,vdb2,vdb3。(2)然后到虚拟机内部/dev/disk/by-id找到云平台的序列号对应的磁盘信息,如云主机/dev/vdb。(3)根据步骤(1)中确定的mountpoint1对应vdb1,mountpoint2对应vdb2,mountpoint3对应vdb3,就可以确定云平台的序列号对应的虚拟机上的挂载点为mountpoint1,mountpoint2和mountpoint3。
S104:对挂载点对应的文件***执行冻结操作。
当确定出目标数据磁盘在虚拟机上的挂载点之后,便可以直接对所有挂载点对应的文件***执行冻结操作。
S105:当目标数据磁盘不存在IO操作或者对挂载点对应的文件***执行冻结操作后,则对目标数据磁盘执行卸载操作。
当完成对所有挂载点对应的文件***的冻结操作之后,此时目标数据磁盘上不存在IO操作,不会出现IO操作与磁盘卸载操作冲突的问题,因此当目标数据磁盘不存在IO操作或者对挂载点对应的文件***执行冻结操作后,则可以对目标数据磁盘执行卸载操作,保证了目标数据磁盘卸载的安全性。
由上述技术方案可以看出,接收目标数据磁盘的卸载指令;判断目标数据磁盘是否存在IO操作。当目标数据磁盘存在IO操作时,如果此时强制执行目标数据磁盘的卸载操作,会导致目标数据磁盘损坏或者用户数据丢失等严重问题。为了保证目标数据磁盘卸载的安全性,可以依据目标数据磁盘所对应的虚拟机***类型,调用与虚拟机***类型相匹配的路径获取规则,以获取目标数据磁盘在虚拟机上的挂载点。挂载点指的是云平台上的目标数据磁盘在虚拟机上的分布位置,对挂载点对应的文件***执行冻结操作,使得目标数据磁盘上所有IO操作暂停,此时对目标数据磁盘执行卸载操作不会对IO操作所对应的用户数据造成影响。因此当目标数据磁盘不存在IO操作或者对挂载点对应的文件***执行冻结操作后,则可以对目标数据磁盘执行卸载操作。该技术方案可以支持多种操作***的虚拟机安全卸载数据磁盘,防止用户在卸载数据磁盘时由于存在IO操作导致数据磁盘卸载失败或者用户数据丢失等严重问题,实现了数据磁盘的安全卸载。
在实际应用中,当需要对目标数据磁盘执行卸载操作时,也可以对目标数据磁盘所对应的虚拟机执行冻结操作,此时虚拟机上所有的文件***都会被冻结,为了降低对其它数据磁盘的影响,因此当虚拟机被冻结时,在对目标数据磁盘执行卸载操作之后,可以对虚拟机执行解冻操作。
在上述介绍中,当目标数据磁盘上存在IO操作时,为了避免IO操作与目标数据磁盘的卸载操作存在冲突,会对挂载点对应的文件***执行冻结操作。考虑到在实际应用中,也可能会存在需要完成IO操作之后再对目标数据磁盘执行卸载操作的需求。
因此,在依据目标数据磁盘所对应的虚拟机***类型,调用与虚拟机***类型相匹配的路径获取规则,以获取目标数据磁盘在虚拟机上的挂载点之前,当目标数据磁盘存在IO操作时,可以展示目标数据磁盘存在IO操作的提示信息。
***接收到目标数据磁盘的确认卸载指令时,则执行依据目标数据磁盘所对应的虚拟机***类型,调用与虚拟机***类型相匹配的路径获取规则,以获取目标数据磁盘在虚拟机上的挂载点的步骤。
通过展示目标数据磁盘存在IO操作的提示信息,可以便于用户直观的了解目标数据磁盘当前的使用状态。用户可以根据提示信息,选择是否需要继续执行目标数据磁盘的卸载操作,使得目标数据磁盘的卸载操作更加符合用户的实际要求。
图2为本发明实施例提供的一种虚拟机数据磁盘的卸载装置的结构示意图,包括接收单元21、判断单元22、获取单元23、冻结单元24和卸载单元25;
接收单元21,用于接收目标数据磁盘的卸载指令;
判断单元22,用于判断目标数据磁盘是否存在IO操作;
获取单元23,用于当目标数据磁盘存在IO操作时,依据目标数据磁盘所对应的虚拟机***类型,调用与虚拟机***类型相匹配的路径获取规则,以获取目标数据磁盘在虚拟机上的挂载点;
冻结单元24,用于对挂载点对应的文件***执行冻结操作;
卸载单元25,用于当目标数据磁盘不存在IO操作或者对挂载点对应的文件***执行冻结操作后,则对目标数据磁盘执行卸载操作。
可选地,获取单元包括调用子单元和确定子单元;
调用子单元,用于当虚拟机***类型为windows***时,调用预先设置的QGA指令,以获取文件***的挂载点信息以及目标数据磁盘对应的磁盘序列号;
确定子单元,用于根据文件***的挂载点信息以及磁盘序列号,确定出目标数据磁盘在虚拟机上的挂载点。
可选地,获取单元包括调用子单元、查询子单元、映射子单元、匹配子单元和确定子单元;
调用子单元,用于当虚拟机***类型为非windows***时,调用预先设置的虚拟机文件脚本,以获取文件***的挂载点信息以及目标数据磁盘对应的分区路径;
查询子单元,用于查询虚拟机在分区路径下对应的磁盘分区信息;
映射子单元,用于依据目标数据磁盘在云平台上的序列号,确定出目标数据磁盘在虚拟机上映射的磁盘信息;
匹配子单元,用于将磁盘信息与磁盘分区信息进行匹配,确定出目标数据磁盘在虚拟机上对应的目标磁盘分区信息;
确定子单元,用于根据目标磁盘分区信息以及文件***的挂载点信息,确定出目标数据磁盘在虚拟机上的挂载点。
可选地,还包括解冻单元;
解冻单元,用于当虚拟机被冻结时,在对目标数据磁盘执行卸载操作之后对虚拟机执行解冻操作。
可选地,还包括提示单元和确认单元;
提示单元,用于当目标数据磁盘存在IO操作时,展示目标数据磁盘存在IO操作的提示信息;
确认单元,用于当接收到目标数据磁盘的确认卸载指令时,则触发获取单元执行依据目标数据磁盘所对应的虚拟机***类型,调用与虚拟机***类型相匹配的路径获取规则,以获取目标数据磁盘在虚拟机上的挂载点的步骤。
图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,接收目标数据磁盘的卸载指令;判断目标数据磁盘是否存在IO操作。当目标数据磁盘存在IO操作时,如果此时强制执行目标数据磁盘的卸载操作,会导致目标数据磁盘损坏或者用户数据丢失等严重问题。为了保证目标数据磁盘卸载的安全性,可以依据目标数据磁盘所对应的虚拟机***类型,调用与虚拟机***类型相匹配的路径获取规则,以获取目标数据磁盘在虚拟机上的挂载点。挂载点指的是云平台上的目标数据磁盘在虚拟机上的分布位置,对挂载点对应的文件***执行冻结操作,使得目标数据磁盘上所有IO操作暂停,此时对目标数据磁盘执行卸载操作不会对IO操作所对应的用户数据造成影响。因此当目标数据磁盘不存在IO操作或者对挂载点对应的文件***执行冻结操作后,则可以对目标数据磁盘执行卸载操作。该技术方案可以支持多种操作***的虚拟机安全卸载数据磁盘,防止用户在卸载数据磁盘时由于存在IO操作导致数据磁盘卸载失败或者用户数据丢失等严重问题,实现了数据磁盘的安全卸载。
图3为本发明实施例提供的一种虚拟机数据磁盘的卸载装置30的硬件结构示意图,包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序以实现如上述任意实施例所述的虚拟机数据磁盘的卸载方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的虚拟机数据磁盘的卸载方法的步骤。
以上对本发明实施例所提供的一种虚拟机数据磁盘的卸载方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (6)
1.一种虚拟机数据磁盘的卸载方法,其特征在于,包括:
接收目标数据磁盘的卸载指令;
判断所述目标数据磁盘是否存在IO操作;
当所述目标数据磁盘存在IO操作时,依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点;
对所述挂载点对应的文件***执行冻结操作;
当所述目标数据磁盘不存在IO操作或者对所述挂载点对应的文件***执行冻结操作后,则对所述目标数据磁盘执行卸载操作;
所述依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点包括:
当所述虚拟机***类型为windows***时,调用预先设置的QGA指令,以获取文件***的挂载点信息以及所述目标数据磁盘对应的磁盘序列号;
根据所述文件***的挂载点信息以及所述磁盘序列号,确定出所述目标数据磁盘在所述虚拟机上的挂载点;
所述依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点包括:
当所述虚拟机***类型为非windows***时,调用预先设置的虚拟机文件脚本,以获取文件***的挂载点信息以及所述目标数据磁盘对应的分区路径;
查询所述虚拟机在所述分区路径下对应的磁盘分区信息;
依据所述目标数据磁盘在云平台上的序列号,确定出所述目标数据磁盘在所述虚拟机上映射的磁盘信息;
将所述磁盘信息与所述磁盘分区信息进行匹配,确定出所述目标数据磁盘在所述虚拟机上对应的目标磁盘分区信息;
根据所述目标磁盘分区信息以及所述文件***的挂载点信息,确定出所述目标数据磁盘在虚拟机上的挂载点。
2.根据权利要求1所述的虚拟机数据磁盘的卸载方法,其特征在于,还包括:
当所述虚拟机被冻结时,在对所述目标数据磁盘执行卸载操作之后对所述虚拟机执行解冻操作。
3.根据权利要求1-2任意一项所述的虚拟机数据磁盘的卸载方法,其特征在于,在所述依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点之前还包括:
当所述目标数据磁盘存在IO操作时,展示所述目标数据磁盘存在IO操作的提示信息;
当接收到所述目标数据磁盘的确认卸载指令时,则执行所述依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点的步骤。
4.一种虚拟机数据磁盘的卸载装置,其特征在于,包括接收单元、判断单元、获取单元、冻结单元和卸载单元;
所述接收单元,用于接收目标数据磁盘的卸载指令;
所述判断单元,用于判断所述目标数据磁盘是否存在IO操作;
所述获取单元,用于当所述目标数据磁盘存在IO操作时,依据所述目标数据磁盘所对应的虚拟机***类型,调用与所述虚拟机***类型相匹配的路径获取规则,以获取所述目标数据磁盘在虚拟机上的挂载点;
所述冻结单元,用于对所述挂载点对应的文件***执行冻结操作;
所述卸载单元,用于当所述目标数据磁盘不存在IO操作或者对所述挂载点对应的文件***执行冻结操作后,则对所述目标数据磁盘执行卸载操作;
所述获取单元包括调用子单元和确定子单元;
所述调用子单元,用于当所述虚拟机***类型为windows***时,调用预先设置的QGA指令,以获取文件***的挂载点信息以及所述目标数据磁盘对应的磁盘序列号;
所述确定子单元,用于根据所述文件***的挂载点信息以及所述磁盘序列号,确定出所述目标数据磁盘在所述虚拟机上的挂载点;
所述获取单元包括调用子单元、查询子单元、映射子单元、匹配子单元和确定子单元;
所述调用子单元,用于当所述虚拟机***类型为非windows***时,调用预先设置的虚拟机文件脚本,以获取文件***的挂载点信息以及所述目标数据磁盘对应的分区路径;
所述查询子单元,用于查询所述虚拟机在所述分区路径下对应的磁盘分区信息;
所述映射子单元,用于依据所述目标数据磁盘在云平台上的序列号,确定出所述目标数据磁盘在所述虚拟机上映射的磁盘信息;
所述匹配子单元,用于将所述磁盘信息与所述磁盘分区信息进行匹配,确定出所述目标数据磁盘在所述虚拟机上对应的目标磁盘分区信息;
所述确定子单元,用于根据所述目标磁盘分区信息以及所述文件***的挂载点信息,确定出所述目标数据磁盘在虚拟机上的挂载点。
5.一种虚拟机数据磁盘的卸载装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至3任意一项所述虚拟机数据磁盘的卸载方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任意项所述虚拟机数据磁盘的卸载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010889289.2A CN112015350B (zh) | 2020-08-28 | 2020-08-28 | 一种虚拟机数据磁盘的卸载方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010889289.2A CN112015350B (zh) | 2020-08-28 | 2020-08-28 | 一种虚拟机数据磁盘的卸载方法、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015350A CN112015350A (zh) | 2020-12-01 |
CN112015350B true CN112015350B (zh) | 2022-03-22 |
Family
ID=73503901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010889289.2A Active CN112015350B (zh) | 2020-08-28 | 2020-08-28 | 一种虚拟机数据磁盘的卸载方法、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015350B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479057A (zh) * | 2010-11-29 | 2012-05-30 | 英业达股份有限公司 | 更动储存空间状态的方法 |
CN103336728A (zh) * | 2013-05-08 | 2013-10-02 | 上海爱数软件有限公司 | 一种磁盘数据恢复方法 |
CN106126272A (zh) * | 2016-06-15 | 2016-11-16 | 北京小米移动软件有限公司 | 文件***卸载方法及装置 |
CN106502721A (zh) * | 2016-09-26 | 2017-03-15 | 华为技术有限公司 | 一种命令卸载方法、装置及物理机 |
US9823865B1 (en) * | 2015-06-30 | 2017-11-21 | EMC IP Holding Company LLC | Replication based security |
CN107463404A (zh) * | 2017-08-03 | 2017-12-12 | 浪潮(北京)电子信息产业有限公司 | 一种向虚拟机文件***中增加配置文件的方法和*** |
CN109388478A (zh) * | 2018-11-01 | 2019-02-26 | 郑州云海信息技术有限公司 | 用于OpenStack环境中迁移虚拟机的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120179885A1 (en) * | 2010-11-17 | 2012-07-12 | Wade Gregory L | Write control system |
-
2020
- 2020-08-28 CN CN202010889289.2A patent/CN112015350B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479057A (zh) * | 2010-11-29 | 2012-05-30 | 英业达股份有限公司 | 更动储存空间状态的方法 |
CN103336728A (zh) * | 2013-05-08 | 2013-10-02 | 上海爱数软件有限公司 | 一种磁盘数据恢复方法 |
US9823865B1 (en) * | 2015-06-30 | 2017-11-21 | EMC IP Holding Company LLC | Replication based security |
CN106126272A (zh) * | 2016-06-15 | 2016-11-16 | 北京小米移动软件有限公司 | 文件***卸载方法及装置 |
CN106502721A (zh) * | 2016-09-26 | 2017-03-15 | 华为技术有限公司 | 一种命令卸载方法、装置及物理机 |
CN107463404A (zh) * | 2017-08-03 | 2017-12-12 | 浪潮(北京)电子信息产业有限公司 | 一种向虚拟机文件***中增加配置文件的方法和*** |
CN109388478A (zh) * | 2018-11-01 | 2019-02-26 | 郑州云海信息技术有限公司 | 用于OpenStack环境中迁移虚拟机的方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于虚拟磁盘的数据保护管理***的设计与实现;汪进奇;《宁夏机械》;20071215(第04期);第48-52页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112015350A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4113291B1 (en) | Request processing method, system on chip, and public cloud management component | |
CN107682172B (zh) | 控制中心装置、业务***处理的方法及介质 | |
CN106547645B (zh) | 自动修复映像档的方法及服务器*** | |
CN115794257B (zh) | ***启动方法、装置、电子设备和存储介质 | |
CN110308880B (zh) | 日志打印方法、***、计算机设备及计算机可读存储介质 | |
CN112015350B (zh) | 一种虚拟机数据磁盘的卸载方法、装置和介质 | |
CN111124437A (zh) | 一种基于OpenStack的裸机资源配置信息获取方法、***及设备 | |
CN110881224B (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
CN112818336A (zh) | 一种数据访问方法、数据访问装置及计算机可读存储介质 | |
CN104461655A (zh) | 用于自动选择应用安装位置的方法和移动终端 | |
CN111949216A (zh) | 云平台存储卷自动扩容的方法、***、终端及存储介质 | |
CN112579591A (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN113220453B (zh) | 区块链***中发起交易的方法及装置 | |
CN113760631B (zh) | 页面加载时长确定方法、装置、设备和存储介质 | |
CN113608767A (zh) | 服务升级处理方法、电子设备及存储介质 | |
CN110888686B (zh) | 应用程序启动方法、设备和存储介质 | |
CN110059071B (zh) | 基于存储过程的数据对比监控方法、***、设备及介质 | |
CN111475220B (zh) | 冷启动方法、装置、电子设备及计算机存储介质 | |
CN112231290A (zh) | 一种本地日志的处理方法、装置、设备及存储介质 | |
CN113032196A (zh) | 一种芯片测试方法及装置 | |
CN109800567B (zh) | 监听前台应用启动的方法及装置、终端设备 | |
CN113515299A (zh) | 软件开发工具包sdk热升级方法、装置、设备及存储介质 | |
CN116502235B (zh) | 一种tms远程管理方法及*** | |
CN117478721B (zh) | 控制程序的连接方法、装置、设备以及存储介质 | |
CN116088887A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240523 Address after: Room s311, S05 / F, Langchao Science Park, 1036 Langchao Road, high tech Zone, Jinan City, Shandong Province, 250101 Patentee after: Inspur(Jinan)Data Technology Co.,Ltd Country or region after: China Address before: 100085 5 / F, building C, No.2, Shangdi Information Road, Haidian District, Beijing Patentee before: Beijing Inspur Data Technology Co.,Ltd. Country or region before: China |