CN115469964A - 块设备与虚拟机盘符之间映射关系的确定方法和装置 - Google Patents

块设备与虚拟机盘符之间映射关系的确定方法和装置 Download PDF

Info

Publication number
CN115469964A
CN115469964A CN202210909016.9A CN202210909016A CN115469964A CN 115469964 A CN115469964 A CN 115469964A CN 202210909016 A CN202210909016 A CN 202210909016A CN 115469964 A CN115469964 A CN 115469964A
Authority
CN
China
Prior art keywords
disk
drive
virtual machine
mapping relation
identifier
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
CN202210909016.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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202210909016.9A priority Critical patent/CN115469964A/zh
Publication of CN115469964A publication Critical patent/CN115469964A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种块设备与虚拟机盘符之间映射关系的确定方法和装置,其中,该方法应用于服务器,包括:接收新的盘符映射关系和虚拟机标识,其中,新的盘符映射关系为盘符映射程序在接收到查询盘符映射关系的指令的情况下,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符之后得到的磁盘序列号和盘符间的对应关系;根据虚拟机标识,确定目标块设备标识;根据目标块设备标识确定对应的目标磁盘序列号;根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符;建立目标块设备与目标盘符之间的映射关系。通过本申请,解决了相关技术中增加了虚拟机挂载块设备的耗时,无法处理用户手动在Windows虚拟机磁盘管理中修改盘符的问题。

Description

块设备与虚拟机盘符之间映射关系的确定方法和装置
技术领域
本申请涉及计算机虚拟化技术领域,尤其涉及一种块设备与虚拟机盘符之间映射关系的确定方法和装置。
背景技术
云桌面是使用桌面虚拟化技术,通过在云端对硬件资源虚拟化,使用终端远程连接虚拟桌面以达到使用桌面的目的,具有使用本地电脑类似的体验。一般云桌面挂载虚拟存储的块设备作为磁盘,如果存在多块磁盘,无法建立磁盘盘符和块设备的映射关系,数据盘扩容时,用户无法对指定盘符的磁盘进行扩容。
为了解决虚拟存储块设备Windows虚拟机磁盘盘符无法对应的问题,相关技术设计在虚拟机上安装并启动qemu代理服务,并设置虚拟机自动激活并分配盘符给新增存储设备。在宿主机上格式化待挂载的块设备,本地挂载块设备并往里面写入特征文件;将块设备挂载给虚拟机,调用命令检测挂载的块设备在虚拟机中对应盘符。
但是在实际使用中,该相关技术需要改造原有宿主机挂载虚拟存储块设备到虚拟机的流程,增加了宿主机本地挂载块设备和往块设备里面写入特征文件的流程,使得虚拟机挂载块设备的耗时增加,流程更加复杂,更容易出现错误;同时还需要对磁盘格式化做特殊处理;此方式无法处理用户在Windows虚拟机磁盘管理中手动修改盘符导致映射关系错误的情况。
发明内容
本申请提供了一种块设备与虚拟机盘符之间映射关系的确定方法和装置,以至少解决相关技术中存在的增加了虚拟机挂载块设备的耗时,流程更加复杂,无法处理用户手动在Windows虚拟机磁盘管理中修改盘符导致块设备和盘符不对应的问题。
根据本申请实施例的一个方面,提供了一种块设备与虚拟机盘符之间映射关系的确定方法,该方法应用于盘符映射程序,该方法包括:
接收查询盘符映射关系的指令,其中,盘符映射关系用于指示磁盘序列号与盘符之间的对应关系;
基于指令,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符;
根据磁盘序列号和盘符,建立新的盘符映射关系;
将新的盘符映射关系、虚拟机标识发送至服务器。
根据本申请实施例的另一个方面,提供了一种块设备与虚拟机盘符之间映射关系的确定方法,该方法应用于监听软件,该方法包括:
监听磁盘注册表;
在确定磁盘注册表发生变化的情况下,向盘符映射程序发送查询盘符映射关系的指令,其中,盘符映射关系用于指示磁盘序列号与盘符之间的对应关系。
根据本申请实施例的又一个方面,提供了一种块设备与虚拟机盘符之间映射关系的确定方法,该方法应用于服务器,该方法包括:
接收新的盘符映射关系和虚拟机标识,其中,新的盘符映射关系为盘符映射程序在接收到查询盘符映射关系的指令的情况下,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符之后得到的磁盘序列号和盘符间的对应关系;
根据虚拟机标识,确定目标块设备标识;
根据目标块设备标识确定对应的目标磁盘序列号;
根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符;
建立目标块设备与目标盘符之间的映射关系。
根据本申请实施例的又一个方面,提供了一种盘符映射程序,该盘符映射程序用于确定块设备与虚拟机盘符之间映射关系,该盘符映射程序包括:
第一接收模块,用于接收查询盘符映射关系的指令,其中,盘符映射关系用于指示磁盘序列号与盘符之间的对应关系;
获取模块,用于基于指令,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符;
第一建立模块,用于根据磁盘序列号和盘符,建立新的盘符映射关系;
第一发送模块,用于将新的盘符映射关系、虚拟机标识发送至服务器。
根据本申请实施例的又一个方面,提供了一种监听软件,该监听软件用于确定块设备与虚拟机盘符之间映射关系,该监听软件包括:
监听模块,用于监听磁盘注册表;
第二发送模块,用于在确定磁盘注册表发生变化的情况下,向盘符映射程序发送查询盘符映射关系的指令,其中,盘符映射关系用于指示磁盘序列号与盘符之间的对应关系。
根据本申请实施例的又一个方面,提供了一种服务器,该服务器用于确定块设备与虚拟机盘符之间映射关系,该服务器包括:
第二接收模块,用于接收新的盘符映射关系和虚拟机标识,其中,新的盘符映射关系为盘符映射程序在接收到查询盘符映射关系的指令的情况下,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符之后得到的磁盘序列号和盘符间的对应关系;
第一确定模块,用于根据虚拟机标识,确定目标块设备标识;
第二确定模块,用于根据目标块设备标识确定对应的目标磁盘序列号;
查询模块,用于根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符;
第二建立模块,用于建立目标块设备与目标盘符之间的映射关系。
根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行存储器上所存储的计算机程序来执行上述任一实施例中的方法步骤。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
在本申请实施例中,采用盘符映射程序、监听软件、服务器三者相结合的方式,通过监听软件监听磁盘注册表,在确定磁盘注册表发生变化的情况下,向盘符映射程序发送查询盘符映射关系的指令;盘符映射程序接收查询盘符映射关系的指令,基于指令,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符,根据磁盘序列号和盘符,建立新的盘符映射关系,将新的盘符映射关系、虚拟机标识发送至服务器;服务器接收新的盘符映射关系和虚拟机标识,根据虚拟机标识,确定目标块设备标识,根据目标块设备标识确定对应的目标磁盘序列号,根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符,建立目标块设备与目标盘符之间的映射关系。由于本申请实施例通过监听磁盘注册表的变化,可以在第一时间发现磁盘的变化,并在发现磁盘变化后,使用盘符与磁盘序列号映射关系、磁盘序列号和块设备标识关系,建立了盘符和块设备之间的映射关系,无需在原有虚拟机挂载块设备流程上增加新流程,挂载磁盘耗时未增加,复杂度低,容易维护,且可以实时获取磁盘盘符变化,确保磁盘盘符和块设备映射关系正确,而又不用损失太多性能,进而解决了相关技术中存在的增加了虚拟机挂载块设备的耗时,流程更加复杂,无法处理用户手动在Windows虚拟机磁盘管理中修改盘符导致块设备和盘符不对应的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种可选的块设备与虚拟机盘符之间映射关系的确定方法的流程示意图;
图2是根据本申请实施例的另一种可选的块设备与虚拟机盘符之间映射关系的确定方法的流程示意图;
图3是根据本申请实施例的再一种可选的块设备与虚拟机盘符之间映射关系的确定方法的流程示意图;
图4是根据本申请实施例的一种可选的块设备与虚拟机盘符之间映射的原理图;
图5是根据本申请实施例的一种可选的块设备与虚拟机盘符之间映射的完整流程示意图;
图6是根据本申请实施例的一种可选的盘符映射程序的结构框图;
图7是根据本申请实施例的一种可选的监听软件的结构框图;
图8是根据本申请实施例的一种可选的服务器的结构框图;
图9是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了解决虚拟存储块设备Windows虚拟机磁盘盘符无法对应的问题,相关技术提出一种映射块设备和windows虚拟机盘符方法,具体说明如下:
(1)虚拟机上安装并启动qemu代理服务。
(2)虚拟机上设置自动激活并分配盘符给新增存储设备。
(3)在宿主机上格式化待挂载的块设备。
(4)宿主机本地挂载块设备并往里面写入特征文件。
(5)宿主机将块设备挂载给虚拟机。
(6)宿主机调用命令检测挂载的块设备在虚拟机中对应盘符。
在实际使用中,该方案需要改造原有宿主机挂载虚拟存储块设备到虚拟机的流程,增加了宿主机本地挂载块设备和往块设备里面写入特征文件的流程,使得虚拟机挂载块设备的耗时增加,流程更加复杂,更容易出现错误;此方式需要对磁盘格式化做特殊处理;此方式无法处理用户在Windows虚拟机磁盘管理中手动修改盘符导致映射关系错误的情况。为了至少解决上述相关技术中存在的增加了虚拟机挂载块设备的耗时,流程更加复杂,无法处理用户手动在Windows虚拟机磁盘管理中修改盘符导致块设备和盘符不对应的问题,本申请实施例提出一种块设备与虚拟机盘符之间映射关系的确定方法,如图1所示,该方法应用于盘符映射程序,该方法包括:
步骤S101,接收查询盘符映射关系的指令,其中,盘符映射关系用于指示磁盘序列号与盘符之间的对应关系;
步骤S102,基于指令,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符;
步骤S103,根据磁盘序列号和盘符,建立新的盘符映射关系;
步骤S104,将新的盘符映射关系、虚拟机标识发送至服务器。
可选地,在本申请实施例中,以盘符映射程序为执行主体,其设置在虚拟机内,在盘符映射程序接收到查询盘符映射关系的指令时,利用系统插件接口(比如Windows WMI)查询磁盘驱动器(比如Win32_DiskDrive)和磁盘分区(比如Win32_DiskPartition),获取磁盘序列号(SerialNumber)和盘符(Drive Letter)的当前的映射关系,并将当前的映射关系作为信的盘符映射关系,与虚拟机标识一同发送至服务器。
作为一种可选实施例,本申请实施例提出一种块设备与虚拟机盘符之间映射关系的确定方法,如图2,该方法应用于监听软件,该方法包括:
步骤S201,监听磁盘注册表;
步骤S202,在确定磁盘注册表发生变化的情况下,向盘符映射程序发送查询盘符映射关系的指令,其中,盘符映射关系用于指示磁盘序列号与盘符之间的对应关系。
可选地,虚拟机内的监听软件启动线程,通过CreateEvent创建磁盘注册表,使用RegOpenKeyEx打开HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices磁盘注册表项,并调用RegNotifyChangeKeyValue监听打开的磁盘注册表,调用WaitForSingleObject等待盘符变化,如果盘符变化,则向盘符映射程序发送重新查询盘符映射关系的指令。
作为一种可选实施例,本申请实施例提出一种块设备与虚拟机盘符之间映射关系的确定方法,如图3,该方法应用于服务器,该方法包括:
步骤S301,接收新的盘符映射关系和虚拟机标识,其中,新的盘符映射关系为盘符映射程序在接收到查询盘符映射关系的指令的情况下,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符之后得到的磁盘序列号和盘符间的对应关系;
步骤S302,根据虚拟机标识,确定目标块设备标识;
步骤S303,根据目标块设备标识确定对应的目标磁盘序列号;
步骤S304,根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符;
步骤S305,建立目标块设备与目标盘符之间的映射关系。
可选地,服务器在接收到虚拟机上报的新的盘符映射关系和虚拟机标识后,根据虚拟机标识查询出此虚拟机挂载的目标块设备标识,基于目标块设备标识查询新的盘符映射关系,得到目标磁盘序列号,从而根据新的盘符映射关系建立目标块设备和目标磁盘序列号对应的目标盘符之间的映射关系。
基于上述各实施例,采用盘符映射程序、监听软件、服务器三者相结合的方式,通过监听软件监听磁盘注册表,在确定磁盘注册表发生变化的情况下,向盘符映射程序发送查询盘符映射关系的指令;盘符映射程序接收查询盘符映射关系的指令,基于指令,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符,根据磁盘序列号和盘符,建立新的盘符映射关系,将新的盘符映射关系、虚拟机标识发送至服务器;服务器接收新的盘符映射关系和虚拟机标识,根据虚拟机标识,确定目标块设备标识,根据目标块设备标识确定对应的目标磁盘序列号,根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符,建立目标块设备与目标盘符之间的映射关系。由于本申请实施例通过监听磁盘注册表的变化,可以在第一时间发现磁盘的变化,并在发现磁盘变化后,使用盘符与磁盘序列号映射关系、磁盘序列号和块设备标识关系,建立了盘符和块设备之间的映射关系,无需在原有虚拟机挂载块设备流程上增加新流程,挂载磁盘耗时未增加,复杂度低,容易维护,且可以实时获取磁盘盘符变化,确保磁盘盘符和块设备映射关系正确,而又不用损失太多性能,进而解决了相关技术中存在的增加了虚拟机挂载块设备的耗时,流程更加复杂,无法处理用户手动在Windows虚拟机磁盘管理中修改盘符导致块设备和盘符不对应的问题。
作为一种可选实施例,根据虚拟机标识,确定目标块设备标识包括:
根据虚拟机标识,确定目标虚拟机;
获取挂载在目标虚拟机上的目标块设备和目标块设备标识。
可选地,在本申请实施例中,通过虚拟机标识可以确定当前的虚拟机是哪个,然后获取到挂载在当前目标虚拟机上的目标块设备,同时获取到目标块设备的标识。
作为一种可选实施例,根据目标块设备标识确定对应的目标磁盘序列号包括:
将目标块设备标识与新的盘符映射关系内包含的磁盘序列号进行匹配;
根据匹配结果,确定与目标块设备标识对应的目标磁盘序列号。
可选地,本申请实施例在获取到目标块设备标识后,将目标块设备标识与新的盘符映射关系内包含的磁盘序列号进行匹配,比如进行开头匹配,根据匹配结果,确定与目标块设备标识对应的目标磁盘序列号。
作为一种可选实施例,如图4所示,在虚拟机中查询Win32_DiskDrive和Win32_DiskPartition,分别获取磁盘序列号和磁盘盘符,然后建立磁盘序列号和磁盘映射关系,根据虚拟机标识查询宿主机的块设备标识,将宿主机的块设备标识与映射关系内的磁盘序列号进行开头匹配。
作为一种可选实施例,如图5所示,图5是根据本申请实施例的一种可选的块设备与虚拟机盘符之间映射的完整流程示意图,具体流程为:
虚拟机预装盘符映射程序和监听软件;
监听软件监听磁盘注册表变化;
盘符映射程序查询盘符和磁盘序列号,建立映射关系;
盘符映射程序将映射关系及虚拟机标识上报服务器;
服务器根据虚拟标识查询挂载的块设备标识;
服务器将块设备标识与磁盘序列号做匹配,得到选出的磁盘序列号;
建立块设备与选出的磁盘序列号对应的磁盘之间的映射关系。
本申请实施例无需在原有虚拟机挂载块设备流程上增加新流程,挂载磁盘耗时未增加,复杂度低,容易维护;磁盘格式化无需做特殊处理,更友好;可以实时获取磁盘盘符变化,确保磁盘盘符和块设备映射关系正确,而又不用损失太多性能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述块设备与虚拟机盘符之间映射关系的确定方法的盘符映射程序。图6是根据本申请实施例的一种可选的盘符映射程序的结构框图,如图6所示,该盘符映射程序可以包括:
第一接收模块601,用于接收查询盘符映射关系的指令,其中,盘符映射关系用于指示磁盘序列号与盘符之间的对应关系;
获取模块602,用于基于指令,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符;
第一建立模块603,用于根据磁盘序列号和盘符,建立新的盘符映射关系;
第一发送模块604,用于将新的盘符映射关系、虚拟机标识发送至服务器。
需要说明的是,该实施例中的第一接收模块601可以用于执行上述步骤S101,该实施例中的获取模块602可以用于执行上述步骤S102,该实施例中的第一建立模块603可以用于执行上述步骤S103,该实施例中的第一发送模块604可以用于执行上述步骤S104。
根据本申请实施例的另一个方面,还提供了一种用于实施上述块设备与虚拟机盘符之间映射关系的确定方法的监听软件。图7是根据本申请实施例的一种可选的监听软件的结构框图,如图7所示,该监听软件可以包括:
监听模块701,用于监听磁盘注册表;
第二发送模块702,用于在确定磁盘注册表发生变化的情况下,向盘符映射程序发送查询盘符映射关系的指令,其中,盘符映射关系用于指示磁盘序列号与盘符之间的对应关系。
需要说明的是,该实施例中的监听模块701可以用于执行上述步骤S201,该实施例中的第二发送模块702用于执行上述步骤S202。
根据本申请实施例的又一个方面,还提供了一种用于实施上述块设备与虚拟机盘符之间映射关系的确定方法的服务器。图8是根据本申请实施例的一种可选的服务器的结构框图,如图8所示,该服务器可以包括:
第二接收模块801,用于接收新的盘符映射关系和虚拟机标识,其中,新的盘符映射关系为盘符映射程序在接收到查询盘符映射关系的指令的情况下,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符之后得到的磁盘序列号和盘符间的对应关系;
第一确定模块802,用于根据虚拟机标识,确定目标块设备标识;
第二确定模块803,用于根据目标块设备标识确定对应的目标磁盘序列号;
查询模块804,用于根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符;
第二建立模块805,用于建立目标块设备与目标盘符之间的映射关系。
需要说明的是,该实施例中的第二接收模块801可以用于执行上述步骤S301,该实施例中的第一确定模块802可以用于执行上述步骤S302,该实施例中的第二确定模块803可以用于执行上述步骤S303,该实施例中的查询模块804可以用于执行上述步骤S304,该实施例中的第二建立模块805可以用于执行上述步骤S305。
通过上述模块,采用盘符映射程序、监听软件、服务器三者相结合的方式,通过监听软件监听磁盘注册表,在确定磁盘注册表发生变化的情况下,向盘符映射程序发送查询盘符映射关系的指令;盘符映射程序接收查询盘符映射关系的指令,基于指令,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符,根据磁盘序列号和盘符,建立新的盘符映射关系,将新的盘符映射关系、虚拟机标识发送至服务器;服务器接收新的盘符映射关系和虚拟机标识,根据虚拟机标识,确定目标块设备标识,根据目标块设备标识确定对应的目标磁盘序列号,根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符,建立目标块设备与目标盘符之间的映射关系。由于本申请实施例通过监听磁盘注册表的变化,可以在第一时间发现磁盘的变化,并在发现磁盘变化后,使用盘符与磁盘序列号映射关系、磁盘序列号和块设备标识关系,建立了盘符和块设备之间的映射关系,无需在原有虚拟机挂载块设备流程上增加新流程,挂载磁盘耗时未增加,复杂度低,容易维护,且可以实时获取磁盘盘符变化,确保磁盘盘符和块设备映射关系正确,而又不用损失太多性能,进而解决了相关技术中存在的增加了虚拟机挂载块设备的耗时,流程更加复杂,无法处理用户手动在Windows虚拟机磁盘管理中修改盘符导致块设备和盘符不对应的问题。
可选地,第一确定模块包括:
第一确定单元,用于根据虚拟机标识,确定目标虚拟机;
获取单元,用于获取挂载在目标虚拟机上的目标块设备和目标块设备标识。
可选地,第二确定模块包括:
匹配单元,用于将目标块设备标识与新的盘符映射关系内包含的磁盘序列号进行匹配;
第二确定单元,用于根据匹配结果,确定与目标块设备标识对应的目标磁盘序列号。
根据本申请实施例的又一个方面,还提供了一种用于实施上述块设备与虚拟机盘符之间映射关系的确定方法的电子设备,该电子设备可以是服务器、盘符映射程序、监听软件。
图9是根据本申请实施例的一种可选的电子设备的结构框图,以电子设备是服务器为例,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901、通信接口902和存储器903通过通信总线904完成相互间的通信,其中,
存储器903,用于存储计算机程序;
处理器901,用于执行存储器903上所存放的计算机程序时,实现如下步骤:
接收新的盘符映射关系和虚拟机标识,其中,新的盘符映射关系为盘符映射程序在接收到查询盘符映射关系的指令的情况下,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符之后得到的磁盘序列号和盘符间的对应关系;
根据虚拟机标识,确定目标块设备标识;
根据目标块设备标识确定对应的目标磁盘序列号;
根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符;
建立目标块设备与目标盘符之间的映射关系。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,如图9所示,上述存储器903中可以但不限于包括上述服务器中的第二接收模块801、第一确定模块802、第二确定模块803、查询模块804以及第二建立模块805。此外,还可以包括但不限于上述服务器中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
此外,上述电子设备还包括:显示器,用于显示块设备与虚拟机盘符之间映射关系结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行块设备与虚拟机盘符之间映射关系方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
接收新的盘符映射关系和虚拟机标识,其中,新的盘符映射关系为盘符映射程序在接收到查询盘符映射关系的指令的情况下,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符之后得到的磁盘序列号和盘符间的对应关系;
根据虚拟机标识,确定目标块设备标识;
根据目标块设备标识确定对应的目标磁盘序列号;
根据新的盘符映射关系查询与目标磁盘序列号对应的目标盘符;
建立目标块设备与目标盘符之间的映射关系。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请实施例的又一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一个实施例中的块设备与虚拟机盘符之间映射关系方法步骤。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例块设备与虚拟机盘符之间映射关系方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种块设备与虚拟机盘符之间映射关系的确定方法,其特征在于,所述方法应用于盘符映射程序,所述方法包括:
接收查询盘符映射关系的指令,其中,所述盘符映射关系用于指示磁盘序列号与盘符之间的对应关系;
基于所述指令,利用系统插件接口查询磁盘驱动器和磁盘分区,获取所述磁盘序列号和所述盘符;
根据所述磁盘序列号和所述盘符,建立新的盘符映射关系;
将所述新的盘符映射关系、虚拟机标识发送至服务器。
2.一种块设备与虚拟机盘符之间映射关系的确定方法,其特征在于,方法应用于监听软件,方法包括:
监听磁盘注册表;
在确定所述磁盘注册表发生变化的情况下,向盘符映射程序发送查询盘符映射关系的指令,其中,所述盘符映射关系用于指示磁盘序列号与盘符之间的对应关系。
3.一种块设备与虚拟机盘符之间映射关系的确定方法,其特征在于,所述方法应用于服务器,所述方法包括:
接收新的盘符映射关系和虚拟机标识,其中,所述新的盘符映射关系为盘符映射程序在接收到查询盘符映射关系的指令的情况下,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符之后得到的所述磁盘序列号和所述盘符间的对应关系;
根据虚拟机标识,确定目标块设备标识;
根据所述目标块设备标识确定对应的目标磁盘序列号;
根据所述新的盘符映射关系查询与所述目标磁盘序列号对应的目标盘符;
建立目标块设备与所述目标盘符之间的映射关系。
4.根据权利要求3所述的方法,其特征在于,所述根据虚拟机标识,确定目标块设备标识包括:
根据虚拟机标识,确定目标虚拟机;
获取挂载在所述目标虚拟机上的所述目标块设备和所述目标块设备标识。
5.根据权利要求3所述的方法,其特征在于,所述根据目标块设备标识确定对应的目标磁盘序列号包括:
将所述目标块设备标识与所述新的盘符映射关系内包含的磁盘序列号进行匹配;
根据匹配结果,确定与所述目标块设备标识对应的所述目标磁盘序列号。
6.一种盘符映射程序,其特征在于,盘符映射程序用于确定块设备与虚拟机盘符之间映射关系,盘符映射程序包括:
第一接收模块,用于接收查询盘符映射关系的指令,其中,所述盘符映射关系用于指示磁盘序列号与盘符之间的对应关系;
获取模块,用于基于指令,利用基于所述指令,利用系统插件接口查询磁盘驱动器和磁盘分区,获取所述磁盘序列号和所述盘符;
第一建立模块,用于根据所述磁盘序列号和所述盘符,建立新的盘符映射关系;
第一发送模块,用于将所述新的盘符映射关系、虚拟机标识发送至服务器。
7.一种监听软件,其特征在于,监听软件用于确定块设备与虚拟机盘符之间映射关系,监听软件包括:
监听模块,用于监听磁盘注册表;
第二发送模块,用于在确定所述磁盘注册表发生变化的情况下,向盘符映射程序发送查询盘符映射关系的指令,其中,所述盘符映射关系用于指示磁盘序列号与盘符之间的对应关系。
8.一种服务器,其特征在于,服务器用于确定块设备与虚拟机盘符之间映射关系,服务器包括:
第二接收模块,用于接收新的盘符映射关系和虚拟机标识,其中,所述新的盘符映射关系为盘符映射程序在接收到查询盘符映射关系的指令的情况下,利用系统插件接口查询磁盘驱动器和磁盘分区,获取磁盘序列号和盘符之后得到的所述磁盘序列号和所述盘符间的对应关系;
第一确定模块,用于根据虚拟机标识,确定目标块设备标识;
第二确定模块,用于根据所述目标块设备标识确定对应的目标磁盘序列号;
查询模块,用于根据所述新的盘符映射关系查询与所述目标磁盘序列号对应的目标盘符;
第二建立模块,用于建立目标块设备与所述目标盘符之间的映射关系。
9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信,其特征在于,
存储器,用于存储计算机程序;
处理器,用于通过运行存储器上所存储的计算机程序来执行权利要求1或权利要求2或权利要求3至5中任一项的所述方法步骤。
10.一种计算机可读的存储介质,其特征在于,存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现权利要求1或权利要求2或权利要求3至5中任一项中的所述方法步骤。
CN202210909016.9A 2022-07-29 2022-07-29 块设备与虚拟机盘符之间映射关系的确定方法和装置 Pending CN115469964A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210909016.9A CN115469964A (zh) 2022-07-29 2022-07-29 块设备与虚拟机盘符之间映射关系的确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210909016.9A CN115469964A (zh) 2022-07-29 2022-07-29 块设备与虚拟机盘符之间映射关系的确定方法和装置

Publications (1)

Publication Number Publication Date
CN115469964A true CN115469964A (zh) 2022-12-13

Family

ID=84371468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210909016.9A Pending CN115469964A (zh) 2022-07-29 2022-07-29 块设备与虚拟机盘符之间映射关系的确定方法和装置

Country Status (1)

Country Link
CN (1) CN115469964A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116775353A (zh) * 2023-05-19 2023-09-19 北京百度网讯科技有限公司 故障磁盘的维修方法、装置、电子设备与可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116775353A (zh) * 2023-05-19 2023-09-19 北京百度网讯科技有限公司 故障磁盘的维修方法、装置、电子设备与可读存储介质

Similar Documents

Publication Publication Date Title
CN109725950B (zh) 一种实现客户端单实例运行的方法、装置及存储介质
CN106959927B (zh) 获取虚拟机中的逻辑分区的位置信息的方法及装置
CN111506283A (zh) 图像显示方法、装置及系统
US20170249165A1 (en) Usb wireless network card configuration methods, host, usb wireless network card and communication system
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
CN114691390A (zh) 用户态程序的处理方法和装置、存储介质及处理器
CN113849272A (zh) 在虚拟机中添加gpu资源的方法及装置
CN115469964A (zh) 块设备与虚拟机盘符之间映射关系的确定方法和装置
CN104375854A (zh) 一种应用更新下载方法及用户终端
CN111611124B (zh) 监控设备分析方法、装置、计算机装置及存储介质
CN111078305A (zh) 信息采集方法、装置、服务器和信息管理系统
CN112559114A (zh) 虚拟机的生成方法和装置
WO2015117378A1 (zh) 端口自适应配置的方法及相关系统、计算机存储介质
CN114064216A (zh) 一种虚拟机初始化方法、装置、终端设备及存储介质
CN113885971A (zh) 一种基于自适应平台系统的状态管理方法及装置
CN115495161B (zh) Bios选项修改的生效方法和装置、存储介质
CN115913913B (zh) 网卡预启动执行环境功能故障定位方法及装置
CN116149941A (zh) 服务器部件的监控方法、装置、服务器及存储介质
CN111147400B (zh) 一种命令行配置同步的方法、装置及电子设备
CN111930391B (zh) 应用程序数据处理方法、装置、服务器及用户终端
CN115185553A (zh) 更新用户的设备固件的方法及其相关设备
CN108241546B (zh) 一种bdi调试器共享使用的方法、装置及系统
CN111638896A (zh) 升级方法、升级装置、存储介质、处理器和移动终端
CN105867961A (zh) 系统升降级的方法和装置
CN107231244B (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