CN104461685B - 虚拟机处理方法和虚拟计算机系统 - Google Patents

虚拟机处理方法和虚拟计算机系统 Download PDF

Info

Publication number
CN104461685B
CN104461685B CN201410663419.5A CN201410663419A CN104461685B CN 104461685 B CN104461685 B CN 104461685B CN 201410663419 A CN201410663419 A CN 201410663419A CN 104461685 B CN104461685 B CN 104461685B
Authority
CN
China
Prior art keywords
file
virtual machine
user
virtual
cluster
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
Application number
CN201410663419.5A
Other languages
English (en)
Other versions
CN104461685A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410663419.5A priority Critical patent/CN104461685B/zh
Publication of CN104461685A publication Critical patent/CN104461685A/zh
Priority to PCT/CN2015/083227 priority patent/WO2016078420A1/zh
Application granted granted Critical
Publication of CN104461685B publication Critical patent/CN104461685B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种虚拟机处理方法和虚拟计算机系统,通过虚拟机的虚拟文件系统接收对虚拟机的用户文件进行操作的文件命令,文件命令携带虚拟机的用户文件在虚拟文件系统中的文件路径;虚拟文件系统将对虚拟机的用户文件进行操作的文件命令转发到存储虚拟化层;存储虚拟化层的集群文件系统根据虚拟机的用户文件在虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对虚拟机的用户文件进行操作的文件命令转换成对存储设备的物理磁盘进行操作的IO命令。当用户删除用户文件时,集群文件系统或分布式文件系统能够实时回收用户文件所占用的物理磁盘的数据区域,从而,提高虚拟机的存储空间的利用率。

Description

虚拟机处理方法和虚拟计算机系统
技术领域
本发明实施例涉及计算机技术,尤其涉及一种虚拟机处理方法和虚拟计算机系统。
背景技术
虚拟化技术因具有能够提高资源的利用率,降低系统管理成本等优点,虚拟化技术的应用越来越广泛。
通常,在一个计算机中可运行多个虚拟机,每个虚拟机上都会运行若干个文件系统,例如:窗口(Windows)虚拟机会运行新技术文件系统(New Technology File System,以下简称:NTFS),以NTFS为例,其他文件系统原理相同,NTFS用于接收用户发送的对用户文件进行操作的文件命令,并根据用户文件与虚拟磁盘的IO之间的对应关系,将上述文件命令转化为对虚拟磁盘的IO进行操作的IO命令,这里的用户文件是指虚拟机对用户呈现的文件,存储虚拟化层接收到对虚拟磁盘的IO进行操作的IO命令之后,根据虚拟磁盘与卷文件的对应关系或虚拟磁盘与块设备的对应关系,将IO命令转化为对卷文件或块设备进行操作的文件命令,集群文件系统或分布式文件系统,根据卷文件或块设备与物理磁盘的IO之间的对应关系,将对卷文件或块设备进行操作的文件命令转化为对物理磁盘进行操作的IO命令,从而,实现对用户操作的响应。
然而,在现有技术中,当用户删除或移动某个文件时,无法实现实时回收空间,从而使得虚拟机的存储资源的利用率不高。
发明内容
本发明实施例提供一种虚拟机处理方法和虚拟计算机系统,能够提高虚拟机的存储资源的利用率。
本发明实施例第一方面提供一种虚拟机处理方法,应用于虚拟计算机系统内,所述系统包括虚拟机、存储虚拟化层、存储设备和计算设备,所述虚拟机基于所述计算设备和所述存储设备生成,所述虚拟机包括虚拟文件系统,所述存储虚拟化层包括集群文件系统,用于将所述存储设备的物理磁盘空间分配到每个虚拟机的每个用户文件,所述方法包括:
所述虚拟机的虚拟文件系统接收对所述虚拟机的用户文件进行操作的文件命令,所述文件命令携带所述虚拟机的用户文件在所述虚拟文件系统中的文件路径;
所述虚拟文件系统将所述对所述虚拟机的用户文件进行操作的文件命令转发到所述存储虚拟化层;
所述存储虚拟化层的集群文件系统根据所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
所述虚拟文件系统接收创建所述虚拟机的用户文件的请求;
所述虚拟文件系统转发所述创建虚拟机的用户文件的请求到所述存储虚拟化层;
所述存储虚拟化层的集群文件系统为所述虚拟机的用户文件分配对应的物理磁盘空间;
所述存储虚拟化层在所述集群文件系统中建立所述虚拟机的用户文件与所述物理磁盘空间的第一对应关系,并记录所述第一对应关系。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
所述存储虚拟化层在建立所述虚拟机的用户文件与所述物理磁盘空间的第一对应关系时,还进行用户文件隔离处理,所述用户文件隔离处理用于将所述虚拟机的用户文件指向唯一的物理磁盘空间。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述存储虚拟化层在所述集群文件系统上创建所述虚拟机对应的文件夹,并记录所述虚拟机与所述虚拟机的文件夹的第二对应关系;
在所述虚拟机的文件夹中创建所述虚拟机的用户文件,其中,所述虚拟机的用户文件在所述集群文件系统中的文件路径包含所述虚拟机对应的文件夹的路径和所述虚拟机的用户文件在所述虚拟文件系统中的文件路径;
所述存储虚拟化层在所述集群文件系统中记录所述虚拟机的用户文件在所述集群文件系统中的文件路径与分配的所述物理磁盘空间的第一对应关系。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述存储虚拟化层的集群文件系统根据所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令,包括:
所述集群文件系统根据所述虚拟机与所述虚拟机的文件夹的第二对应关系,确定所述虚拟机的文件夹;
根据所述虚拟机的文件夹的路径和所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,生成所述虚拟机的用户文件在所述集群文件系统中的文件路径;
根据所述虚拟机的用户文件在所述集群文件系统中的文件路径,以及所述虚拟机的用户文件在所述集群文件系统中的文件路径与分配的所述物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令。
本发明实施例第二方面提供一种虚拟计算机系统,所述系统包括虚拟机、存储虚拟化层、存储设备和计算设备,所述虚拟机基于所述计算设备和所述存储设备生成,所述虚拟机包括虚拟文件系统,所述存储虚拟化层包括集群文件系统,用于将所述存储设备的物理磁盘空间分配到每个虚拟机的每个用户文件,其中,
所述虚拟机的虚拟文件系统,用于接收对所述虚拟机的用户文件进行操作的文件命令,所述文件命令携带所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,将所述对所述虚拟机的用户文件进行操作的文件命令转发到所述存储虚拟化层;
所述存储虚拟化层,用于根据所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令。
结合第二方面,在第一种可能的实现方式中,所述虚拟机的虚拟文件系统还用于接收创建所述虚拟机的用户文件的请求,转发所述创建虚拟机的用户文件的请求到所述存储虚拟化层;
所述存储虚拟化层还用于为所述虚拟机的用户文件分配对应的物理磁盘空间;在所述集群文件系统中建立所述虚拟机的用户文件与所述物理磁盘空间的第一对应关系,并记录所述第一对应关系。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述存储虚拟化层还用于在建立所述虚拟机的用户文件与所述物理磁盘空间的第一对应关系时,进行用户文件隔离处理,所述用户文件隔离处理用于将所述虚拟机的用户文件指向唯一的物理磁盘空间。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述存储虚拟化层具体用于在所述集群文件系统上创建所述虚拟机对应的文件夹,并记录所述虚拟机与所述虚拟机的文件夹的第二对应关系;在所述虚拟机的文件夹中创建所述虚拟机的用户文件,其中,所述虚拟机的用户文件在所述集群文件系统中的文件路径包含所述虚拟机对应的文件夹的路径和所述虚拟机的用户文件在所述虚拟文件系统中的文件路径;在所述集群文件系统中记录所述虚拟机的用户文件在所述集群文件系统中的文件路径与分配的所述物理磁盘空间的第一对应关系。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述存储虚拟化层具体用于根据所述虚拟机与所述虚拟机的文件夹的第二对应关系,确定所述虚拟机的文件夹;根据所述虚拟机的文件夹的路径和所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,生成所述虚拟机的用户文件在所述集群文件系统中的文件路径;根据所述虚拟机的用户文件在所述集群文件系统中的文件路径,以及所述虚拟机的用户文件在所述集群文件系统中的文件路径与分配的所述物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令。
本发明实施例提供的虚拟机处理方法和虚拟计算机系统,通过虚拟机的虚拟文件系统接收对虚拟机的用户文件进行操作的文件命令,文件命令携带虚拟机的用户文件在虚拟文件系统中的文件路径;虚拟文件系统将对虚拟机的用户文件进行操作的文件命令转发到存储虚拟化层;存储虚拟化层的集群文件系统根据虚拟机的用户文件在虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对虚拟机的用户文件进行操作的文件命令转换成对存储设备的物理磁盘进行操作的IO命令。当用户删除用户文件时,集群文件系统或分布式文件系统能够实时回收用户文件所占用的物理磁盘的数据区域,从而,提高虚拟机的存储空间的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中虚拟计算机系统结构示意图;
图2为现有技术中虚拟机处理方法流程示意图;
图3为本发明虚拟机计算系统结构示意图;
图4为本发明虚拟机处理方法实施例一的流程示意图;
图5为本发明虚拟机处理方法实施例二的流程示意图;
图6为本发明虚拟机处理方法实施例三的流程示意图;
图7为本发明虚拟机处理方法实施例四的流程示意图;
图8为本发明文件隔离的一种实施例的结构示意图;
图9为本发明文件隔离的另一种实施例的结构示意图;
图10为本发明虚拟计算机系统又一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为现有技术中虚拟计算机系统结构示意图,如图1所示,图1以虚拟机包含两个虚拟机为例,分别为虚拟机1和虚拟机2,每个虚拟机中包含两个呈现给用户文件,假设虚拟机1中的两个用户文件分别为用户文件A和用户文件B,虚拟机2中的两个文件分别为用户文件C和用户文件D,在现有技术中,当用户删除文件A时,在虚拟机中的处理流程如图2所示,图2为现有技术中虚拟机处理方法流程示意图:
S201:NTFS接收到用户删除用户文件A的文件命令。
NTFS管理用户文件与虚拟机1的虚拟磁盘的IO的对应关系。
S202:NTFS根据用户文件A与虚拟机1的虚拟磁盘数据区域的对应关系,将删除用户文件A的文件命令转化为修改用户文件A所对应的虚拟磁盘元数据区域的IO命令。
即:将虚拟磁盘的元数据区域中用户文件A所对应的虚拟磁盘数据区域的状态从不可用修改为可用。从本质上讲就是将删除用户文件A的文件命令转化为修改虚拟磁盘的元数据区域的IO命令。
S203:NTFS将修改虚拟磁盘元数据区域的IO命令发送给存储虚拟化层。
S204:存储虚拟化层根据虚拟磁盘的IO与卷文件的对应关系或者虚拟磁盘的IO与块设备的对应关系,将修改虚拟磁盘的元数据区域的IO命令转化为对卷文件或块设备的读写命令。
S205:存储虚拟化层将对卷文件或块设备的读写命令发送给集群文件系统或块文件系统。
S206:集群文件系统或块文件系统,将对卷文件或块设备的读写命令转化为对物理磁盘的IO的操作,从而,实现对用户操作的响应。
然而,在上述过程中,当需要对用户文件A进行删除时,只将虚拟磁盘的元数据区域进行了修改,而在底层的集群文件系统或块文件系统管理的物理磁盘的元数据区域并未进行修改,因此,对于集群文件系统或块文件系统而言,无法感知虚拟机1中的用户文件A已被删除,因而无法及时回收用户文件A对应的物理磁盘,无法将用户文件A对应的物理磁盘给其他虚拟机使用,从而,造成虚拟机的存储资源利用率不高。前述部分仅是以对用户文件A的删除为例进行描述,对用户文件的移动等操作也存在同样问题,此处不再赘述。除此之外,从图1所示的架构中,还可以看出,存储虚拟化层管理的是虚拟磁盘的IO与卷文件的对应关系,或者虚拟磁盘的IO与块设备的对应关系,存储虚拟化层无法获知虚拟机中用户文件与虚拟磁盘数据区域的对应关系,因而,存储虚拟化层无法以用户文件为单位对用户文件进行处理,例如,对指定文件进行快照、加解密、请求重定向、请求分拆以及杀毒等处理。另外,在上述过程中,要经过多层的IO处理,CPU消耗较大,降低文件IO性能。
也可以说,按照上述的工作流程,由于NTFS文件系统向下对用户文件操作的屏蔽,造成如下两个功能问题:一、在虚拟机中的文件视图和存储虚拟化层视图不能一一对应;二、在虚拟机里对某一文件的操作,在底层的存储虚拟化层无法确切的感知到,例如在虚拟机里删除一个文件,存储虚拟化层无法感知到,也就无法实时释放物理存储上对应的空间。
由于以上两个问题的存在,造成很多以文件为单位的操作无法达到用户预期的目的。例如、删除文件、移动文件后,无法及时释放物理空间;存储虚拟化层无法备份用户指定的某个特定文件;虚拟机之间无法共享某个特定的文件等等。另外,由于中间有多层转换,也消耗了大量不必要的计算资源。为了克服上述问题,本发明对虚拟机的架构进行了修改,如图3所示,图3为本发明虚拟机计算系统结构示意图,图3所示的系统中包括虚拟机、存储虚拟化层、存储设备和计算设备,其中,虚拟机基于计算设备和存储设备生成,虚拟机包括虚拟文件系统,存储虚拟化层包括集群文件系统,用于将存储设备的物理磁盘空间分配到每个虚拟机的每个用于文件,图3所示的系统中以包含两个虚拟机为例,分别为虚拟机1和虚拟机2,每个虚拟机中包含两个用户文件,假设虚拟机1中的两个用户文件分别为用户文件A和用户文件B,虚拟机2中的两个用户文件分别为用户文件C和用户文件D,当用户删除用户文件A时,处理流程如图4所示,图4为本发明虚拟机处理方法实施例一的流程示意图:
S401:虚拟文件系统接收用户发送的对虚拟机的用户文件A进行删除操作的文件命令;
其中,文件命令中携带虚拟机的用户文件A在虚拟文件系统中的文件路径。
S402:虚拟文件系统将删除用户文件A的文件命令直接转发到存储虚拟化层。
S403:存储虚拟化层的集群文件系统根据虚拟机的用户文件A在虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对虚拟机的用户文件A进行删除操作的文件命令转换成为对存储设备的物理磁盘进行操作的IO命令。
具体地,对物理磁盘进行操作的IO命令为修改物理磁盘的元数据区域的IO命令。
通过上述S401~S403的步骤,实现对用户操作的响应。
可以看出,在上述过程中,基于存储系统的配置,当用户删除用户文件A时,存储虚拟化层的集群文件系统或分布式文件系统能够实时回收用户文件A所占用的物理磁盘的数据区域,从而,提高虚拟机的存储空间的利用率。上面仅是以删除用户文件为例进行说明,移动用户文件的操作类似,此处不再赘述。由于虚拟文件系统直接将用户对用户文件进行操作的文件命令转发给存储虚拟化层,存储虚拟化层管理用户文件与物理磁盘空间的对应关系,因此,在虚拟机中的文件视图和存储虚拟化层视图能够一一对应;在虚拟机里对某一文件的操作,在底层的存储虚拟化层可以确切的感知到,因此,存储虚拟化层可以以用户文件为单位,对用户文件进行处理,例如以用户文件为单位进行快照、加解密、请求重定向、请求分拆和杀毒等处理,便于对文件的管理。
除此之外,在上述实施例中,由于IO处理比现有技术少了两层,能够降低CPU消耗,提升文件IO性能。
本发明的虚拟机计算系统结构使得在虚拟机中的文件视图和存储虚拟化层的文件视图保持一致,能够让存储虚拟化层以文件为单位进行相较于现有技术更为精细的存储管理,提升存储虚拟化的灵活性,降低存储操作对于计算资源的占用。
图4所示实施例仅以接收删除用户文件的文件命令为例进行了描述,文件命令还包括:创建用户文件的文件命令、修改用户文件的文件命令、查询用户文件的文件命令、读用户文件的文件命令、写用户文件的文件命令和锁用户文件的文件命令等。无论是哪种文件命令,在本发明中处理方式类似,下面统称为对用户文件进行操作的文件命令,对本发明的虚拟机的处理流程进行描述,图5为本发明虚拟机处理方法实施例二的流程示意图,本实施例所应用的虚拟计算机系统的结构与图3类似,此处不再赘述,本实施例的方法如图5所示:
S501:虚拟机的虚拟文件系统接收对虚拟机的用户文件进行操作的文件命令。
其中,文件命令携带虚拟机的用户文件在虚拟文件系统中的文件路径。
S502:虚拟文件系统将对虚拟机的用户文件进行操作的文件命令转发到存储虚拟化层。
S503:存储虚拟化层的集群文件系统根据虚拟机的用户文件在虚拟文件系统中的路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对虚拟机的用户文件进行操作的文件命令转换成对存储设备的物理磁盘进行操作的IO命令。
通过上述S501~S503的步骤,实现对用户操作的响应。
本实施例的方法,由于虚拟文件系统直接将用户对用户文件进行操作的文件命令转发给存储虚拟化层,存储虚拟化层管理用户文件与物理磁盘空间的对应关系,因此,在虚拟机中的文件视图和存储虚拟化层视图能够一一对应,存储虚拟化层可以以用户文件为单位,对用户文件进行处理,例如以用户文件为单位进行快照、加解密、请求重定向、请求分拆和杀毒等处理,便于对文件的管理。并且由于IO处理比现有技术少了两层,能够降低CPU消耗,提升文件IO性能。
在上述实施例中,还包括创建虚拟机的用户文件的过程,具体流程如下如图6所示,图6为本发明虚拟机处理方法实施例三的流程示意图:
S601:虚拟文件系统接收创建虚拟机的用户文件的请求。
S602:虚拟文件系统转发创建虚拟机的用户文件的请求到存储虚拟化层。
S603:存储虚拟化层的集群文件系统为虚拟机的用户文件分配对应的物理磁盘空间。
S604:存储虚拟化层在集群文件系统中建立虚拟机的用户文件与物理磁盘空间的第一对应关系,并记录第一对应关系。
通过上述步骤S601~S604,可以实现创建虚拟机的用户文件,并在后续对虚拟机的用户文件进行删除、读、写等操作时,可使用上述第一对应关系。
在上述实施例中,存储虚拟化层在建立虚拟机的用户文件与物理磁盘空间的第一对应关系时,还进行了用户文件隔离处理,用户文件隔离处理用于将虚拟机的用户文件指向唯一的物理磁盘空间,确保不同的虚拟机之间的文件隔离,防止虚拟机访问到权限之外的文件。
具体地,存储虚拟化层进行用户文件隔离处理的实现方式如图7所示,图7为本发明虚拟机处理方法实施例四的流程示意图,图8为本发明文件隔离的一种实施例的结构示意图:参照图7和图8,本实施例的流程如下:
S701:存储虚拟化层在集群文件系统上创建虚拟机对应的文件夹,并记录虚拟机与虚拟机的文件夹的第二对应关系。
根据第二对应关系,创建虚拟机的用户文件时,全部创建在虚拟机对应的虚拟机的文件夹中。
S702:在虚拟机的文件夹中创建虚拟机的用户文件。
其中,虚拟机的用户文件在集群文件系统中的文件路径包含虚拟机对应的文件夹的路径和虚拟机的用户文件在虚拟文件系统中的文件路径。
例如:虚拟机对应的文件夹的路径为/datastore_1/VM1/(此路径根据产品需要可以改动),虚拟机的用户文件在虚拟文件系统中的文件路径为:c:\windows\test.txt,则虚拟机的用户文件在集群文件系统中的文件路径为:/datastore_1/VM1/windows/test.txt。
S703:存储虚拟化层在集群文件系统中记录虚拟机的用户文件在集群文件系统中的文件路径与分配的物理磁盘空间的第一对应关系。
本发明还提供一种存储虚拟化层进行用户文件隔离处理方式,通过自定义元数据文件进行文件隔离处理,结合图9,图9为本发明文件隔离的另一种实施例的结构示意图;由元数据文件记录虚拟机文件与物理磁盘的对应关系、权限、差分数据等,利用元数据可以做到虚拟机共享访问文件;虚拟机运行过程中,根据文件操作,首先创建元数据文件,元数据文件的路径与第一种实现方式的路径保持一致;元数据文件中记录与之对应的虚拟机文件的路径信息。例如:虚拟机中的文件路径为:c:\windows\test.txt;数据文件在集群文件系统上的路径为:/datastore_1/shared/windows/test.txt;元数据文件的路径为:/datastore_1/VM1/windows/test.meta,则元数据文件的路径信息为:/datastore_1/shared/windows/test.txt。
通过上述两种方式可以实现文件隔离,防止虚拟机访问到权限之外的文件。
在上述实施例的基础上,图5所示实施例的S503的具体实现如下:集群文件系统根据虚拟机与所述虚拟机的文件夹的第二对应关系,确定虚拟机的文件夹;根据虚拟机的文件夹的路径和虚拟机的用户文件在虚拟文件系统中的文件路径,生成虚拟机的用户文件在集群文件系统中的文件路径;根据虚拟机的用户文件在集群文件系统中的文件路径,以及虚拟机的用户文件在所述集群文件系统中的文件路径与分配的所述物理磁盘空间的第一对应关系,将对虚拟机的用户文件进行操作的文件命令转换成对存储设备的物理磁盘进行操作的IO命令。
本发明还提供一种虚拟计算机系统实施例,参见图3,上述系统包括虚拟机、存储虚拟化层、存储设备(LUN)和计算设备(未示出),上述虚拟机基于上述计算设备和上述存储设备生成,上述虚拟机包括虚拟文件系统,上述存储虚拟化层包括集群文件系统,用于将上述存储设备的物理磁盘空间分配到每个虚拟机的每个用户文件,其中,上述虚拟机的虚拟文件系统,用于接收对上述虚拟机的用户文件进行操作的文件命令,上述文件命令携带上述虚拟机的用户文件在上述虚拟文件系统中的文件路径,将上述对上述虚拟机的用户文件进行操作的文件命令转发到上述存储虚拟化层;上述存储虚拟化层,用于根据上述虚拟机的用户文件在上述虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对上述虚拟机的用户文件进行操作的文件命令转换成对上述存储设备的物理磁盘进行操作的IO命令。
在上述实施例中,上述虚拟机的虚拟文件系统还用于接收创建上述虚拟机的用户文件的请求,转发上述创建虚拟机的用户文件的请求到上述存储虚拟化层;上述存储虚拟化层还用于为上述虚拟机的用户文件分配对应的物理磁盘空间;在上述集群文件系统中建立上述虚拟机的用户文件与上述物理磁盘空间的第一对应关系,并记录上述第一对应关系。
在上述实施例中,上述存储虚拟化层还用于在建立上述虚拟机的用户文件与上述物理磁盘空间的第一对应关系时,进行用户文件隔离处理,上述用户文件隔离处理用于将上述虚拟机的用户文件指向唯一的物理磁盘空间。
在上述实施例中,上述存储虚拟化层具体用于在上述集群文件系统上创建上述虚拟机对应的文件夹,并记录上述虚拟机与上述虚拟机的文件夹的第二对应关系;在上述虚拟机的文件夹中创建上述虚拟机的用户文件,其中,上述虚拟机的用户文件在上述集群文件系统中的文件路径包含上述虚拟机对应的文件夹的路径和上述虚拟机的用户文件在上述虚拟文件系统中的文件路径;在上述集群文件系统中记录上述虚拟机的用户文件在上述集群文件系统中的文件路径与分配的上述物理磁盘空间的第一对应关系。
在上述实施例中,上述存储虚拟化层具体用于根据上述虚拟机与上述虚拟机的文件夹的第二对应关系,确定上述虚拟机的文件夹;根据上述虚拟机的文件夹的路径和上述虚拟机的用户文件在上述虚拟文件系统中的文件路径,生成上述虚拟机的用户文件在上述集群文件系统中的文件路径;根据上述虚拟机的用户文件在上述集群文件系统中的文件路径,以及上述虚拟机的用户文件在上述集群文件系统中的文件路径与分配的上述物理磁盘空间的第一对应关系,将对上述虚拟机的用户文件进行操作的文件命令转换成对上述存储设备的物理磁盘进行操作的IO命令。
上述系统实施例对应地可用于执行方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图10为本发明虚拟计算机系统又一实施例的结构示意图,如图10所示,本实施例的系统包括存储器1010和处理器1020,存储器1010可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等。处理器1020可以是中央处理器(Central Processing Unit,CPU)。存储器1010用于存储可执行指令。处理器1020可以执行存储器1010中存储的可执行指令,例如,处理器1020用于接收对虚拟机的用户文件进行操作的文件命令,文件命令携带虚拟机的用户文件在虚拟文件系统中的文件路径;将对虚拟机的用户文件进行操作的文件命令转发到存储虚拟化层;根据虚拟机的用户文件在虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对虚拟机的用户文件进行操作的文件命令转换成对存储设备的物理磁盘进行操作的IO命令。
上述系统实施例对应地可用于执行方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种虚拟机处理方法,其特征在于,应用于虚拟计算机系统内,所述系统包括虚拟机、存储虚拟化层、存储设备和计算设备,所述虚拟机基于所述计算设备和所述存储设备生成,所述虚拟机包括虚拟文件系统,所述存储虚拟化层包括集群文件系统,所述集群文件系统用于将所述存储设备的物理磁盘空间分配到每个虚拟机的每个用户文件,所述方法包括:
接收对所述虚拟机的用户文件进行操作的文件命令,所述文件命令携带所述虚拟机的用户文件在所述虚拟文件系统中的文件路径;
所述虚拟文件系统将所述对所述虚拟机的用户文件进行操作的文件命令转发到所述存储虚拟化层;
所述存储虚拟化层的集群文件系统根据所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述虚拟文件系统接收创建所述虚拟机的用户文件的请求;
所述虚拟文件系统转发所述创建虚拟机的用户文件的请求到所述存储虚拟化层;
所述存储虚拟化层的集群文件系统为所述虚拟机的用户文件分配对应的物理磁盘空间;
所述存储虚拟化层在所述集群文件系统中建立所述虚拟机的用户文件与所述物理磁盘空间的第一对应关系,并记录所述第一对应关系。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述存储虚拟化层在建立所述虚拟机的用户文件与所述物理磁盘空间的第一对应关系时,还进行用户文件隔离处理,所述用户文件隔离处理用于将所述虚拟机的用户文件指向唯一的物理磁盘空间。
4.根据权利要求3所述的方法,其特征在于,所述存储虚拟化层进行用户文件隔离处理,包括:
所述存储虚拟化层在所述集群文件系统上创建所述虚拟机对应的文件夹,并记录所述虚拟机与所述虚拟机的文件夹的第二对应关系;
在所述虚拟机的文件夹中创建所述虚拟机的用户文件,其中,所述虚拟机的用户文件在所述集群文件系统中的文件路径包含所述虚拟机对应的文件夹的路径和所述虚拟机的用户文件在所述虚拟文件系统中的文件路径;
所述存储虚拟化层在所述集群文件系统中记录所述虚拟机的用户文件在所述集群文件系统中的文件路径与分配的所述物理磁盘空间的第一对应关系。
5.根据权利要求4所述的方法,其特征在于,所述存储虚拟化层的集群文件系统根据所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令,包括:
所述集群文件系统根据所述虚拟机与所述虚拟机的文件夹的第二对应关系,确定所述虚拟机的文件夹;
根据所述虚拟机的文件夹的路径和所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,生成所述虚拟机的用户文件在所述集群文件系统中的文件路径;
根据所述虚拟机的用户文件在所述集群文件系统中的文件路径,以及所述虚拟机的用户文件在所述集群文件系统中的文件路径与分配的所述物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令。
6.一种虚拟计算机系统,其特征在于,所述系统包括虚拟机、存储虚拟化层、存储设备和计算设备,所述虚拟机基于所述计算设备和所述存储设备生成,所述虚拟机包括虚拟文件系统,所述存储虚拟化层包括集群文件系统,所述集群文件系统用于将所述存储设备的物理磁盘空间分配到每个虚拟机的每个用户文件,其中,
所述虚拟机的虚拟文件系统,用于接收对所述虚拟机的用户文件进行操作的文件命令,所述文件命令携带所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,将所述对所述虚拟机的用户文件进行操作的文件命令转发到所述存储虚拟化层;
所述存储虚拟化层,用于根据所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,以及每个虚拟机的用户文件与物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令。
7.根据权利要求6所述的系统,其特征在于,所述虚拟机的虚拟文件系统还用于接收创建所述虚拟机的用户文件的请求,转发所述创建虚拟机的用户文件的请求到所述存储虚拟化层;
所述存储虚拟化层还用于为所述虚拟机的用户文件分配对应的物理磁盘空间;在所述集群文件系统中建立所述虚拟机的用户文件与所述物理磁盘空间的第一对应关系,并记录所述第一对应关系。
8.根据权利要求7所述的系统,其特征在于,所述存储虚拟化层还用于在建立所述虚拟机的用户文件与所述物理磁盘空间的第一对应关系时,进行用户文件隔离处理,所述用户文件隔离处理用于将所述虚拟机的用户文件指向唯一的物理磁盘空间。
9.根据权利要求8所述的系统,其特征在于,所述存储虚拟化层具体用于在所述集群文件系统上创建所述虚拟机对应的文件夹,并记录所述虚拟机与所述虚拟机的文件夹的第二对应关系;在所述虚拟机的文件夹中创建所述虚拟机的用户文件,其中,所述虚拟机的用户文件在所述集群文件系统中的文件路径包含所述虚拟机对应的文件夹的路径和所述虚拟机的用户文件在所述虚拟文件系统中的文件路径;在所述集群文件系统中记录所述虚拟机的用户文件在所述集群文件系统中的文件路径与分配的所述物理磁盘空间的第一对应关系。
10.根据权利要求9所述的系统,其特征在于,所述存储虚拟化层具体用于根据所述虚拟机与所述虚拟机的文件夹的第二对应关系,确定所述虚拟机的文件夹;根据所述虚拟机的文件夹的路径和所述虚拟机的用户文件在所述虚拟文件系统中的文件路径,生成所述虚拟机的用户文件在所述集群文件系统中的文件路径;根据所述虚拟机的用户文件在所述集群文件系统中的文件路径,以及所述虚拟机的用户文件在所述集群文件系统中的文件路径与分配的所述物理磁盘空间的第一对应关系,将对所述虚拟机的用户文件进行操作的文件命令转换成对所述存储设备的物理磁盘进行操作的IO命令。
CN201410663419.5A 2014-11-19 2014-11-19 虚拟机处理方法和虚拟计算机系统 Active CN104461685B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410663419.5A CN104461685B (zh) 2014-11-19 2014-11-19 虚拟机处理方法和虚拟计算机系统
PCT/CN2015/083227 WO2016078420A1 (zh) 2014-11-19 2015-07-02 虚拟机处理方法和虚拟计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410663419.5A CN104461685B (zh) 2014-11-19 2014-11-19 虚拟机处理方法和虚拟计算机系统

Publications (2)

Publication Number Publication Date
CN104461685A CN104461685A (zh) 2015-03-25
CN104461685B true CN104461685B (zh) 2017-09-29

Family

ID=52907789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410663419.5A Active CN104461685B (zh) 2014-11-19 2014-11-19 虚拟机处理方法和虚拟计算机系统

Country Status (2)

Country Link
CN (1) CN104461685B (zh)
WO (1) WO2016078420A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461685B (zh) * 2014-11-19 2017-09-29 华为技术有限公司 虚拟机处理方法和虚拟计算机系统
CN105260323B (zh) * 2015-10-21 2019-02-05 华为技术有限公司 一种存储虚拟化数据处理方法以及装置
CN108027741B (zh) 2016-04-27 2020-06-09 华为技术有限公司 基于补丁升级的文件处理方法、装置、终端以及存储介质
CN105912714A (zh) * 2016-04-29 2016-08-31 乐视控股(北京)有限公司 一种移动设备文件管理方法及系统
US10817649B2 (en) 2018-01-09 2020-10-27 Saudi Arabian Oil Comapny Unicode conversion with minimal downtime
CN108924202B (zh) * 2018-06-25 2021-12-03 郑州云海信息技术有限公司 一种分布式集群的数据容灾方法以及相关装置
CN109343928B (zh) * 2018-08-28 2022-02-08 广东微云科技股份有限公司 虚拟化集群中虚拟机的虚拟内存文件重定向方法及其系统
CN111045859B (zh) * 2018-10-12 2023-11-03 伊姆西Ip控股有限责任公司 用于备份虚拟机的方法、设备和计算机程序产品
CN110196754A (zh) * 2019-04-24 2019-09-03 苏州浪潮智能科技有限公司 一种GPU设备在Linux KVM下的直通方法及装置
CN110535829B (zh) * 2019-07-24 2022-06-07 视联动力信息技术股份有限公司 一种数据交互方法及一种视联网系统
US10769167B1 (en) * 2019-12-20 2020-09-08 Lifebit Biotech Limited Federated computational analysis over distributed data
CN116705171B (zh) * 2023-05-24 2024-04-05 西北大学 一种批量生物数据处理方法、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101419535A (zh) * 2008-11-19 2009-04-29 北京航空航天大学 虚拟机的分布式虚拟磁盘系统
CN102375695A (zh) * 2010-08-23 2012-03-14 联想(北京)有限公司 一种磁盘的访问方法及计算机系统
CN103020199A (zh) * 2012-12-05 2013-04-03 上海创图网络科技发展有限公司 适用于不同操作系统平台的虚拟文件系统及其应用
CN103593147A (zh) * 2013-11-07 2014-02-19 华为技术有限公司 一种数据读取的方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI307026B (en) * 2005-12-30 2009-03-01 Ind Tech Res Inst System and method for storage management
CN100538617C (zh) * 2006-07-11 2009-09-09 任永坚 存储介质处理方法及系统
US8874859B2 (en) * 2010-12-22 2014-10-28 Vmware, Inc. Guest file system introspection and defragmentable virtual disk format for space efficiency
US9122418B2 (en) * 2012-08-07 2015-09-01 Xyratex Technology Limited—A Seagate Company Method of controlling the capacity of a virtual storage system, and a virtual storage system
CN102968331B (zh) * 2012-11-27 2016-08-10 中标软件有限公司 一种虚拟机管理系统及其文件访问方法
CN104461685B (zh) * 2014-11-19 2017-09-29 华为技术有限公司 虚拟机处理方法和虚拟计算机系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101419535A (zh) * 2008-11-19 2009-04-29 北京航空航天大学 虚拟机的分布式虚拟磁盘系统
CN102375695A (zh) * 2010-08-23 2012-03-14 联想(北京)有限公司 一种磁盘的访问方法及计算机系统
CN103020199A (zh) * 2012-12-05 2013-04-03 上海创图网络科技发展有限公司 适用于不同操作系统平台的虚拟文件系统及其应用
CN103593147A (zh) * 2013-11-07 2014-02-19 华为技术有限公司 一种数据读取的方法及装置

Also Published As

Publication number Publication date
CN104461685A (zh) 2015-03-25
WO2016078420A1 (zh) 2016-05-26

Similar Documents

Publication Publication Date Title
CN104461685B (zh) 虚拟机处理方法和虚拟计算机系统
US11734035B2 (en) Virtual machine load balancing
US20220350493A1 (en) Scaling A Cloud-Based Storage System In Response To A Change In Workload
US20220019367A1 (en) Migrating Data In And Out Of Cloud Environments
CN103064639B (zh) 数据存储方法及装置
DE112019000841T5 (de) Handhaben von E/A-Operationen in einem cloudbasierten Speichersystem
US20190050249A1 (en) Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs
CN104239166B (zh) 一种对运行中虚拟机实现文件备份的方法
KR101482518B1 (ko) 캐시 계층화를 위한 방법 및 시스템
US11481261B1 (en) Preventing extended latency in a storage system
US20150172120A1 (en) Managing non-conforming entities in information management systems, including enforcing conformance with a model entity
US20220206702A1 (en) Storage system with selectable write paths
US11734169B2 (en) Optimizing spool and memory space management
CN102982182B (zh) 一种数据存储规划方法及装置
US11392555B2 (en) Cloud-based file services
US11847324B2 (en) Optimizing resiliency groups for data regions of a storage system
US11886334B2 (en) Optimizing spool and memory space management
US9513823B2 (en) Data migration
US20230011540A1 (en) Container Orchestrator-Aware Storage System
CN103761059A (zh) 一种用于海量数据管理的多盘位存储方法及系统
CN103885811B (zh) 虚拟机系统全系统在线迁移的方法、系统与装置
WO2020231642A1 (en) Cloud-based file services
CN107329806A (zh) 一种开发环境构建方法及装置
US11888835B2 (en) Authentication of a node added to a cluster of a container system
EP3785135A1 (en) Client managed data backup process within an enterprise information management system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant