CN106959927B - 获取虚拟机中的逻辑分区的位置信息的方法及装置 - Google Patents
获取虚拟机中的逻辑分区的位置信息的方法及装置 Download PDFInfo
- Publication number
- CN106959927B CN106959927B CN201610013031.XA CN201610013031A CN106959927B CN 106959927 B CN106959927 B CN 106959927B CN 201610013031 A CN201610013031 A CN 201610013031A CN 106959927 B CN106959927 B CN 106959927B
- Authority
- CN
- China
- Prior art keywords
- disk
- logical partition
- virtual machine
- position information
- disk drive
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage 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
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
-
- 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
Abstract
本发明公开了一种获取虚拟机中的逻辑分区的位置信息的方法及装置。其中,该方法包括:获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,其中,磁盘位置信息为逻辑分区在虚拟机中对应的虚拟磁盘的位置信息;将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,模拟磁盘位置信息为虚拟机安装在物理机或网络设备之后产生的存储路径;在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息。本发明解决了相关技术中由于难以识别或容易混淆逻辑分区与模拟磁盘的映射关系而造成的数据容灾隐患的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种获取虚拟机中的逻辑分区的位置信息的方法及装置。
背景技术
用户云主机一般会有几块虚拟磁盘,它们可能来自本地物理机,也有可能来自云存储设备,还有可能来自磁盘快照。当这些虚拟磁盘大小相等(实际场景中,由于创建虚拟磁盘时空间大小基本是固定的几种,因此它们一般会相等)又同时被挂载到用户云主机上时,就没有办法来识别用户虚拟机(Virtual Machine,简称为VM)里的逻辑分区究竟从属于物理机控制系统中的哪个或哪几个虚拟磁盘,这样,用户由于难以识别或容易混淆逻辑分区与虚拟磁盘的映射关系而影响对关键数据盘的备份,导致数据漏备份,进而给数据容灾带来非常大的隐患。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种获取虚拟机中的逻辑分区的位置信息的方法及装置,以至少解决相关技术中由于难以识别或容易混淆逻辑分区与模拟磁盘的映射关系而造成的数据容灾隐患的技术问题。
根据本发明实施例的一个方面,提供了一种获取虚拟机中的逻辑分区的位置信息的方法,包括:获取虚拟机中的逻辑分区在上述虚拟机中的磁盘位置信息,其中,上述磁盘位置信息为上述逻辑分区在上述虚拟机中对应的虚拟磁盘的位置信息;将上述逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,上述模拟磁盘位置信息为虚拟机安装在上述物理机或上述网络设备之后产生的存储路径;在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为上述虚拟机中的逻辑分区在上述物理机或上述网络设备中的位置信息。
根据本发明实施例的另一方面,还提供了一种获取虚拟机中的逻辑分区的位置信息的装置,包括:第一获取单元,用于获取虚拟机中的逻辑分区在上述虚拟机中的磁盘位置信息,其中,上述磁盘位置信息为上述逻辑分区在上述虚拟机中对应的虚拟磁盘的位置信息;匹配单元,用于将上述逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,上述模拟磁盘位置信息为虚拟机安装在上述物理机或上述网络设备之后产生的存储路径;第一确定单元,用于在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为上述虚拟机中的逻辑分区在上述物理机或上述网络设备中的位置信息。
在本发明实施例中,采用逻辑分区所对应的磁盘位置信息匹配物理机或网络设备中已经存储的至少一个模拟磁盘位置信息以识别逻辑分区与模拟磁盘的映射关系的方式,通过获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,其中,磁盘位置信息为逻辑分区在虚拟机中对应的虚拟磁盘的位置信息;将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,模拟磁盘位置信息为虚拟机安装在物理机或网络设备之后产生的存储路径;在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息,达到了降低逻辑分区与模拟磁盘的映射关系的识别难度,以及防止混淆逻辑分区与模拟磁盘的映射关系的目的,从而实现了减轻甚至消除数据容灾隐患的技术效果,进而解决了相关技术中由于难以识别或容易混淆逻辑分区与模拟磁盘的映射关系而造成的数据容灾隐患的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的获取虚拟机中的逻辑分区的位置信息的方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的另一种可选的获取虚拟机中的逻辑分区的位置信息的方法的流程图;
图3是根据本发明实施例的一种可选的获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息的原理图;
图4是根据本发明实施例的一种可选的的Windows逻辑分区、磁盘驱动器和磁盘适配器的关系图;
图5是根据本发明实施例的一种可选的获取逻辑分区对应的磁盘编号的流程图;
图6是根据本发明实施例的一种可选的从磁盘驱动器端获取实例名的流程图;
图7是根据本发明实施例的一种可选的从磁盘适配器端获取实例名的流程图;
图8是根据本发明实施例的一种可选的获取虚拟机中的逻辑分区的位置信息的装置的示意图;
图9是根据本发明实施例的另一种可选的获取虚拟机中的逻辑分区的位置信息的装置的示意图;
图10是根据本发明实施例的另一种可选的获取虚拟机中的逻辑分区的位置信息的装置的示意图;
图11是根据本发明实施例的另一种可选的获取虚拟机中的逻辑分区的位置信息的装置的示意图;
图12是根据本发明实施例的另一种可选的获取虚拟机中的逻辑分区的位置信息的装置的示意图;
图13是根据本发明实施例的另一种可选的获取虚拟机中的逻辑分区的位置信息的装置的示意图;
图14是根据本发明实施例的另一种可选的获取虚拟机中的逻辑分区的位置信息的装置的示意图;
图15是根据本发明实施例的一种可选的计算机终端的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中涉及到的名词解释如下:
VM:VM(Virtual Machine,虚拟机)也叫虚拟主机,是利用虚拟化技术,在一台物理服务器上虚拟出多个主机。每个虚拟主机互相独立,有各自的操作系统和逻辑上相互独立的内存、CPU、网卡等设备,从应用程序的角度来看,绝大部分情况下和使用物理服务器没有差别。产生虚拟机的常见方法包括:使用一种Hypervisor程序,将物理资源虚拟划分或者模拟,分配给不同的虚拟机。这些虚拟机共同享用计算资源,从而达到物理资源的最大化利用。常见的Hypervisor有:VMware、KVM、Hyper-V和Xen,用于在服务器上创建多个虚拟机。
ECS:ECS(Elastic Compute Service,弹性计算服务)是指以虚拟机的方式将一台物理服务器(即物理机)划分成多台云服务器而提供的可伸缩的、弹性的计算服务。
逻辑分区:就是虚拟机资源管理器里显示的盘符,如C:、D:、E:、F:、……Z:。
Location information:位置信息(如本申请中提到的磁盘位置信息),对于每一个PCI(Peripheral Component Interconnect)设备而言,在其被挂载到计算机上时,都会有一个对应的位置信息,这个位置信息由一个三元组(即Bus Number、Device Number、Function Number)组成。
需要说明的是,本申请的下述实施例中各实施方式所涉及的步骤或功能模块都可以使用C/C++语言编程得到。
实施例一
根据本发明实施例,还提供了一种获取虚拟机中的逻辑分区的位置信息的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是根据本发明实施例的一种可选的获取虚拟机中的逻辑分区的位置信息的方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的获取虚拟机中的逻辑分区的位置信息的方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的获取虚拟机中的逻辑分区的位置信息的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的获取虚拟机中的逻辑分区的位置信息的方法。图2是根据本发明实施例的一种可选的获取虚拟机中的逻辑分区的位置信息的方法的流程图,该方法包括如下步骤:
步骤S20,获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,其中,磁盘位置信息为逻辑分区在虚拟机中对应的虚拟磁盘的位置信息。
本申请上述步骤S20中的虚拟机可以为物理机或网络设备上安装的虚拟设备,磁盘位置信息可以是虚拟机中逻辑分区所从属的虚拟磁盘的位置信息。其中,虚拟机可以是在物理机或网络设备中生成的虚拟设备,可以使用VMware、KVM、Hyper-V和Xen等Hypervisor程序创建得到。一种可选实施例中,虚拟机内部通常会有几块虚拟磁盘,这些虚拟磁盘可能来自本地物理机,也可能来自云存储设备,还可能来自磁盘快照等。
例如,以在本地物理机上安装虚拟机为例,可以在虚拟机的磁盘管理器中查看当前本地物理机的物理磁盘的磁盘信息,由此,当虚拟机的虚拟磁盘被划分为至少一个逻辑分区之后,就可以确定任意一个逻辑分区所在的虚拟磁盘对应的物理磁盘,即可以获知该虚拟机中的逻辑分区对应的磁盘位置信息。
步骤S22,将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,模拟磁盘位置信息为虚拟机安装在物理机或网络设备之后产生的存储路径。
本申请上述步骤S22提供的方案中,在物理机或网络设备上安装虚拟机之后,会在本地生成一个对应该虚拟机的模拟磁盘位置信息,该模拟磁盘位置信息用于表征该虚拟机在物理机或网络设备上的存储路径。而在启用虚拟机之后,如果访问虚拟机的磁盘管理器,可以获知当前虚拟的逻辑分区所在的虚拟磁盘,以及该虚拟磁盘的磁盘位置信息,由于通过虚拟磁盘的标识可以确定该虚拟磁盘在物理机或网络设备上的物理位置,因此,根据虚拟机上的逻辑分区对应的磁盘位置信息在多个模拟磁盘位置信息进行查询,如果查询得到匹配的模拟磁盘位置信息,则可以确定当前逻辑分区在物理机或网络设备上的物理存储路径。
需要说明的是,对于操作系统(如Windows)而言,虚拟设备与真实设备一样,只要它是PCI设备,当其被挂载到计算机上时,就会产生一个对应的位置信息,这个位置信息在物理机中和在虚拟机中都能被读取到,并且是一一对应的。
基于此,由于虚拟机中虚拟出来的虚拟磁盘也是PCI设备,因此在虚拟机中能够读取到逻辑分区的上述磁盘位置信息,并且在物理机或网络设备中能够读取到已经存储的至少一个模拟磁盘位置信息。如果在虚拟机中读取到的逻辑分区的上述磁盘位置信息与在物理机或网络设备中读取到的某个模拟磁盘的模拟磁盘位置信息满足一一对应条件,则表明该逻辑分区与该模拟磁盘具有从属关系(即映射关系)。
具体地,为了确定虚拟机中指定逻辑分区与物理机或网络设备中对应的模拟磁盘的从属关系,可以将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配。
步骤S24,在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息。
本申请上述步骤S24中,如果匹配成功,即查询得到与逻辑分区相匹配的模拟磁盘位置信息,就可以确定匹配得到的模拟磁盘位置信息所对应的模拟磁盘就是上述逻辑分区所从属的模拟磁盘。另外,在匹配失败的情况下,确定当前匹配得到的模拟磁盘位置信息不是虚拟机中的逻辑分区在物理机或网络设备中的位置信息,同时,当前匹配得到的模拟磁盘位置信息所对应的模拟磁盘就不是上述逻辑分区所从属的模拟磁盘。
由上可知,本申请上述实施例一所提供的方案中,当虚拟机中存在多块大小一样的虚拟磁盘,可能导致难以识别或容易混淆虚拟机中的逻辑分区与物理机或网络设备中的模拟磁盘的映射关系的情况下,如果希望降低上述映射关系的识别难度,就可以先获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息和物理机或网络设备中已经存储的至少一个模拟磁盘位置信息,再将获取到的磁盘位置信息与模拟磁盘位置信息进行匹配,然后在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息,从而找到指定逻辑分区与对应的模拟磁盘的映射关系。容易注意到,由于虚拟磁盘是PCI设备,而每个PCI设备挂载到计算机上时,都会产生一个对应的位置信息,并且这个位置信息在物理机中和虚拟机中都能被读取到,并且一一对应,因此,通过本发明实施例所提供的方案,可以先获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息和物理机或网络设备中已经存储的至少一个模拟磁盘位置信息,再将获取到的磁盘位置信息与模拟磁盘位置信息进行匹配,这样就可以利用虚拟磁盘挂载到虚拟机上时产生的位置信息在虚拟机上和物理机上读取的结果一一对应这一特点,在两个位置信息匹配成功的情况下,实现将匹配得到的模拟磁盘位置信息确定为虚拟机中的逻辑分区在物理机或网络设备中的位置信息的目的,不仅可以降低指定逻辑分区与其对应的模拟磁盘的映射关系的识别难度,而且避免了容易混淆逻辑分区与其对应的模拟磁盘的映射关系的缺陷,因此,可以减轻甚至消除数据容灾隐患。由此,本申请提供的上述实施例一的方案解决了相关技术中由于难以识别或容易混淆逻辑分区与模拟磁盘的映射关系而造成的数据容灾隐患的技术问题。
在本申请提供的一种可选实施例中,上述步骤S20实现的获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,可以通过如下实施步骤实现:
步骤S202,获取虚拟机中的以下映射关系:每个逻辑分区与对应的磁盘驱动器的映射关系,以及每个磁盘驱动器与对应的磁盘适配器的映射关系。
步骤S204,根据以上映射关系确定与逻辑分区具有映射关系的第一磁盘驱动器,以及与第一磁盘驱动器具有映射关系的第一磁盘适配器。
步骤S206,根据逻辑分区所对应的第一磁盘适配器,确定逻辑分区在虚拟机中对应的虚拟磁盘;
步骤S208,读取逻辑分区对应的虚拟磁盘的位置信息,作为逻辑分区在虚拟机中的磁盘位置信息。
以Windows操作系统为例,在虚拟机中,逻辑分区、磁盘驱动器及磁盘适配器之间满足预先设定的从属关系(即映射关系)。具体地,每个逻辑分区与其对应的磁盘驱动器之间都可以通过两者的共有属性产生映射,同理,每个磁盘驱动器与其对应的磁盘适配器之间也都可以通过两者的共有属性产生映射。也即,经过两层映射之后,就可以先由指定的逻辑分区先映射到对应的磁盘驱动器,再由该磁盘驱动器映射到对应的磁盘适配器。
通过本发明实施例,巧妙地利用了Windows操作系统里逻辑分区、磁盘驱动器及磁盘适配器三者之间的层层映射关系,简化了获取逻辑分区在虚拟机中的磁盘位置信息的流程,提高了获取结果的准确性。
在本申请提供的一种可选实施例中,逻辑分区至少包括如下属性:逻辑分区的盘符和逻辑分区的磁盘编号;磁盘驱动器至少包括如下属性:逻辑分区的磁盘编号和磁盘驱动器的实例名;磁盘适配器至少包括如下属性:磁盘驱动器的实例名和磁盘位置信息;其中,每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系,每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系。
由上可知,逻辑分区与磁盘驱动器的共有属性(该属性唯一)为逻辑分区的磁盘编号,而磁盘驱动器与磁盘适配器的共有属性为磁盘驱动器的实例名,因此,在确定逻辑分区与其对应的磁盘驱动器之间的映射关系时,可以检查两者的磁盘编号是否一致,若一致,则两者满足映射关系,若不一致,则两者不满足映射关系;同理,在确定磁盘驱动器与磁盘适配器的映射关系时,可以检查两者的实例名是否一致,若一致,则两者满足映射关系,若不一致,则两者不满足映射关系。
如图3所示,假设虚拟机中包含逻辑分区C:、D:、E:……,其中,C:、D:、E:即为对应逻辑分区的盘符,以C:为例,假设C:对应的逻辑分区的磁盘编号为Disknumber1,则与该逻辑分区具有映射关系的磁盘驱动器的磁盘编号也必然为Disknumber1,假设该磁盘驱动器的实例名为name1,则与该磁盘驱动器具有映射关系的磁盘适配器的实例名也必然为name1,这样,由盘符为C:的逻辑分区就可以找到实例名为name1的磁盘适配器,进而读取到该逻辑分区在虚拟机中的磁盘位置信息。
通过本发明实施例,巧妙地利用了Windows操作系统里逻辑分区与磁盘驱动器之间的共有属性以及磁盘驱动器与磁盘适配器之间的共有属性,快速、准确地确定逻辑分区与磁盘驱动器以及磁盘驱动器与磁盘适配器的映射关系。
在本申请提供的一种可选实施例中,在每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系之前,本申请还可以执行如下步骤:步骤S26获取逻辑分区对应的磁盘编号,其中,该步骤可以通过如下实施步骤构成的方案来实现:
步骤S262,获取虚拟机中所有逻辑分区的挂载状态;
步骤S264,依次检测每个逻辑分区的挂载状态是否为有效状态,直至所有的逻辑分区检测结束;其中,
步骤S266,在任意一个当前检测的逻辑分区为有效状态的情况下,打开当前检测的逻辑分区所对应的卷设备对象,并从卷设备对象中查询得到当前检测的逻辑分区所对应的磁盘编号;
步骤S268,在任意一个当前检测的逻辑分区为无效状态的情况下,继续检测下一个逻辑分区的挂载状态是否为有效状态。
由于每个逻辑分区正常挂载到虚拟机上后,即挂机状态为有效状态时,都会在对应的卷设备对象中生成一个对应的磁盘编号,而每个逻辑分区非正常挂载到虚拟机上或者未挂载到虚拟机上时,即挂机状态为无效状态时,则不会在对应的卷设备对象中生成对应的磁盘编号。基于此,在获取某个逻辑分区对应的磁盘编号时,可以先获取并检测该逻辑分区的挂机状态是否为有效状态,只有在是有效状态时,才打开并从该逻辑分区对应的卷设备对象中查询得到该逻辑分区所对应的磁盘编号,否则,重复上述步骤,对下一逻辑分区进行类似处理。
通过本发明实施例,由于只对挂机状态为有效状态的逻辑分区执行磁盘编号获取操作,而对挂机状态为无效状态的逻辑分区不做处理,可以节约程序执行时间,提高程序执行效率。
在本申请提供的一种可选实施例中,在每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,本申请还可以执行如下步骤:步骤S28获取磁盘驱动器的实例名,其中,该步骤还可以通过如下实施步骤构成的方案来实现:
步骤S282,获取虚拟机中所有磁盘驱动器的集合;
步骤S284,依次检测每个磁盘驱动器是否处于有效状态,直至所有的磁盘驱动器检测结束;其中,
步骤S286,在任意一个当前检测的磁盘驱动器处于有效状态的情况下,获取当前检测的磁盘驱动器所对应的实例名。
其中,当磁盘驱动器可以使用时,表明其处于有效状态,当磁盘驱动器不可以使用时,表明其处于无效状态,因此,检测磁盘驱动器是否为有效状态也就是检测该磁盘驱动器是否可用。基于此,在获取某个磁盘驱动器对应的实例名时,可以先获取并检测该磁盘驱动器是否为有效状态,只有在是有效状态时,才获取当前所检测的磁盘驱动器的实例名,否则,重复上述步骤,对下一磁盘驱动器进行类似处理。
通过本发明实施例,由于只对有效状态的磁盘驱动器执行实例名获取操作,而对无效状态的磁盘驱动器不做处理,可以节约程序执行时间,提高程序执行效率。
在本申请提供的一种可选实施例中,在每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,本申请还可以执行如下步骤:步骤S30获取磁盘适配器的实例名,其中,该步骤可以通过如下实施步骤构成的方案来实现:
步骤S302,获取虚拟机中所有磁盘适配器的集合;
步骤S304,依次检测每个磁盘适配器是否处于有效状态,直至所有的磁盘适配器检测结束;其中,
步骤S306,在任意一个当前检测的磁盘处于有效状态的情况下,获取当前检测的磁盘适配器所对应的实例名。
其中,与磁盘驱动器类似,当磁盘适配器可以使用时,表明其处于有效状态,当磁盘适配器不可以使用时,表明其处于无效状态,因此,检测磁盘适配器是否为有效状态也就是检测该磁盘适配器是否可用。基于此,在获取某个磁盘适配器对应的实例名时,可以先获取并检测该磁盘适配器是否为有效状态,只有在是有效状态时,才获取当前所检测的磁盘适配器的实例名,否则,重复上述步骤,对下一磁盘适配器进行类似处理。
通过本发明实施例,由于只对有效状态的磁盘适配器执行实例名获取操作,而对无效状态的磁盘适配器不做处理,可以节约程序执行时间,提高程序执行效率。
在本申请提供的一种可选实施例中,步骤S22将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配的技术手段,可以通过如下步骤来实现:
步骤S222,根据虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,获取逻辑分区与其磁盘位置信息的对应关系;
步骤S224,将逻辑分区与其磁盘位置信息的对应关系传送至物理机或网络设备中的控制系统;
步骤S226,控制系统将逻辑分区所对应的磁盘位置信息与已经存储的至少一个QEMU模拟磁盘的模拟磁盘位置信息进行匹配,其中,根据匹配结果确定逻辑分区与物理机或网络设备中的QEMU的从属关系。
以Windows操作系统为例,逻辑分区、磁盘驱动器及磁盘适配器之间存在一定的映射关系。查看虚拟机的资源管理器可以发现,逻辑分区可能从属于一个或多个虚拟磁盘,而Windows实现的磁盘驱动并非简单地采用一层来完成,而是采用分层设计来完成,其中包含了必要的磁盘驱动器层和磁盘适配器层,这两层是上下一一对应的关系。
如图4所示,逻辑分区C:和D:都是由磁盘驱动器0驱动的,并且它们在虚拟机中对应的磁盘位置信息相同,例如都可以为Location(Bus 0,Device 4,Function 0);逻辑分区E:和F:都是由磁盘驱动器1驱动的,并且它们在虚拟机中对应的磁盘位置信息相同,例如都可以为Location(Bus 0,Device 5,Function 0)等。由于对于操作系统(如Windows)而言,虚拟设备(如虚拟磁盘)与真实设备(如物理机)一样,只要它是PCI设备,当其被挂载到计算机上时,就会产生一个对应的位置信息,这个位置信息在物理机中和在虚拟机中都能被读取到,并且是一一对应的。因此,磁盘位置信息为Location(Bus 0,Device 5,Function 0)逻辑分区与物理机中位置信息为Location(Bus 0,Device 5,Function 0)的模拟磁盘具有从属关系;同理,磁盘位置信息为Location(Bus 0,Device 4,Function 0)逻辑分区与物理机中位置信息为Location(Bus 0,Device 4,Function 0)的模拟磁盘具有从属关系。
由上可知,如果要在物理机控制系统里把虚拟机中的逻辑分区与具体模拟磁盘的映射关系(即从属关系)识别并展示出来,那么只要把虚拟机中的逻辑分区对应的虚拟磁盘找到,然后获取其磁盘位置信息并确定逻辑分区与其磁盘位置信息的对应关系,而后把这种对应关系传送到物理机的控制系统中,最后通过匹配虚拟机中的逻辑分区都对应的磁盘位置信息与物理机中QEMU模拟磁盘的位置信息,根据匹配结果就能找到Windows VM中逻辑分区与物理机控制系统中模拟磁盘之间的从属关系。
下面结合图4至图7,以一个具体实施例详细阐述本发明:
其中,以Windows操作系统为例,介绍逻辑分区、磁盘驱动器及磁盘适配器之间的映射关系。实施时,查看虚拟机的资源管理器可以发现,逻辑分区可能从属一个或多个磁盘,而Windows实现的磁盘驱动并非简单采用一层来完成,而是采用了分层设计,其中包括了必要的磁盘驱动器层和磁盘适配器层,两层是上下一一对应的关系,下图4所示。
需要说明的是,虚拟机中虚拟出来的磁盘设备(即虚拟磁盘)是一个PCI类型的设备(即PCI设备),对于操作系统来说,真实设备与虚拟设备都是一样的,只要它是PCI类型的设备,当其被挂载到计算机上时,都会有一个对应的位置信息,这个位置信息在物理机中和虚拟机中都能被读取到且一一对应。
可见,想要在物理机的控制系统中将虚拟机中的逻辑分区与具体模拟磁盘的映射关系识别并展示出来,那么只要把虚拟机中的逻辑分区对应的虚拟磁盘找到,然后获取其磁盘位置信息及逻辑分区与其磁盘位置信息的对应关系,而后把这种对应关系传送到物理机的控制系统,最后通过对比虚拟机中的磁盘位置信息与物理机中QEMU模拟磁盘的位置信息,就能找到Windows VM中逻辑分区与物理机的控制系统中模拟磁盘之间的从属关系(即映射关系)。
进一步地,为了实现本发明实施例中的上述操作,其核心就是找到盘符(即逻辑分区)与虚拟机中的磁盘位置信息之间的对应关系。发明人发现,逻辑分区、磁盘驱动器及磁盘适配器彼此之间存在一个共有且唯一的属性,如图3所示。基于此,可以先通过“磁盘编号”(即“Disk number”)属性找到一个给定的逻辑分区所从属的磁盘驱动器,再通过磁盘驱动器及磁盘适配器之间的共有属性(即共同属性)“磁盘驱动器的实例名”就可以找到其对应的磁盘适配器及磁盘位置信息,最终完成盘符与磁盘位置信息的映射。
需要说明的是,在获取“磁盘驱动器的实例名”这一属性的实现方式中会用到三个核心的Windows API,分别为SetupDiGetClassDevs、SetupDiEnumDeviceInfo、SetupDiGetDeviceProperty;在获取所有逻辑分区对应的“Disk number”这一属性的实现方式中会用到三个核心的Windows API,分别为GetLogicalDrives、CreateFile、DeviceIoControl。其中,“Disk number”和“磁盘驱动器的实例名”的具体获取过程分别如图5和图6、图7所示。
其中,如图5所示,获取“Disk number”的流程如下:
步骤S502,获取虚拟机里所有盘符的挂载状态并依次进行枚举检查,如,通过GetLogicalDrives获取VM里所有盘符的挂载状态并依次进行枚举检查;
步骤S504,是否已经枚举完所有盘符,若是,则执行步骤S512,若否,则执行步骤S506;
步骤S506,当前枚举的盘符是否有效,若是,则执行步骤S508,若否,则执行步骤S504;
步骤S508,打开盘符所对应的卷设备对象,如,用CreateFile(“\\.\N:”…)打开盘符所对应的卷设备对象;
步骤S510,查询盘符所对应的磁盘编号,如,以IOCTL_STORAGE_GET_DEVICE_NUMBER功能号调用DeviceIoControl查询盘符所对应的Disk nuber,并跳转至步骤S504;
步骤S512,退出。
如图6所示,从磁盘驱动器侧获取“磁盘驱动器的实例名”的流程如下:
步骤S602,获取系统中所有的磁盘驱动器集合,如,调用SetupDiGetClassDev(GUID_DEVCLASS_DISKDRIVE,…)获取系统中所有的磁盘驱动器集合;
步骤S604,枚举集合中所有的磁盘驱动器,如,用SetupDiEnumDeviceInfo枚举集合中所有的磁盘驱动器;
步骤S606,当前枚举的磁盘驱动器是否有效,若是,则执行步骤S608,若否,则执行步骤S610;
步骤S608,获取实例设备名、Disknumber并保存,如,SetupDiGetDeviceProperty获取实例设备名、Disk number并保存;
步骤S610,退出。
如图7所示,从磁盘适配器侧获取“磁盘驱动器的实例名”的流程如下:
步骤S702,获取系统中所有的磁盘适配器集合,如,调用SetupDiGetClassDev(GUID_DEVCLASS_SCSIADAPTER,…)获取系统中所有的scsi磁盘适配器集合;
步骤S704,枚举集合中所有的磁盘适配器,如,用SetupDiEnumDeviceInfo枚举集合中所有的scsi磁盘适配器;
步骤S706,当前枚举的磁盘适配器是否有效,若是,则执行步骤S708,若否,则执行步骤S710;
步骤S708,获取位置信息、磁盘驱动器的实例名并保存,如,SetupDiGetDeviceProperty获取位置信息、子设备的实例名并保存;
步骤S710,退出。
通过本发明实施例,巧妙地利用了Windows操作系统中逻辑分区、磁盘驱动器及磁盘适配器之间的映射关系,以及磁盘适配器中的磁盘位置关系与物理机中的QEMU模拟磁盘的位置信息之间的映射关系,解决了相关技术中难以识别或容易混淆Windows VM中逻辑分区与物理机的控制系统中模拟磁盘的从属关系的问题,达到了降低逻辑分区与模拟磁盘的映射关系的识别难度,以及防止混淆逻辑分区与模拟磁盘的映射关系的目的,从而实现了减轻甚至消除数据容灾隐患的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例二
根据本发明实施例,还提供了一种用于实施上述获取虚拟机中的逻辑分区的位置信息的方法的装置,如图8所示,该装置包括:第一获取单元22,用于获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,其中,磁盘位置信息为逻辑分区在虚拟机中对应的虚拟磁盘的位置信息;匹配单元24,用于将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,模拟磁盘位置信息为虚拟机安装在物理机或网络设备之后产生的存储路径;第一确定单元26,用于在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息。
换言之,磁盘位置信息可以是虚拟机中逻辑分区所从属的虚拟磁盘的位置信息。其中,虚拟机就是在物理机或网络设备中生成的虚拟设备,可以使用VMware、KVM、Hyper-V和Xen等Hypervisor程序创建得到。一种可选实施例中,虚拟机内部通常会有几块虚拟磁盘,这些虚拟磁盘可能来自本地物理机,也可能来自云存储设备,还可能来自磁盘快照等。
例如,以在本地物理机上安装虚拟机为例,可以在虚拟机的磁盘管理器中查看当前本地物理机的物理磁盘的磁盘信息,由此,当虚拟机的虚拟磁盘被划分为至少一个逻辑分区之后,就可以确定任意一个逻辑分区所在的虚拟磁盘对应的物理磁盘,即可以获知该虚拟机中的逻辑分区对应的磁盘位置信息。
需要说明的是,对于操作系统(如Windows)而言,虚拟设备与真实设备一样,只要它是PCI设备,当其被挂载到计算机上时,就会产生一个对应的位置信息,这个位置信息在物理机中和在虚拟机中都能被读取到,并且是一一对应的。
基于此,由于虚拟机中虚拟出来的虚拟磁盘也是PCI设备,因此在虚拟机中能够读取到逻辑分区的上述磁盘位置信息,并且在物理机或网络设备中能够读取到已经存储的至少一个模拟磁盘位置信息。如果在虚拟机中读取到的逻辑分区的上述磁盘位置信息与在物理机或网络设备中读取到的某个模拟磁盘的模拟磁盘位置信息满足一一对应条件,则表明该逻辑分区与该模拟磁盘具有从属关系(即映射关系)。
具体地,为了确定虚拟机中指定逻辑分区与物理机或网络设备中对应的模拟磁盘的从属关系,可以将将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配。
而匹配得到的模拟磁盘位置信息所对应的模拟磁盘就是上述逻辑分区所从属的模拟磁盘。另外,在匹配失败的情况下,确定当前匹配得到的模拟磁盘位置信息不是虚拟机中的逻辑分区在物理机或网络设备中的位置信息,同时,当前匹配得到的模拟磁盘位置信息所对应的模拟磁盘就不是上述逻辑分区所从属的模拟磁盘。
由上可知,本申请上述实施例一所提供的方案中,当虚拟机中存在多块大小一样的虚拟磁盘,可能导致难以识别或容易混淆虚拟机中的逻辑分区与物理机或网络设备中的模拟磁盘的映射关系的情况下,如果希望降低上述映射关系的识别难度,就可以先获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息和物理机或网络设备中已经存储的至少一个模拟磁盘位置信息,再将获取到的磁盘位置信息与模拟磁盘位置信息进行匹配,然后在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息,从而找到指定逻辑分区与对应的模拟磁盘的映射关系。容易注意到,由于虚拟磁盘是PCI设备,而每个PCI设备挂载到计算机上时,都会产生一个对应的位置信息,并且这个位置信息在物理机中和虚拟机中都能被读取到,并且一一对应,因此,通过本发明实施例所提供的方案,可以先获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息和物理机或网络设备中已经存储的至少一个模拟磁盘位置信息,再将获取到的磁盘位置信息与模拟磁盘位置信息进行匹配,这样就可以利用虚拟磁盘挂载到虚拟机上时产生的位置信息在虚拟机上和物理机上读取的结果一一对应这一特点,在两个位置信息匹配成功的情况下,实现将匹配得到的模拟磁盘位置信息确定为虚拟机中的逻辑分区在物理机或网络设备中的位置信息的目的,不仅可以降低指定逻辑分区与其对应的模拟磁盘的映射关系的识别难度,而且避免了容易混淆逻辑分区与其对应的模拟磁盘的映射关系的缺陷,因此,可以减轻甚至消除数据容灾隐患。由此,本申请提供的上述实施例一的方案解决了相关技术中由于难以识别或容易混淆逻辑分区与模拟磁盘的映射关系而造成的数据容灾隐患的技术问题。
此处需要说明的是,上述第一获取单元22,匹配单元24,第一确定单元26,对应于实施例一中的步骤S202至步骤S206,三个单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在本申请提供的一种可选实施例中,如图9所示,上述第一获取单元22包括:第一获取模块222,用于获取虚拟机中的以下映射关系:每个逻辑分区与对应的磁盘驱动器的映射关系,以及每个磁盘驱动器与对应的磁盘适配器的映射关系;第一确定模块224,用于根据以上映射关系确定与逻辑分区具有映射关系的第一磁盘驱动器,以及与第一磁盘驱动器具有映射关系的第一磁盘适配器;第二确定模块226,用于根据逻辑分区所对应的第一磁盘适配器,确定逻辑分区在虚拟机中对应的虚拟磁盘;读取模块228,用于读取逻辑分区对应的虚拟磁盘的位置信息,作为逻辑分区在虚拟机中的磁盘位置信息。
此处需要说明的是,上述第一获取模块222,第一确定模块224,第二确定模块226,读取模块228对应于实施例一中的步骤S2至步骤S8,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在本申请提供的一种可选实施例中,如图10所示,上述逻辑分区至少包括如下属性:逻辑分区的盘符和逻辑分区的磁盘编号;上述磁盘驱动器至少包括如下属性:逻辑分区的磁盘编号和磁盘驱动器的实例名;上述磁盘适配器至少包括如下属性:磁盘驱动器的实例名和磁盘位置信息,其中,上述装置还包括:第二确定单元28,用于使得每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系,每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系。
此处需要说明的是,上述第二确定单元28对应于实施例一中的步骤“每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系,每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系”,该单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在本申请提供的一种可选实施例中,如图11所示,上述装置还包括:第二获取单元30,用于在每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系之前,获取逻辑分区对应的磁盘编号,其中,第二获取单元30包括:第二获取模块302,用于获取虚拟机中所有逻辑分区的挂载状态;第一检测模块304,用于依次检测每个逻辑分区的挂载状态是否为有效状态,直至所有的逻辑分区检测结束;第一处理模块306,用于在任意一个当前检测的逻辑分区为有效状态的情况下,打开当前检测的逻辑分区所对应的卷设备对象,并从卷设备对象中查询得到当前检测的逻辑分区所对应的磁盘编号;第二处理模块308,用于在任意一个当前检测的逻辑分区为无效状态的情况下,触发检测模块继续检测下一个逻辑分区的挂载状态是否为有效状态。
此处需要说明的是,上述第二获取模块302,第一检测模块304,第一处理模块306,第二处理模块308对应于实施例一中的步骤S10至步骤S16,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在本申请提供的一种可选实施例中,如图12所示,上述装置还包括:第三获取单元32,用于在每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,获取磁盘驱动器的实例名,其中,第三获取单元32包括:第三获取模块322,用于获取虚拟机中所有磁盘驱动器的集合;第二检测模块324,用于依次检测每个磁盘驱动器是否处于有效状态,直至所有的磁盘驱动器检测结束;第四获取模块326,用于在任意一个当前检测的磁盘驱动器处于有效状态的情况下,获取当前检测的磁盘驱动器所对应的实例名。
此处需要说明的是,上述第三获取模块322,第二检测模块324,第四获取模块326对应于实施例一中的步骤S18至步骤S22,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在本申请提供的一种可选实施例中,如图13所示,上述装置还包括:第四获取单元34,用于在每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,获取磁盘适配器的实例名,其中,第四获取单元34包括:第五获取模块342,用于获取虚拟机中所有磁盘适配器的集合;第三检测模块344,用于依次检测每个磁盘适配器是否处于有效状态,直至所有的磁盘适配器检测结束;第六获取模块346,用于在任意一个当前检测的磁盘处于有效状态的情况下,获取当前检测的磁盘适配器所对应的实例名。
此处需要说明的是,上述第五获取模块342,第三检测模块344,第六获取模块346对应于实施例一中的步骤S24至步骤S28,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在本申请提供的一种可选实施例中,如图14所示,上述匹配单元24包括:第七获取模块242,用于根据虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,获取逻辑分区与其磁盘位置信息的对应关系;传送模块244,用于将逻辑分区与其磁盘位置信息的对应关系传送至物理机或网络设备中的控制系统;匹配模块246,用于控制系统将逻辑分区所对应的磁盘位置信息与已经存储的至少一个QEMU模拟磁盘的模拟磁盘位置信息进行匹配,其中,第一确定单元26还用于根据匹配结果确定逻辑分区与物理机或网络设备中的QEMU的从属关系。
此处需要说明的是,上述第七获取模块242,传送模块244,匹配模块246对应于实施例一中的步骤S30至步骤S34,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例三
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行获取虚拟机中的逻辑分区的位置信息的方法中以下步骤的程序代码:获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,其中,磁盘位置信息为逻辑分区在虚拟机中对应的虚拟磁盘的位置信息;将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,模拟磁盘位置信息为虚拟机安装在物理机或网络设备之后产生的存储路径;在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息。
可选地,图15是本发明实施例三的一种可选的计算机终端的硬件结构框图。如图15所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器、存储器、以及传输装置,计算机终端A通过传输装置与服务器进行信息交互。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的获取虚拟机中的逻辑分区的位置信息的方法及装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的获取虚拟机中的逻辑分区的位置信息的方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,其中,磁盘位置信息为逻辑分区在虚拟机中对应的虚拟磁盘的位置信息;将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,模拟磁盘位置信息为虚拟机安装在物理机或网络设备之后产生的存储路径;在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息。
可选的,上述处理器还可以执行如下步骤的程序代码:获取虚拟机中的以下映射关系:每个逻辑分区与对应的磁盘驱动器的映射关系,以及每个磁盘驱动器与对应的磁盘适配器的映射关系;根据以上映射关系确定与逻辑分区具有映射关系的第一磁盘驱动器,以及与第一磁盘驱动器具有映射关系的第一磁盘适配器;根据逻辑分区所对应的第一磁盘适配器,确定逻辑分区在虚拟机中对应的虚拟磁盘;读取逻辑分区对应的虚拟磁盘的位置信息,作为逻辑分区在虚拟机中的磁盘位置信息。
可选的,上述处理器还可以执行如下步骤的程序代码:逻辑分区至少包括如下属性:逻辑分区的盘符和逻辑分区的磁盘编号;磁盘驱动器至少包括如下属性:逻辑分区的磁盘编号和磁盘驱动器的实例名;磁盘适配器至少包括如下属性:磁盘驱动器的实例名和磁盘位置信息;其中,每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系,每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系。
可选的,上述处理器还可以执行如下步骤的程序代码:在每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系之前,获取逻辑分区对应的磁盘编号,该步骤包括:获取虚拟机中所有逻辑分区的挂载状态;依次检测每个逻辑分区的挂载状态是否为有效状态,直至所有的逻辑分区检测结束;其中,在任意一个当前检测的逻辑分区为有效状态的情况下,打开当前检测的逻辑分区所对应的卷设备对象,并从卷设备对象中查询得到当前检测的逻辑分区所对应的磁盘编号;在任意一个当前检测的逻辑分区为无效状态的情况下,继续检测下一个逻辑分区的挂载状态是否为有效状态。
可选的,上述处理器还可以执行如下步骤的程序代码:在每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,获取磁盘驱动器的实例名,该步骤包括:获取虚拟机中所有磁盘驱动器的集合;依次检测每个磁盘驱动器是否处于有效状态,直至所有的磁盘驱动器检测结束;其中,在任意一个当前检测的磁盘驱动器处于有效状态的情况下,获取当前检测的磁盘驱动器所对应的实例名。
可选的,上述处理器还可以执行如下步骤的程序代码:在每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,获取磁盘适配器的实例名,该步骤包括:获取虚拟机中所有磁盘适配器的集合;依次检测每个磁盘适配器是否处于有效状态,直至所有的磁盘适配器检测结束;其中,在任意一个当前检测的磁盘处于有效状态的情况下,获取当前检测的磁盘适配器所对应的实例名。
可选的,上述处理器还可以执行如下步骤的程序代码:根据虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,获取逻辑分区与其磁盘位置信息的对应关系;将逻辑分区与其磁盘位置信息的对应关系传送至物理机或网络设备中的控制系统;控制系统将逻辑分区所对应的磁盘位置信息与已经存储的至少一个QEMU模拟磁盘的模拟磁盘位置信息进行匹配,其中,根据匹配结果确定逻辑分区与物理机或网络设备中的QEMU的从属关系。
通过本发明,采用逻辑分区所对应的磁盘位置信息匹配物理机或网络设备中已经存储的至少一个模拟磁盘位置信息以识别逻辑分区与模拟磁盘的映射关系的方式,通过获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,其中,磁盘位置信息为逻辑分区在虚拟机中对应的虚拟磁盘的位置信息;将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,模拟磁盘位置信息为虚拟机安装在物理机或网络设备之后产生的存储路径;在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息,达到了降低逻辑分区与模拟磁盘的映射关系的识别难度,以及防止混淆逻辑分区与模拟磁盘的映射关系的目的,从而实现了减轻甚至消除数据容灾隐患的技术效果,进而解决了相关技术中由于难以识别或容易混淆逻辑分区与模拟磁盘的映射关系而造成的数据容灾隐患的技术问题。
本领域普通技术人员可以理解,图15所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图15其并不对上述电子装置的结构造成限定。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例四
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的获取虚拟机中的逻辑分区的位置信息的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,其中,磁盘位置信息为逻辑分区在虚拟机中对应的虚拟磁盘的位置信息;将逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,模拟磁盘位置信息为虚拟机安装在物理机或网络设备之后产生的存储路径;在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为虚拟机中的逻辑分区在物理机或网络设备中的位置信息。
可选的,上述存储介质还可以存储如下步骤的程序代码:获取虚拟机中的以下映射关系:每个逻辑分区与对应的磁盘驱动器的映射关系,以及每个磁盘驱动器与对应的磁盘适配器的映射关系;根据以上映射关系确定与逻辑分区具有映射关系的第一磁盘驱动器,以及与第一磁盘驱动器具有映射关系的第一磁盘适配器;根据逻辑分区所对应的第一磁盘适配器,确定逻辑分区在虚拟机中对应的虚拟磁盘;读取逻辑分区对应的虚拟磁盘的位置信息,作为逻辑分区在虚拟机中的磁盘位置信息。
可选的,上述存储介质还可以存储如下步骤的程序代码:逻辑分区至少包括如下属性:逻辑分区的盘符和逻辑分区的磁盘编号;磁盘驱动器至少包括如下属性:逻辑分区的磁盘编号和磁盘驱动器的实例名;磁盘适配器至少包括如下属性:磁盘驱动器的实例名和磁盘位置信息;其中,每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系,每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系。
可选的,上述存储介质还可以存储如下步骤的程序代码:在每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系之前,获取逻辑分区对应的磁盘编号,该步骤包括:获取虚拟机中所有逻辑分区的挂载状态;依次检测每个逻辑分区的挂载状态是否为有效状态,直至所有的逻辑分区检测结束;其中,在任意一个当前检测的逻辑分区为有效状态的情况下,打开当前检测的逻辑分区所对应的卷设备对象,并从卷设备对象中查询得到当前检测的逻辑分区所对应的磁盘编号;在任意一个当前检测的逻辑分区为无效状态的情况下,继续检测下一个逻辑分区的挂载状态是否为有效状态。
可选的,上述存储介质还可以存储如下步骤的程序代码:在每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,获取磁盘驱动器的实例名,该步骤包括:获取虚拟机中所有磁盘驱动器的集合;依次检测每个磁盘驱动器是否处于有效状态,直至所有的磁盘驱动器检测结束;其中,在任意一个当前检测的磁盘驱动器处于有效状态的情况下,获取当前检测的磁盘驱动器所对应的实例名。
可选的,上述存储介质还可以存储如下步骤的程序代码:在每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,获取磁盘适配器的实例名,该步骤包括:获取虚拟机中所有磁盘适配器的集合;依次检测每个磁盘适配器是否处于有效状态,直至所有的磁盘适配器检测结束;其中,在任意一个当前检测的磁盘处于有效状态的情况下,获取当前检测的磁盘适配器所对应的实例名。
可选的,上述存储介质还可以存储如下步骤的程序代码:根据虚拟机中的逻辑分区在虚拟机中的磁盘位置信息,获取逻辑分区与其磁盘位置信息的对应关系;将逻辑分区与其磁盘位置信息的对应关系传送至物理机或网络设备中的控制系统;控制系统将逻辑分区所对应的磁盘位置信息与已经存储的至少一个QEMU模拟磁盘的模拟磁盘位置信息进行匹配,其中,根据匹配结果确定逻辑分区与物理机或网络设备中的QEMU的从属关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种获取虚拟机中的逻辑分区的位置信息的方法,其特征在于,包括:
获取虚拟机中的逻辑分区在所述虚拟机中的磁盘位置信息,其中,所述磁盘位置信息为所述逻辑分区在所述虚拟机中对应的虚拟磁盘的位置信息;
将所述逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,所述模拟磁盘位置信息为虚拟机安装在所述物理机或所述网络设备之后产生的存储路径;
在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为所述虚拟机中的逻辑分区在所述物理机或所述网络设备中的位置信息;
获取虚拟机中的逻辑分区在所述虚拟机中的磁盘位置信息,包括:
获取所述虚拟机中的以下映射关系:每个逻辑分区与对应的磁盘驱动器的映射关系,以及每个磁盘驱动器与对应的磁盘适配器的映射关系;
根据以上映射关系确定与所述逻辑分区具有映射关系的第一磁盘驱动器,以及与所述第一磁盘驱动器具有映射关系的第一磁盘适配器;
根据所述逻辑分区所对应的第一磁盘适配器,确定所述逻辑分区在所述虚拟机中对应的虚拟磁盘;
读取所述逻辑分区对应的所述虚拟磁盘的位置信息,作为所述逻辑分区在所述虚拟机中的磁盘位置信息。
2.根据权利要求1所述的方法,其特征在于,所述逻辑分区至少包括如下属性:逻辑分区的盘符和逻辑分区的磁盘编号;所述磁盘驱动器至少包括如下属性:逻辑分区的磁盘编号和磁盘驱动器的实例名;所述磁盘适配器至少包括如下属性:磁盘驱动器的实例名和磁盘位置信息;
其中,所述每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系,所述每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系。
3.根据权利要求2所述的方法,其特征在于,在所述每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系之前,所述方法还包括:
获取所述逻辑分区对应的磁盘编号,该步骤包括:
获取所述虚拟机中所有逻辑分区的挂载状态;
依次检测每个逻辑分区的挂载状态是否为有效状态,直至所有的逻辑分区检测结束;其中,
在任意一个当前检测的逻辑分区为所述有效状态的情况下,打开所述当前检测的逻辑分区所对应的卷设备对象,并从所述卷设备对象中查询得到所述当前检测的逻辑分区所对应的磁盘编号;
在任意一个当前检测的逻辑分区为无效状态的情况下,继续检测下一个逻辑分区的挂载状态是否为有效状态。
4.根据权利要求2所述的方法,其特征在于,在所述每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,所述方法还包括:
获取所述磁盘驱动器的实例名,该步骤包括:
获取所述虚拟机中所有磁盘驱动器的集合;
依次检测每个磁盘驱动器是否处于有效状态,直至所有的磁盘驱动器检测结束;其中,
在任意一个当前检测的磁盘驱动器处于所述有效状态的情况下,获取所述当前检测的磁盘驱动器所对应的实例名。
5.根据权利要求2所述的方法,其特征在于,在所述每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,所述方法还包括:
获取所述磁盘适配器的实例名,该步骤包括:
获取所述虚拟机中所有磁盘适配器的集合;
依次检测每个磁盘适配器是否处于有效状态,直至所有的磁盘适配器检测结束;其中,
在任意一个当前检测的磁盘处于所述有效状态的情况下,获取所述当前检测的磁盘适配器所对应的实例名。
6.根据权利要求1所述的方法,其特征在于,将所述逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,包括:
根据所述虚拟机中的逻辑分区在所述虚拟机中的磁盘位置信息,获取所述逻辑分区与其磁盘位置信息的对应关系;
将所述逻辑分区与其磁盘位置信息的对应关系传送至所述物理机或所述网络设备中的控制系统;
所述控制系统将所述逻辑分区所对应的磁盘位置信息与已经存储的至少一个QEMU模拟磁盘的模拟磁盘位置信息进行匹配,
其中,根据匹配结果确定所述逻辑分区与所述物理机或所述网络设备中的QEMU的从属关系。
7.一种获取虚拟机中的逻辑分区的位置信息的装置,其特征在于,包括:
第一获取单元,用于获取虚拟机中的逻辑分区在所述虚拟机中的磁盘位置信息,其中,所述磁盘位置信息为所述逻辑分区在所述虚拟机中对应的虚拟磁盘的位置信息;
匹配单元,用于将所述逻辑分区所对应的磁盘位置信息与物理机或网络设备中已经存储的至少一个模拟磁盘位置信息进行匹配,其中,所述模拟磁盘位置信息为虚拟机安装在所述物理机或所述网络设备之后产生的存储路径;
第一确定单元,用于在匹配成功的情况下,确定匹配得到的模拟磁盘位置信息为所述虚拟机中的逻辑分区在所述物理机或所述网络设备中的位置信息;
所述第一获取单元包括:
第一获取模块,用于获取所述虚拟机中的以下映射关系:每个逻辑分区与对应的磁盘驱动器的映射关系,以及每个磁盘驱动器与对应的磁盘适配器的映射关系;
第一确定模块,用于根据以上映射关系确定与所述逻辑分区具有映射关系的第一磁盘驱动器,以及与所述第一磁盘驱动器具有映射关系的第一磁盘适配器;
第二确定模块,用于根据所述逻辑分区所对应的第一磁盘适配器,确定所述逻辑分区在所述虚拟机中对应的虚拟磁盘;
读取模块,用于读取所述逻辑分区对应的所述虚拟磁盘的位置信息,作为所述逻辑分区在所述虚拟机中的磁盘位置信息。
8.根据权利要求7所述的装置,其特征在于,所述逻辑分区至少包括如下属性:逻辑分区的盘符和逻辑分区的磁盘编号;所述磁盘驱动器至少包括如下属性:逻辑分区的磁盘编号和磁盘驱动器的实例名;所述磁盘适配器至少包括如下属性:磁盘驱动器的实例名和磁盘位置信息,其中,所述装置还包括:
第二确定单元,用于使得所述每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系,所述每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于在所述每个逻辑分区根据磁盘编号确定与对应的磁盘驱动器的映射关系之前,获取所述逻辑分区对应的磁盘编号,其中,所述第二获取单元包括:
第二获取模块,用于获取所述虚拟机中所有逻辑分区的挂载状态;
第一检测模块,用于依次检测每个逻辑分区的挂载状态是否为有效状态,直至所有的逻辑分区检测结束;
第一处理模块,用于在任意一个当前检测的逻辑分区为所述有效状态的情况下,打开所述当前检测的逻辑分区所对应的卷设备对象,并从所述卷设备对象中查询得到所述当前检测的逻辑分区所对应的磁盘编号;
第二处理模块,用于在任意一个当前检测的逻辑分区为无效状态的情况下,触发所述检测模块继续检测下一个逻辑分区的挂载状态是否为有效状态。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第三获取单元,用于在所述每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,获取所述磁盘驱动器的实例名,其中,所述第三获取单元包括:
第三获取模块,用于获取所述虚拟机中所有磁盘驱动器的集合;
第二检测模块,用于依次检测每个磁盘驱动器是否处于有效状态,直至所有的磁盘驱动器检测结束;
第四获取模块,用于在任意一个当前检测的磁盘驱动器处于所述有效状态的情况下,获取所述当前检测的磁盘驱动器所对应的实例名。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第四获取单元,用于在所述每个磁盘驱动器根据实例名确定与对应的磁盘适配器的映射关系之前,获取所述磁盘适配器的实例名,其中,所述第四获取单元包括:
第五获取模块,用于获取所述虚拟机中所有磁盘适配器的集合;
第三检测模块,用于依次检测每个磁盘适配器是否处于有效状态,直至所有的磁盘适配器检测结束;
第六获取模块,用于在任意一个当前检测的磁盘处于所述有效状态的情况下,获取所述当前检测的磁盘适配器所对应的实例名。
12.根据权利要求7所述的装置,其特征在于,所述匹配单元包括:
第七获取模块,用于根据所述虚拟机中的逻辑分区在所述虚拟机中的磁盘位置信息,获取所述逻辑分区与其磁盘位置信息的对应关系;
传送模块,用于将所述逻辑分区与其磁盘位置信息的对应关系传送至所述物理机或所述网络设备中的控制系统;
匹配模块,用于所述控制系统将所述逻辑分区所对应的磁盘位置信息与已经存储的至少一个QEMU模拟磁盘的模拟磁盘位置信息进行匹配,
其中,所述第一确定单元还用于根据匹配结果确定所述逻辑分区与所述物理机或所述网络设备中的QEMU的从属关系。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610013031.XA CN106959927B (zh) | 2016-01-08 | 2016-01-08 | 获取虚拟机中的逻辑分区的位置信息的方法及装置 |
US15/400,985 US10606659B2 (en) | 2016-01-08 | 2017-01-07 | Acquiring location information for logical partition within virtual machine |
PCT/US2017/012655 WO2017120563A1 (en) | 2016-01-08 | 2017-01-08 | Acquiring location information for logical partition within virtual machine |
EP17736495.7A EP3400524A4 (en) | 2016-01-08 | 2017-01-08 | ACQUIRING LOCATION INFORMATION FOR LOGICAL PARTITION IN A VIRTUAL MACHINE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610013031.XA CN106959927B (zh) | 2016-01-08 | 2016-01-08 | 获取虚拟机中的逻辑分区的位置信息的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106959927A CN106959927A (zh) | 2017-07-18 |
CN106959927B true CN106959927B (zh) | 2020-08-25 |
Family
ID=59275784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610013031.XA Active CN106959927B (zh) | 2016-01-08 | 2016-01-08 | 获取虚拟机中的逻辑分区的位置信息的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10606659B2 (zh) |
EP (1) | EP3400524A4 (zh) |
CN (1) | CN106959927B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11550281B2 (en) * | 2017-05-12 | 2023-01-10 | Gowin Semiconductor Corporation | Method and system for providing programmable microcontroller unit (MCU) using two-phase configuration process |
CN109657471B (zh) * | 2017-10-11 | 2023-02-28 | 阿里巴巴集团控股有限公司 | 云设备管理系统和方法 |
CN110019337A (zh) * | 2017-11-02 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 确定数据库中有效分区的方法、装置和系统 |
CN108255742A (zh) * | 2017-11-29 | 2018-07-06 | 深圳忆联信息系统有限公司 | 一种大容量固态硬盘映射方法 |
CN109388524B (zh) * | 2018-10-09 | 2021-10-01 | 郑州云海信息技术有限公司 | 虚拟磁盘格式的寻址方法和计算机可读存储介质 |
CN111026504B (zh) * | 2019-12-06 | 2023-04-07 | 海光信息技术股份有限公司 | 配置虚拟机中获取处理器信息的指令的处理方法、装置、cpu芯片、片上系统和计算机 |
CN113821172A (zh) * | 2021-09-03 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种存储卷容量获取方法、装置及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1453715A (zh) * | 2002-04-26 | 2003-11-05 | 株式会社日立制作所 | 拥有虚拟资源的存储系统 |
CN101968746A (zh) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | 一种内核虚拟机组织架构模式的实现方法 |
CN102467408A (zh) * | 2010-11-12 | 2012-05-23 | 阿里巴巴集团控股有限公司 | 一种虚拟机数据的访问方法和设备 |
CN104956310A (zh) * | 2013-01-28 | 2015-09-30 | 株式会社日立制作所 | 存储系统和用于分配资源的方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145028A (en) | 1997-12-11 | 2000-11-07 | Ncr Corporation | Enhanced multi-pathing to an array of storage devices |
US7065610B1 (en) * | 2000-06-27 | 2006-06-20 | Emc Corporation | Method and apparatus for maintaining inventory of logical volumes stored on storage elements |
US7003780B2 (en) * | 2000-12-11 | 2006-02-21 | International Business Machines Corporation | Method and an apparatus to extend the logic volume manager model to allow device management plug-ins |
US6832287B2 (en) * | 2001-10-01 | 2004-12-14 | International Business Machines Corporation | System for fast tape file positioning |
US7181744B2 (en) | 2002-10-24 | 2007-02-20 | International Business Machines Corporation | System and method for transferring data between virtual machines or other computer entities |
US20070061441A1 (en) | 2003-10-08 | 2007-03-15 | Landis John A | Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions |
JP4923990B2 (ja) | 2006-12-04 | 2012-04-25 | 株式会社日立製作所 | フェイルオーバ方法、およびその計算機システム。 |
JP4995015B2 (ja) * | 2007-09-13 | 2012-08-08 | 株式会社日立製作所 | 仮想計算機の実行可否検査方法 |
US8176405B2 (en) | 2007-09-24 | 2012-05-08 | International Business Machines Corporation | Data integrity validation in a computing environment |
US8725986B1 (en) * | 2008-04-18 | 2014-05-13 | Netapp, Inc. | System and method for volume block number to disk block number mapping |
US8607020B2 (en) * | 2008-06-06 | 2013-12-10 | International Business Machines Corporation | Shared memory partition data processing system with hypervisor managed paging |
US9507619B2 (en) * | 2010-01-12 | 2016-11-29 | International Business Machines Corporation | Virtualizing a host USB adapter |
US8726274B2 (en) * | 2010-09-10 | 2014-05-13 | International Business Machines Corporation | Registration and initialization of cluster-aware virtual input/output server nodes |
JP5463267B2 (ja) | 2010-11-19 | 2014-04-09 | 株式会社日立製作所 | 仮想計算機システムおよび仮想計算機の移行方法 |
US8869145B1 (en) | 2011-04-28 | 2014-10-21 | Netapp, Inc. | Method and system for managing storage for virtual machines |
GB2506684A (en) * | 2012-10-08 | 2014-04-09 | Ibm | Migration of a virtual machine between hypervisors |
US10248453B2 (en) * | 2012-10-23 | 2019-04-02 | Red Hat Israel, Ltd. | Client live migration for a virtual machine |
-
2016
- 2016-01-08 CN CN201610013031.XA patent/CN106959927B/zh active Active
-
2017
- 2017-01-07 US US15/400,985 patent/US10606659B2/en active Active
- 2017-01-08 EP EP17736495.7A patent/EP3400524A4/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1453715A (zh) * | 2002-04-26 | 2003-11-05 | 株式会社日立制作所 | 拥有虚拟资源的存储系统 |
CN101968746A (zh) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | 一种内核虚拟机组织架构模式的实现方法 |
CN102467408A (zh) * | 2010-11-12 | 2012-05-23 | 阿里巴巴集团控股有限公司 | 一种虚拟机数据的访问方法和设备 |
CN104956310A (zh) * | 2013-01-28 | 2015-09-30 | 株式会社日立制作所 | 存储系统和用于分配资源的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3400524A4 (en) | 2019-08-28 |
EP3400524A1 (en) | 2018-11-14 |
CN106959927A (zh) | 2017-07-18 |
US20170199753A1 (en) | 2017-07-13 |
US10606659B2 (en) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106959927B (zh) | 获取虚拟机中的逻辑分区的位置信息的方法及装置 | |
US11321452B2 (en) | Execution environment virtualization method and apparatus and virtual execution environment access method and apparatus | |
US10678581B2 (en) | Methods and apparatus to select virtualization environments during deployment | |
CN101770551A (zh) | 一种基于硬件模拟器的处理隐藏进程的方法 | |
CN104951694A (zh) | 一种管理虚拟机的隔离方法及装置 | |
US8813071B2 (en) | Storage reclamation systems and methods | |
CN109656646B (zh) | 一种远程桌面控制方法、装置、设备及虚拟化芯片 | |
US20160154661A1 (en) | Systems and methods for virtual machine attribution with hardware information | |
CN113849272A (zh) | 在虚拟机中添加gpu资源的方法及装置 | |
US20130139157A1 (en) | Apparatus and method for automatic para-virtualization of os kernel | |
CN110515671A (zh) | 初始化方法、初始化装置、终端设备及可读存储介质 | |
CN114064216A (zh) | 一种虚拟机初始化方法、装置、终端设备及存储介质 | |
US10503430B2 (en) | Method and device for clearing data and electronic device | |
CN111736943A (zh) | 虚拟机的迁移方法和系统 | |
CN109460187A (zh) | 一种qcow2文件数据一致性验证方法及验证终端 | |
CN112559114A (zh) | 虚拟机的生成方法和装置 | |
US20120124355A1 (en) | Single volume image file extraction | |
CN111124437A (zh) | 一种基于OpenStack的裸机资源配置信息获取方法、系统及设备 | |
CN114003421B (zh) | 虚拟机超时机制测试方法、系统、终端及存储介质 | |
US9836241B1 (en) | Label based guest memory deduplication | |
US20230033667A1 (en) | Methods and systems for creating root-of-trust for computing system components | |
CN114675917A (zh) | 界面渲染方法、装置、设备及介质 | |
US20160026567A1 (en) | Direct memory access method, system and host module for virtual machine | |
CN113377490A (zh) | 虚拟机的内存分配方法、装置和系统 | |
US20160232023A1 (en) | Systems and methods for defining virtual machine dependency mapping |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230524 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |