CN109684029A - 存储内容访问方法、装置、电子设备及计算机存储介质 - Google Patents
存储内容访问方法、装置、电子设备及计算机存储介质 Download PDFInfo
- Publication number
- CN109684029A CN109684029A CN201811303614.1A CN201811303614A CN109684029A CN 109684029 A CN109684029 A CN 109684029A CN 201811303614 A CN201811303614 A CN 201811303614A CN 109684029 A CN109684029 A CN 109684029A
- Authority
- CN
- China
- Prior art keywords
- storage
- virtual machine
- host
- access
- access protocol
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000005012 migration Effects 0.000 claims description 24
- 238000013508 migration Methods 0.000 claims description 24
- 230000009471 action Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 230000010365 information processing Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000003999 initiator Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or 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
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及信息处理技术领域,尤其涉及一种存储内容访问方法、装置、电子设备及计算机存储介质;该方法包括:当第一主机的虚拟机运行时,从所述虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址;所述存储地址采用第一访问协议所定义的存储格式;基于获取的所述存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容。通过本申请实施例提供的存储内容访问方案,虚拟机可以无需直接访问真实的物理存储空间,从而可以使虚拟机对真实的物理存储空间的访问方式被屏蔽。
Description
技术领域
本申请涉及信息处理技术领域,尤其涉及一种存储内容访问方法、装置、电子设备及计算机存储介质。
背景技术
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机可以通过访问物理存储空间实现分布式存储。物理存储空间可以支持多个主机,为多个主机及主机上的虚拟机提供存储资源。
目前,大部分虚拟机是通过绑定的物理存储空间,将运行过程中生成的文件直接写入对应的物理存储空间中,实现物理存储空间的访问。但是,这种物理存储空间的方式,虚拟机无法实现在不同访问接口协议的主机上进行读写。例如,第一主机使用通过以太网远程直接数据存取(RDMA over Converged Ethernet,RoCE)接口访问远端存储设备,第二主机使用以太网(XGE)接口访问远端存储设备,由于访问协议接口不同,虚拟机无法实现物理存储空间的访问。
发明内容
有鉴于此,本申请实施例提供一种存储内容访问方法、装置、电子设备及计算机存储介质,可以通过逻辑虚拟磁盘建立虚拟机与目标存储设备之间的连接,使虚拟机无需直接访问真实的物理存储空间。
本申请实施例提供了一种存储内容访问方法,所述方法包括:
当在第一主机的虚拟机运行时,从所述虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址;所述存储地址采用第一访问协议所定义的存储格式;
基于获取的所述存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容。
在一种实施例中,所述基于获取的存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容,包括:
调用加载的所述逻辑虚拟磁盘的后端驱动,从所述逻辑虚拟磁盘的块设备中获取所述存储内容对应的每个存储块的存储地址,基于该存储地址访问所述目标存储设备的每个存储块。
在一种实施例中,所述方法还包括:
当需要将虚拟机从第一主机迁移到第二主机时,从所述第一主机获取所述逻辑虚拟磁盘的逻辑虚拟磁盘文件;
基于获取的所述逻辑虚拟磁盘的逻辑虚拟磁盘文件,在所述第二主机生成逻辑虚拟磁盘;
根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径;
根据所述访问路径支持的第二访问协议,更改所述第二主机的逻辑虚拟磁盘中所述存储地址的存储格式,并为迁移后的虚拟机加载更改所述存储格式后的逻辑虚拟磁盘。
在一种实施例中,所述方法还包括:
所述确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径之后,还包括:
在所述第二主机生成所述逻辑虚拟磁盘的块设备;
根据所述虚拟机的存储内容的存储地址,确定所述存储内容对应的每个存储块的存储地址,将每个存储块的存储地址写入所述块设备;
当迁移后的所述虚拟机运行时,在加载的所述逻辑虚拟磁盘的后端驱动的作用下,根据所述块设备中每个存储块的存储地址,通过所述第二访问协议接口在目标存储设备中访问所述虚拟机的存储内容所对应的每个存储块。
在一种实施例中,所述根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径,包括:
基于所述第二主机当前可用的访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与存储所述存储内容的目标存储设备之间的连接;
在连接成功后,将所述当前可用的访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
在一种实施例中,所述方法还包括:
若所述连接失败,则选择所述第二主机当前可用的其它访问协议接口;并基于所述其它访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与所述目标存储设备之间的连接;
在连接成功后,将所述当前可用的其它访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
本申请实施例还提供了一种存储内容访问装置,所述装置包括:获取模块和访问模块;其中,
所述获取模块,用于当在第一主机的虚拟机运行时,从所述虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址;所述存储地址采用第一访问协议所定义的存储格式;
所述访问模块,用于基于获取的所述存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容。
在一种实施例中,所述访问模块,具体用于根据以下步骤通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容:
调用加载的所述逻辑虚拟磁盘的后端驱动,从所述逻辑虚拟磁盘的块设备中获取所述存储内容对应的每个存储块的存储地址,基于该存储地址访问所述目标存储设备的每个存储块。
在一种实施例中,
所述获取模块,还用于当需要将虚拟机从第一主机迁移到第二主机时,从所述第一主机获取所述逻辑虚拟磁盘的逻辑虚拟磁盘文件;
所述装置还包括:
生成模块,用于基于获取的所述逻辑虚拟磁盘的逻辑虚拟磁盘文件,在所述第二主机生成逻辑虚拟磁盘;
确定模块,用于根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径;
迁移模块,用于根据所述访问路径支持的第二访问协议,更改所述第二主机的逻辑虚拟磁盘中所述存储地址的存储格式,并为迁移后的虚拟机加载更改所述存储格式后的逻辑虚拟磁盘。
在一种实施例中,所述生成模块,还用于在所述第二主机生成所述逻辑虚拟磁盘的块设备;
所述迁移模块,还用于根据所述虚拟机的存储内容的存储地址,确定所述存储内容对应的每个存储块的存储地址,将每个存储块的存储地址写入所述块设备;
所述访问模块,还用于当迁移后的所述虚拟机运行时,在加载的所述逻辑虚拟磁盘的后端驱动的作用下,根据所述块设备中每个存储块的存储地址,通过所述第二访问协议接口在目标存储设备中访问所述虚拟机的存储内容所对应的每个存储块。
在一种实施例中,所述确定模块,具体用于根据以下步骤确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径:
基于所述第二主机当前可用的访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与存储所述存储内容的目标存储设备之间的连接;
在连接成功后,将所述当前可用的访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
在一种实施例中,所述确定模块,还用于若所述连接失败,则选择所述第二主机当前可用的其它访问协议接口;并基于所述其它访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与所述目标存储设备之间的连接;在连接成功后,将所述当前可用的其它访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述可能的实施方式中的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述可能的实施方式中的步骤。
采用本申请实施例提供的存储内容访问方案,当第一主机的虚拟机运行时,可以从虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址,然后可以基于获取的存储地址,通过第一访问协议接口在目标存储设备中访问虚拟机的存储内容。这里,逻辑虚拟磁盘中的存储地址采用第一访问协议所定义的存储格式,虚拟机可以根据第一访问协议的存储地址通过第一访问协议接口访问虚拟机的存储内容。与现有技术中虚拟机直接访问物理存储空间的方式相比,可以将虚拟机对真实的物理存储空间的访问,转换为对逻辑虚拟磁盘的访问,从而可以无需直接访问真实的物理存储空间,从而可以使虚拟机对真实的物理存储空间的访问方式被屏蔽,可以实现虚拟机在不同访问接口协议的主机上进行读写。
为使本申请实施例的上述目的、特征和优点能更明显易懂,下面将结合实施例,并配合所附附图,作详细说明。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的多个主机连接目标存储设备的示意图;
图2示出了本申请实施例所提供的存储内容访问方法的流程图;
图3示出了本申请实施例所提供的利用存储内容访问方法对虚拟机迁移的方法的流程图;
图4示出了本申请实施例所提供的虚拟机迁移后访问目标存储设备过程的流程图;
图5示出了本申请实施例所提供的存储内容访问装置的示意图;
图6示出了本申请实施例所提供的电子设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。以下对本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例下述存储内容访问方法、装置、电子设备或计算机存储介质可以应用于任何需要对存储内容访问的场景,比如,可以应用于虚拟机访问应用或虚拟化管理平台等。本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的方法对存储内容访问的方案均在本申请保护范围内。
如图1所示,为多个主机连接目标存储设备的示意图。第一主机通过RoCE接口与目标存储设备建立连接,RoCE接口对应非易失性内存主机控制器接口规范(Non-VolatileMemory express over Fabrics,NVMeoF)的访问协议。第二主机通过XGE接口与目标存储设备建立连接,XGE接口对应iscisi访问协议。当虚拟机在第一主机上时,可以通过RoCE接口访问目标存储设备。由于RoCE接口与XGE接口的访问协议不同,在将第一主机中的虚拟机迁移到第二主机上时,即使将第一主机中虚拟机的全部信息复制到第二主机上,第二主机的XGE接口无法识别虚拟机访问目标存储设备操作,导致虚拟机在由第一主机迁移到第二主机时,虚拟机无法访问目标存储设备,即虚拟机迁移失败。
在本申请实施例提供的存储内容访问方案中,当第一主机的虚拟机运行时,可以从虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址,然后可以基于获取的存储地址,通过第一访问协议接口在目标存储设备中访问虚拟机的存储内容。这里,逻辑虚拟磁盘中的存储地址采用第一访问协议所定义的存储格式,虚拟机可以根据第一访问协议的存储地址通过第一访问协议接口访问虚拟机的存储内容。与现有技术中虚拟机直接访问物理存储空间的方式相比,可以将虚拟机对真实的物理存储空间的访问,转换为对逻辑虚拟磁盘的访问,从而可以无需直接访问真实的物理存储空间,从而可以使虚拟机对真实的物理存储空间的访问方式被屏蔽,可以实现虚拟机在不同访问接口协议的主机上进行读写。
此外,这里的逻辑虚拟磁盘的逻辑虚拟磁盘文件较小,可以认为不占用存储资源空间,在将虚拟机从第一主机迁移到第二主机时,可以从第一主机快速地获取逻辑虚拟磁盘文件,并生成逻辑虚拟磁盘。在生成逻辑虚拟磁盘之后,可以根据逻辑虚拟磁盘中携带的虚拟机的存储内容的存储地址,确定迁移到第二主机的虚拟机通过第二访问协议接口访问虚拟机的存储内容的访问路径,再根据访问路径支持的第二访问协议,更改第二主机的逻辑虚拟磁盘中存储地址的存储格式,并为迁移后的虚拟机加载更改存储格式后的逻辑虚拟磁盘。这样,通过获取第一主机的逻辑虚拟磁盘文件,并对逻辑虚拟磁盘文件生成的逻辑虚拟磁盘中携带的存储地址的存储格式进行更改,可以实现虚拟机在使用不同的访问协议接口的主机之间的迁移。下述实施例将会对本申请实施例提供的存储内容访问过程作详细说明。
本申请实施例提供的一种存储内容访问方法的基本流程如图1所示,所述方法包括:
S101,当第一主机的虚拟机运行时,从所述虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址;所述存储地址采用第一访问协议所定义的存储格式。
在具体实施中,第一主机中加载有逻辑虚拟磁盘,逻辑虚拟磁盘具有磁盘信息,磁盘信息包括连接目标储存设备的连接参数,例如,磁盘信息可以包括逻辑虚拟磁盘的容量信息、前端驱动类型、后端驱动类型和虚拟机的存储内容的存储地址。当第一主机的虚拟机运行时,第一主机中的虚拟机可以在逻辑虚拟磁盘中获取目标存储设备中存储的存储内容的存储地址。这里,第一主机通过第一访问协议接口与目标储存设备进行连接,如通过RoCE接口与目标储存设备进行连接。存储地址的存储格式为第一访问协议的存储格式,如NVMeoF访问协议。这样,第一访问协议接口可以识别需要访问的存储地址。
S102,基于获取的所述存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容。
在具体实施中,在获取第一访问协议的存储格式的存储地址之后,可以基于获取的存储地址,在加载的逻辑虚拟磁盘的后端驱动的作用下,通过第一访问协议接口访问虚拟机的存储内容。在通过第一访问协议接口访问虚拟机的存储内容时,可以在后端驱动的驱动下,通过第一存储设备中的设备块实现虚拟机的存储内容的访问。具体如,第一主机可以加载逻辑虚拟磁盘的后端驱动virtio-Xblk,在虚拟机访问逻辑虚拟磁盘时,可以在virtio-Xblk的驱动下,将虚拟机对逻辑虚拟磁盘的访问,转变为对目标存储设备的访问,进而根据逻辑虚拟磁盘的块设备中每个存储块的存储地址,访问虚拟机的存储内容所对应的每个存储块,从而实现对目标存储设备中存储内容的读写过程。
这里,virtio可以理解为半虚拟化管理程序,virtio-Xblk中的-Xblk可以用于标识virtio程序的后端驱动程序类型。在后端驱动virtio-Xblk的作用下,可以将将虚拟机对逻辑虚拟磁盘的访问,转变为对目标存储设备的访问,从而虚拟机可以通过访问逻辑虚拟磁盘,实现对目标存储设备中存储内容的读写,可以使虚拟机对真实的物理存储空间的访问方式被屏蔽。
基于上述实施例提供的存储内容访问方法,本申请实施例还提供了一种利用存储内容访问方法对虚拟机迁移的方法,如图3所示,包括:
S201,当需要将虚拟机从第一主机迁移到第二主机时,从所述第一主机获取所述逻辑虚拟磁盘的逻辑虚拟磁盘文件。
在具体实施中,虚拟机在进行迁移之前,在第一主机上通过第一访问协议接口访问虚拟机的存储内容。虚拟机的存储内容可以存储在目标存储设备上,目标存储设备可以为远端储存设备。当需要将虚拟机从第一主机迁移到第二主机时,第二主机可以从第一主机获取逻辑虚拟磁盘的逻辑虚拟磁盘文件。在获取第一主机的逻辑虚拟磁盘文件时,可以通过有线传输方式,如串行通信、并行通信等有线传输方式,还可以通过无线传输方式,如蓝牙、射频等无线传输方式。逻辑虚拟磁盘文件中记录有逻辑虚拟磁盘的磁盘信息,可以包括逻辑虚拟磁盘的容量信息、前端驱动类型、后端驱动类型和虚拟机的存储内容的存储地址。逻辑虚拟磁盘文件可以存储在第一主机的存储硬盘中。
S202,基于获取的所述逻辑虚拟磁盘的逻辑虚拟磁盘文件,在所述第二主机生成逻辑虚拟磁盘。
在具体实施中,在从第一主机获取逻辑虚拟磁盘的逻辑虚拟磁盘文件之后,可以在第二主机生成逻辑虚拟磁盘。生成的逻辑虚拟磁盘中可以携带虚拟机的存储内容的存储地址,虚拟机的存储内容存储在目标存储设备中。在生成逻辑虚拟磁盘时,可以按照逻辑虚拟磁盘文件的磁盘信息生成逻辑虚拟磁盘。例如,若磁盘信息中虚拟磁盘大小为40G,前端驱动类型为virtio-blk,后端驱动类型为virtio-Xblk,则生成的虚拟磁盘大小为40G,虚拟磁盘的前端驱动类型为virtio-blk,虚拟磁盘的后端驱动类型为virtio-Xblk。这里,virtio可以理解为半虚拟化管理程序,virtio-Xblk中的-Xblk可以用于标识virtio程序的后端驱动程序类型。在后端驱动virtio-Xblk的作用下,可以将将虚拟机对逻辑虚拟磁盘的访问,转变为对目标存储设备的访问,virtio-blk中的-blk可以用于标识virtio程序的前端驱动程序类型。在前端驱动virtio-blk的作用下,虚拟机可以对逻辑虚拟机磁盘进行读写过程。这里,生成的逻辑虚拟磁盘还可以携带虚拟机的存储内容的储存地址。由于逻辑虚拟磁盘是基于由第一主机获取的逻辑虚拟磁盘文件生成的,第一主机通过第一访问协议接口访问虚拟机的存储内容,因此,逻辑虚拟磁盘携带的储存地址的存储格式为第一访问协议对应的存储格式,例如图1中,第一主机的访问协议接口为RoCE接口,对应的访问协议为NVMeoF,则逻辑虚拟磁盘携带的储存地址的存储格式为NVMeoF存储格式。
S203,根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径。
在具体实施中,在第二主机生成逻辑虚拟磁盘之后,可以根据逻辑虚拟磁盘中携带的虚拟机的存储内容的存储地址,确定虚拟机在迁移到第二主机之后,虚拟机通过第二访问协议接口访问虚拟机的存储内容的访问路径,即确定虚拟机访问目标存储设备的访问路径。
这里,在确定迁移到第二主机的虚拟机通过第二访问协议接口访问虚拟机的存储内容的访问路径时,可以基于第二主机当前可用的访问协议接口和虚拟机的存储内容的存储地址,尝试建立第二主机与存储虚拟机的存储内容的目标存储设备之间的连接。需要说明的是,第二主机当前可用的访问协议接口与第一主机访问目标存储设备的第一访问协议接口不同,可以理解的是,第二主机不具有第一访问协议接口,或者,第二主机具有第一访问协议接口,但第一访问协议接口当前不可用,例如,第二主机的第一访问协议接口故障。在尝试建立第二主机与存储虚拟机的存储内容的目标存储设备之间的连接时,可以选择第二主机当前可用的任一访问协议接口,通过选择的访问协议接口连接存储地址所指示的目标存储设备。若连接成功,则可以将当前可用的访问协议接口作为第二访问协议接口,形成第二主机的虚拟机通过第二访问接口访问虚拟机的存储内容的访问路径。例如,若第二主机当前可用的访问协议接口为XGE接口,则可以通过XGE接口目标存储设备,若连接成功,则形成虚拟机通过XGE接口访问目标存储设备的访问路径。
在具体实施中,若通过当前可用的任一访问协议接口建立的第二主机与目标存储设备之间的连接失败,则选择第二主机当前可用的其它访问协议接口,并基于其它访问协议接口和虚拟机的存储内容的存储地址,尝试建立第二主机与目标存储设备之间的连接。在连接成功后,可用将当前可用的其它访问协议接口作为第二访问协议接口,形成第二主机的虚拟机通过第二访问协议接口访问虚拟机的存储内容的访问路径。这样,在尝试建立第二主机与目标存储设备之间的连接失败时,可用更换选择的访问协议接口,提高第二主机与目标存储设备连接成功的成功率。
在具体实施中,在确定迁移到第二主机的虚拟机通过第二访问协议接口访问虚拟机的存储内容的访问路径之后,还可以在第二主机中生成逻辑虚拟磁盘的块设备,然后根据虚拟机的存储内容的存储地址,确定存储内容对应的每个存储块的存储地址,并将每个存储块的存储地址写入块设备。块设备可以是逻辑虚拟磁盘对应的信息存储块,块设备中存储有存储内容对应的每个存储块的存储地址,这样,在虚拟机访问逻辑虚拟磁盘时,可以在逻辑虚拟磁盘的后端驱动的作用下,将虚拟机访问逻辑虚拟磁盘的操作,转换为通过存储块访问目标存储设备中的存储内容,在访问目标存储设备中的存储内容时,可以通过访问块设备中存储地址实现访问目标存储设备中的存储内容对应的每个存储块。例如,当访问块设备中存储的某个字节时,可以实现访问目标存储设备中该字节的存储地址指示的某个存储字段。
S204,根据所述访问路径支持的第二访问协议,更改所述第二主机的逻辑虚拟磁盘中所述存储地址的存储格式,并为迁移后的虚拟机加载更改所述存储格式后的逻辑虚拟磁盘。
这里,在确定迁移到第二主机的虚拟机通过第二访问协议接口访问虚拟机的存储内容的访问路径之后,可用根据访问路径支持的第二访问协议,对第二主机的逻辑虚拟磁盘中携带的存储地址的存储格式进行修改。例如,若第二主机和目标存储设备通过XGE接口建立连接,则可以根据XGE接口支持的iscsi访问协议更改逻辑虚拟磁盘中的存储地址,若逻辑虚拟磁盘中的存储地址为NVMeoF访问协议的存储格式,则将存储地址更改为iscsi访问协议的存储格式。
在具体实施中,在根据访问路径支持的第二访问协议,更改第二主机的逻辑虚拟磁盘中存储地址的存储格式之后,可以为迁移后的虚拟机加载更改存储格式后的逻辑虚拟磁盘。具体地,可以在第二主机建立虚拟机,然后为建立的虚拟机加载更改存储格式后的逻辑虚拟磁盘,如为建立的虚拟机加载逻辑虚拟磁盘中的前端驱动。此外,还可以为第二主机加载逻辑虚拟磁盘中的后端驱动,该后端驱动可以将虚拟机对逻辑虚拟磁盘的访问,转变对目标存储设备的访问。在一些实施方式中,还可以从第一主机中复制虚拟机的配置信息,如虚拟机内存、处理器个数等配置信息。在为虚拟机添加逻辑虚拟磁盘和配置信息之后,完成虚拟机由第一主机到第二主机的迁移。
在本申请实施例提供的上述虚拟机迁移方案中,可以通过获取第一主机的逻辑虚拟磁盘文件,并对逻辑虚拟磁盘文件生成的逻辑虚拟磁盘中携带的存储地址的存储格式进行更改,实现虚拟机在使用不同的访问协议接口的主机之间的迁移。如图4所示,本申请实施例还提供了虚拟机迁移后访问目标存储设备过程的具体流程,包括:
S301,当迁移后的所述虚拟机运行时,从加载的所述逻辑虚拟磁盘中获取待访问的存储内容的存储地址。
在具体实施中,当迁移后的虚拟机运行时,第二主机中的虚拟机可以在逻辑虚拟磁盘中获取目标存储设备中存储的存储内容的存储地址。这里,逻辑虚拟磁盘中携带的存储地址为更改存储格式后的存储地址,即存储地址的存储格式是第二访问协议的存储格式。
S302,基于获取的存储地址,在加载的所述逻辑虚拟磁盘的后端驱动的作用下,通过所述第二访问协议接口访问所述虚拟机的存储内容。
这里,在获取第二访问协议的存储格式的存储地址之后,可以基于获取的存储地址,在加载的逻辑虚拟磁盘的后端驱动的作用下,通过第二访问协议接口访问虚拟机的存储内容。在通过第二访问协议接口访问虚拟机的存储内容时,可以在后端驱动的驱动下,通过第二存储设备中的设备块实现虚拟机的存储内容的访问。具体如,第二主机可以加载逻辑虚拟磁盘的后端驱动virtio-Xblk,在虚拟机访问逻辑虚拟磁盘时,可以在virtio-Xblk的驱动下,将虚拟机对逻辑虚拟磁盘的访问,转变为对目标存储设备的访问,进而根据逻辑虚拟磁盘的块设备中每个存储块的存储地址,访问虚拟机的存储内容所对应的每个存储块,从而实现对目标存储设备中存储内容的读写过程。
下面,以具体的实施例对本申请实施例提供的存储内容访问方法进行说明。
虚拟机可以采用标准的virtio程序进行驱动,第一主机具有RoCE接口,第二主机具有XGE接口,不具有RoCE接口(或RoCE口故障)。虚拟机运行在第一主机上,通过RoCE接口访问目标存储设备。
1、第一主机可以使用initiator连接工具与目标存储设备建立连接。在与目标存储设备建立连接之后,可以在第一主机中产生块设备blockA,块设备blockA存储有使用RoCE接口的接口协议存储的连接参数,这里的连接参数包括目标存储设备的名称和地址。
2、在第一主机创建逻辑虚拟磁盘文件,逻辑虚拟磁盘文件可以存储在第一主机的本地存储上。逻辑虚拟磁盘文件的磁盘信息可以是:
虚拟磁盘的大小40G
前端驱动类型virtio-blk
后端驱动类型virtio-Xblk
连接目标存储设备的连接参数:nvme target,名称,存储地址。
这里,逻辑虚拟磁盘文件的磁盘信息可以是预先设置的,其中,逻辑虚拟磁盘的前端驱动可以用于驱动虚拟机读取逻辑虚拟磁盘,从而获取目标存储设备的连接参数,逻辑虚拟磁盘的后端驱动可以将虚拟机读取逻辑虚拟磁盘的过程转换为根据连接参数访问目标存储设备的过程。
3、在第一主机上创建虚拟机,并为虚拟机添加逻辑虚拟磁盘文件生成的逻辑虚拟磁盘virtdisk。
这里,第一主机和第二主机均安装有virtio-Xblk驱动,虚拟机内置virtio-blk驱动。
4、第一主机中虚拟机访问目标存储设备的过程:
虚拟机通过virtio-blk读写virtdisk;
第一主机通过virtio-Xblk将读写virtdisk的操作转换读取blockA的操作;
第一主机访问blockA,根据blockA中的目标存储设备的存储地址访问远端的目标存储设备。
远端的目标存储设备回应之后,第一主机通知虚拟机,完成虚拟机的访问目标存储设备的过程。
5、在将虚拟机由第一主机迁移到第二主机时,第一主机读取逻辑虚拟磁盘文件,将逻辑虚拟磁盘文件发送到第二主机。
第二主机根据接收到的逻辑虚拟磁盘文件,生成新的逻辑虚拟磁盘virtdisk:
虚拟磁盘的大小40G
前端驱动类型virtio-blk
后端驱动类型virtio-Xblk
连接目标存储设备的连接参数:nvme target,名称,存储地址。
6、第二主机使用initiator连接工具与目标存储设备建立连接。若不能正常连接,则更换iscsi协议接口进行连接
第二主机使用initiator连接工具使用iscsi协议连接目标存储设备。
若仍连接失败,则删除virtdisk,迁移失败,结束当前流程。
若连接成功,则第二主机产生的块设备blockB,并更改virtdisk中的连接参数:iscsi target,name,存储地址。
7、在第二主机建立虚拟机,为虚拟机添加逻辑虚拟磁盘virtdisk。从第一主机复制虚拟机内存等信息完成虚拟机的迁移。
8、虚拟机迁移后,虚拟机访问目标存储设备的过程:
虚拟机通过virtio-blk读写virtdisk;
第二主机通过virtio-Xblk将读写virtdisk的操作转换读取blockB的操作;
第二主机访问blockB,根据blockB中的目标存储设备的存储地址访问远端的目标存储设备。
远端的目标存储设备回应之后,第二主机通知虚拟机,完成虚拟机的访问目标存储设备的过程。
通过上述存储内容访问方法,由于逻辑虚拟磁盘文件较小,可以认为不占用存储资源空间,因此可以从第一主机快速地获取逻辑虚拟磁盘文件,并生成逻辑虚拟磁盘。虚拟机对逻辑虚拟磁盘的访问,在虚拟机的客户系统是通过virtio blk进行驱动,在主机上时通过virtio-Xblk进行驱动,可将虚拟机对逻辑虚拟磁盘的访问转化为对设备块的访问,使虚拟机对实际目标存储设备的访问方式被屏蔽,达到在异构主机之间的迁移目的,即,在第一主机使用RoCE接口访问目标存储设备,第二主机使用XGE接口访问目标存储设备,也能实现虚拟机的迁移。此外,虚拟机的客户系统使用vitio进行驱动,可以与现有的virtio架构兼容。
如图5所示,本申请实施例还提供了一种存储内容访问装置40,虚拟机在迁移前在第一主机上通过第一访问协议接口访问所述虚拟机的存储内容;所述装置40包括:获取模块41和生成模块42。
所述获取模块41,用于当第一主机的虚拟机运行时,从所述虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址;所述存储地址采用第一访问协议所定义的存储格式;
所述访问模块42,用于基于获取的所述存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容。
在具体实施中,所述访问模块42,具体用于根据以下步骤通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容:
调用加载的所述逻辑虚拟磁盘的后端驱动,从所述逻辑虚拟磁盘的块设备中获取所述存储内容对应的每个存储块的存储地址,基于该存储地址访问所述目标存储设备的每个存储块。
在具体实施中,
所述获取模块41,还用于当需要将虚拟机从第一主机迁移到第二主机时,从所述第一主机获取所述逻辑虚拟磁盘的逻辑虚拟磁盘文件;
在具体实施中,所述装置还包括:
生成模块,用于基于获取的所述逻辑虚拟磁盘的逻辑虚拟磁盘文件,在所述第二主机生成逻辑虚拟磁盘;
确定模块,用于根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径;
迁移模块,用于根据所述访问路径支持的第二访问协议,更改所述第二主机的逻辑虚拟磁盘中所述存储地址的存储格式,并为迁移后的虚拟机加载更改所述存储格式后的逻辑虚拟磁盘。
在具体实施中,所述生成模块,还用于在所述第二主机生成所述逻辑虚拟磁盘的块设备;
所述迁移模块,还用于根据所述虚拟机的存储内容的存储地址,确定所述存储内容对应的每个存储块的存储地址,将每个存储块的存储地址写入所述块设备;
所述访问模块42,还用于当迁移后的所述虚拟机运行时,在加载的所述逻辑虚拟磁盘的后端驱动的作用下,根据所述块设备中每个存储块的存储地址,通过所述第二访问协议接口在目标存储设备中访问所述虚拟机的存储内容所对应的每个存储块。
在具体实施中,所述确定模块,具体用于根据以下步骤确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径:
基于所述第二主机当前可用的访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与存储所述存储内容的目标存储设备之间的连接;
在连接成功后,将所述当前可用的访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
在具体实施中,所述确定模块,还用于若所述连接失败,则选择所述第二主机当前可用的其它访问协议接口;并基于所述其它访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与所述目标存储设备之间的连接;在连接成功后,将所述当前可用的其它访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
采用上述存储内容访问装置40,第一主机中逻辑虚拟磁盘中的存储地址采用第一访问协议所定义的存储格式,虚拟机可以根据第一访问协议的存储地址通过第一访问协议接口访问虚拟机的存储内容。这样,可以将虚拟机对真实的物理存储空间的访问,转换为对逻辑虚拟磁盘的访问,从而可以无需直接访问真实的物理存储空间,从而可以使虚拟机对真实的物理存储空间的访问方式被屏蔽,可以实现虚拟机在不同访问接口协议的主机上进行读写。当需要将虚拟机从第一主机迁移到第二主机时,可以先从所述第一主机获取逻辑虚拟磁盘的逻辑虚拟磁盘文件,然后基于获取的逻辑虚拟磁盘的逻辑虚拟磁盘文件,在第二主机生成逻辑虚拟磁盘,根据虚拟机的存储内容的存储地址,确定迁移到第二主机的虚拟机通过第二访问协议接口访问虚拟机的存储内容的访问路径,再根据访问路径支持的第二访问协议,更改第二主机的逻辑虚拟磁盘中存储地址的存储格式,并为迁移后的虚拟机加载更改存储格式后的逻辑虚拟磁盘。这里,虚拟机在迁移前在第一主机上通过第一访问协议接口访问虚拟机的存储内容。通过获取第一主机的逻辑虚拟磁盘文件,并对逻辑虚拟磁盘文件生成的逻辑虚拟磁盘中携带的存储地址的存储格式进行更改,可以实现虚拟机在使用不同的访问协议接口的主机之间的迁移。且通过逻辑虚拟磁盘实现虚拟机迁移的过程中,由于逻辑虚拟磁盘文件较小,复制速度快,可以提高虚拟机迁移的效率。
本申请实施例还提供了一种电子设备50的结构示意图,如图6所示,包括:处理器51、存储器52和总线53;
所述存储器存储52有所述处理器51可执行的机器可读指令,当电子设备运行时,所述处理器51与所述存储器52之间通过总线53通信,所述机器可读指令被所述处理器51执行时执行如下处理:
当第一主机的虚拟机运行时,从所述虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址;所述存储地址采用第一访问协议所定义的存储格式;
基于获取的所述存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容。
在具体实施中,上述处理器51执行的处理中,所述方法还包括:
所述基于获取的存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容,包括:
调用加载的所述逻辑虚拟磁盘的后端驱动,从所述逻辑虚拟磁盘的块设备中获取所述存储内容对应的每个存储块的存储地址,基于该存储地址访问所述目标存储设备的每个存储块。
在具体实施中,上述处理器51执行的处理中,所述方法还包括:
当需要将虚拟机从第一主机迁移到第二主机时,从所述第一主机获取所述逻辑虚拟磁盘的逻辑虚拟磁盘文件;
基于获取的所述逻辑虚拟磁盘的逻辑虚拟磁盘文件,在所述第二主机生成逻辑虚拟磁盘;
根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径;
根据所述访问路径支持的第二访问协议,更改所述第二主机的逻辑虚拟磁盘中所述存储地址的存储格式,并为迁移后的虚拟机加载更改所述存储格式后的逻辑虚拟磁盘。
在具体实施中,上述处理器51执行的处理中,
所述确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径之后,还包括:
在所述第二主机生成所述逻辑虚拟磁盘的块设备;
根据所述虚拟机的存储内容的存储地址,确定所述存储内容对应的每个存储块的存储地址,将每个存储块的存储地址写入所述块设备;
当迁移后的所述虚拟机运行时,在加载的所述逻辑虚拟磁盘的后端驱动的作用下,根据所述块设备中每个存储块的存储地址,通过所述第二访问协议接口在目标存储设备中访问所述虚拟机的存储内容所对应的每个存储块。
在具体实施中,上述处理器51执行的处理中,所述根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径,包括:
基于所述第二主机当前可用的访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与存储所述存储内容的目标存储设备之间的连接;
在连接成功后,将所述当前可用的访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
在具体实施中,上述处理器51执行的处理中,所述方法还包括:
若所述连接失败,则选择所述第二主机当前可用的其它访问协议接口;并基于所述其它访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与所述目标存储设备之间的连接;
在连接成功后,将所述当前可用的其它访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一实施例存储内容访问方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述存储内容访问方法,从而解决目前不能在具有不同访问协议接口的主机之间进行虚拟机迁移的问题。
本申请实施例所提供的存储内容访问方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种存储内容访问方法,其特征在于,所述方法包括:
当第一主机的虚拟机运行时,从所述虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址;所述存储地址采用第一访问协议所定义的存储格式;
基于获取的所述存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容。
2.根据权利要求1所述的方法,其特征在于,所述基于获取的存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容,包括:
调用加载的所述逻辑虚拟磁盘的后端驱动,从所述逻辑虚拟磁盘的块设备中获取所述存储内容对应的每个存储块的存储地址,基于该存储地址访问所述目标存储设备的每个存储块。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当需要将虚拟机从第一主机迁移到第二主机时,从所述第一主机获取所述逻辑虚拟磁盘的逻辑虚拟磁盘文件;
基于获取的所述逻辑虚拟磁盘的逻辑虚拟磁盘文件,在所述第二主机生成逻辑虚拟磁盘;
根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径;
根据所述访问路径支持的第二访问协议,更改所述第二主机的逻辑虚拟磁盘中所述存储地址的存储格式,并为迁移后的虚拟机加载更改所述存储格式后的逻辑虚拟磁盘。
4.根据权利要求3所述的方法,其特征在于,所述确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径之后,还包括:
在所述第二主机生成所述逻辑虚拟磁盘的块设备;
根据所述虚拟机的存储内容的存储地址,确定所述存储内容对应的每个存储块的存储地址,将每个存储块的存储地址写入所述块设备;
当迁移后的所述虚拟机运行时,在加载的所述逻辑虚拟磁盘的后端驱动的作用下,根据所述块设备中每个存储块的存储地址,通过所述第二访问协议接口在目标存储设备中访问所述虚拟机的存储内容所对应的每个存储块。
5.根据权利要求3所述的方法,其特征在于,所述根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径,包括:
基于所述第二主机当前可用的访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与存储所述存储内容的目标存储设备之间的连接;
在连接成功后,将所述当前可用的访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述连接失败,则选择所述第二主机当前可用的其它访问协议接口;并基于所述其它访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与所述目标存储设备之间的连接;
在连接成功后,将所述当前可用的其它访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
7.一种存储内容访问装置,其特征在于,所述装置包括:获取模块和访问模块;其中,
所述获取模块,用于当在第一主机的虚拟机运行时,从所述虚拟机加载的逻辑虚拟磁盘中获取待访问的存储内容的存储地址;所述存储地址采用第一访问协议所定义的存储格式;
所述访问模块,用于基于获取的所述存储地址,通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容。
8.根据权利要求7所述的装置,其特征在于,所述访问模块,具体用于根据以下步骤通过第一访问协议接口在目标存储设备中访问所述虚拟机的存储内容:
调用加载的所述逻辑虚拟磁盘的后端驱动,从所述逻辑虚拟磁盘的块设备中获取所述存储内容对应的每个存储块的存储地址,基于该存储地址访问所述目标存储设备的每个存储块。
9.根据权利要求7所述的装置,其特征在于,
所述获取模块,还用于当需要将虚拟机从第一主机迁移到第二主机时,从所述第一主机获取所述逻辑虚拟磁盘的逻辑虚拟磁盘文件;
所述装置还包括:
生成模块,用于基于获取的所述逻辑虚拟磁盘的逻辑虚拟磁盘文件,在所述第二主机生成逻辑虚拟磁盘;
确定模块,用于根据所述虚拟机的存储内容的存储地址,确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径;
迁移模块,用于根据所述访问路径支持的第二访问协议,更改所述第二主机的逻辑虚拟磁盘中所述存储地址的存储格式,并为迁移后的虚拟机加载更改所述存储格式后的逻辑虚拟磁盘。
10.根据权利要求9所述的装置,其特征在于,
所述生成模块,还用于在所述第二主机生成所述逻辑虚拟磁盘的块设备;
所述迁移模块,还用于根据所述虚拟机的存储内容的存储地址,确定所述存储内容对应的每个存储块的存储地址,将每个存储块的存储地址写入所述块设备;
所述访问模块,还用于当迁移后的所述虚拟机运行时,在加载的所述逻辑虚拟磁盘的后端驱动的作用下,根据所述块设备中每个存储块的存储地址,通过所述第二访问协议接口在目标存储设备中访问所述虚拟机的存储内容所对应的每个存储块。
11.根据权利要求9所述的装置,其特征在于,所述确定模块,具体用于根据以下步骤确定迁移到所述第二主机的虚拟机通过第二访问协议接口访问所述虚拟机的存储内容的访问路径:
基于所述第二主机当前可用的访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与存储所述存储内容的目标存储设备之间的连接;
在连接成功后,将所述当前可用的访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
12.根据权利要求11所述的装置,其特征在于,所述确定模块,还用于若所述连接失败,则选择所述第二主机当前可用的其它访问协议接口;并基于所述其它访问协议接口,和所述虚拟机的存储内容的存储地址,尝试建立所述第二主机与所述目标存储设备之间的连接;在连接成功后,将所述当前可用的其它访问协议接口作为所述第二访问协议接口,形成所述第二主机的虚拟机通过所述第二访问协议接口访问所述虚拟机的存储内容的访问路径。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1~6任一所述方法的步骤。
14.一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1~6任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811303614.1A CN109684029A (zh) | 2018-11-02 | 2018-11-02 | 存储内容访问方法、装置、电子设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811303614.1A CN109684029A (zh) | 2018-11-02 | 2018-11-02 | 存储内容访问方法、装置、电子设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684029A true CN109684029A (zh) | 2019-04-26 |
Family
ID=66185287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811303614.1A Pending CN109684029A (zh) | 2018-11-02 | 2018-11-02 | 存储内容访问方法、装置、电子设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684029A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035219A (zh) * | 2020-09-10 | 2020-12-04 | 深信服科技股份有限公司 | 一种虚拟机数据访问方法、装置、设备及存储介质 |
WO2022125146A1 (en) * | 2020-12-11 | 2022-06-16 | Western Digital Technologies, Inc. | Packet processing by programmable network interface |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340530A (zh) * | 2010-07-26 | 2012-02-01 | 杭州信核数据科技有限公司 | 一种存储空间接管和数据迁移的方法和系统 |
CN102761566A (zh) * | 2011-04-26 | 2012-10-31 | 国际商业机器公司 | 迁移虚拟机的方法和装置 |
CN105453039A (zh) * | 2013-07-17 | 2016-03-30 | 赛门铁克公司 | 用于在高输入/输出负载环境中即时恢复虚拟机的系统和方法 |
US20170235589A1 (en) * | 2016-02-12 | 2017-08-17 | Nutanix, Inc. | Virtualized file server data sharing |
CN107209681A (zh) * | 2015-10-21 | 2017-09-26 | 华为技术有限公司 | 一种存储设备访问方法、装置和系统 |
CN108170516A (zh) * | 2018-01-03 | 2018-06-15 | 浪潮(北京)电子信息产业有限公司 | 创建vTPM的方法、装置、设备及计算机可读存储介质 |
-
2018
- 2018-11-02 CN CN201811303614.1A patent/CN109684029A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340530A (zh) * | 2010-07-26 | 2012-02-01 | 杭州信核数据科技有限公司 | 一种存储空间接管和数据迁移的方法和系统 |
CN102761566A (zh) * | 2011-04-26 | 2012-10-31 | 国际商业机器公司 | 迁移虚拟机的方法和装置 |
CN105453039A (zh) * | 2013-07-17 | 2016-03-30 | 赛门铁克公司 | 用于在高输入/输出负载环境中即时恢复虚拟机的系统和方法 |
CN107209681A (zh) * | 2015-10-21 | 2017-09-26 | 华为技术有限公司 | 一种存储设备访问方法、装置和系统 |
US20170235589A1 (en) * | 2016-02-12 | 2017-08-17 | Nutanix, Inc. | Virtualized file server data sharing |
CN108170516A (zh) * | 2018-01-03 | 2018-06-15 | 浪潮(北京)电子信息产业有限公司 | 创建vTPM的方法、装置、设备及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035219A (zh) * | 2020-09-10 | 2020-12-04 | 深信服科技股份有限公司 | 一种虚拟机数据访问方法、装置、设备及存储介质 |
CN112035219B (zh) * | 2020-09-10 | 2024-04-09 | 深信服科技股份有限公司 | 一种虚拟机数据访问方法、装置、设备及存储介质 |
WO2022125146A1 (en) * | 2020-12-11 | 2022-06-16 | Western Digital Technologies, Inc. | Packet processing by programmable network interface |
US11503140B2 (en) | 2020-12-11 | 2022-11-15 | Western Digital Technologies, Inc. | Packet processing by programmable network interface |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5955870B2 (ja) | 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム | |
US20160092261A1 (en) | Method and system for physical computer system virtualization | |
CN107209683B (zh) | 备份映像恢复 | |
US10552089B2 (en) | Data processing for managing local and distributed storage systems by scheduling information corresponding to data write requests | |
CN107370622B (zh) | 一种虚拟机复用宿主机mac和ip的方法及系统 | |
US9501296B2 (en) | Hypervisor automation manager for starting an operation system with customization data from a disk image | |
CN110928557B (zh) | 一种操作系统迁移的实现方法、装置及系统 | |
US9164856B2 (en) | Persistent messaging mechanism | |
KR102331926B1 (ko) | 저장 장치를 포함하는 호스트 시스템의 동작 방법 및 저장 장치 제어기의 동작 방법 | |
CN106817388B (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 | |
CN108363552B (zh) | 虚拟机磁盘空间回收方法和系统 | |
CN107203480B (zh) | 一种数据预取方法以及装置 | |
CN112000277B (zh) | 精简置备文件拷贝方法、装置、设备及可读存储介质 | |
CN110704161A (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN114691300A (zh) | 一种虚拟机实例的热迁移方法 | |
CN111722909A (zh) | 一种虚拟机迁移方法、系统、设备及存储介质 | |
CN107844362B (zh) | 虚拟化tpm设备的系统、方法、虚拟机及可读存储介质 | |
CN112596950A (zh) | 虚拟机数据备份方法、装置、设备及存储介质 | |
CN109684029A (zh) | 存储内容访问方法、装置、电子设备及计算机存储介质 | |
CN107329798B (zh) | 数据复制的方法、装置和虚拟化系统 | |
CN111399771B (zh) | 一种mcs存储系统的协议配置方法、装置及设备 | |
JP2017515236A (ja) | ハードディスクがアプリケーションコードを実行するための方法および装置 | |
WO2022242665A1 (zh) | 一种数据存储方法及相关装置 | |
CN115774701A (zh) | 数据共享方法、装置、电子设备及存储介质 | |
CN109634721B (zh) | 一种虚拟机与主机的启动通信方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |
|
RJ01 | Rejection of invention patent application after publication |