CN108932155A - 虚拟机存储管理方法、装置、电子设备及可读存储介质 - Google Patents
虚拟机存储管理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN108932155A CN108932155A CN201810830611.7A CN201810830611A CN108932155A CN 108932155 A CN108932155 A CN 108932155A CN 201810830611 A CN201810830611 A CN 201810830611A CN 108932155 A CN108932155 A CN 108932155A
- Authority
- CN
- China
- Prior art keywords
- memory space
- equipment
- winding loop
- loop equipment
- virtual machine
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种虚拟机存储管理方法、装置、电子设备及可读存储介质,该方法包括:获得目标虚拟机的第一存储空间需求;基于第一存储空间需求在宿主机的目标物理分区上创建第一回环loop设备,为第一回环loop设备分配第一存储空间;将第一回环loop设备挂载到目标虚拟机,以使目标虚拟机通过第一回环loop设备在所述第一存储空间内进行数据存储。本方案中,可以通过目标虚拟机的第一存储空间需求,为该目标虚拟机创建第一回环loop设备,使目标虚拟机可通过该第一回环loop设备进行数据的存储,由于loop设备为虚拟设备,不是真正的物理存储设备,从而可以通过loop设备对虚拟机的存储空间进行灵活分配和管理。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种虚拟机存储管理方法、装置、电子设备及可读存储介质。
背景技术
随着Internet持续发展,数据量呈现出***式发展。数据的管理和传输变得越来越重要。面对巨量数据、数据安全、集中数据管理、可靠数据传输和快速数据处理等需求,数据中心孕育而生。而在数据中心构建过程中,如交换机和路由器等物理设备扮演了重要的角色。为了满足数据中心一些特定需求,虚拟化技术随之应用在物理设备上,其中一虚多是将一台物理设备虚拟成多台虚拟设备。
这些多台虚拟设备需要使用物理设备上的存储设备来供自己进行数据存储使用,物理设备上的flash存储设备一般划分为/flash(存放***包以及配置文件)、/backup(存放备份***包以及配置文件)以及/syslog(存放日志)三个物理分区。目前为虚拟设备分配存储空间的做法是在三个物理分区上分别划分多个小分区,例如,若有7个虚拟设备及一个物理设备共同使用/flash分区,则需要将该/flash再划分为24个分区,但是,若某个虚拟设备在当前使用的存储空间不够的情况下,则需将这24个分区先重新删除,然后再重新划分较大的存储空间供该虚拟设备使用,这样使得到其他虚拟设备的存储空间减少,从而造成为虚拟设备的划分存储空间的的方式不灵活,且不方便对多个虚拟设备的存储空间进行灵活管理。
发明内容
本申请实施例的目的在于提供一种虚拟机存储管理方法、装置、电子设备及可读存储介质。
第一方面,本申请实施例提供了一种虚拟机存储管理方法,所述方法包括:获得目标虚拟机的第一存储空间需求;基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;将所述第一回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储。本方案中,可以通过目标虚拟机的第一存储空间需求,为该目标虚拟机创建第一回环loop设备,使得目标虚拟机可以通过该第一回环loop设备进行数据的存储,由于loop设备为虚拟设备,不是真正的物理存储设备,从而可以通过loop设备对虚拟机的存储空间进行灵活分配和管理。
进一步地,基于所述第一存储空间需求在宿主机的存储设备上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储之后,所述方法还包括:获得目标虚拟机的第二存储空间需求;基于所述第二存储空间需求在所述目标物理分区上创建第二回环loop设备,并为所述第二回环loop设备分配与所述第一存储空间不同的第二存储空间;将所述第二回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第二回环loop设备在所述第二存储空间内进行数据存储。本实施例中,在目标虚拟机的存储空间需求改变时,可以根据新的存储空间需求创建新的loop设备,即根据第二存储空间需求创建第二回环loop设备,从而可基于不同的存储空间需求创建不同存储空间的loop设备,实现了目标虚拟机的存储空间的灵活分配。
进一步地,基于所述第二存储空间需求在所述目标物理分区上创建第二回环loop设备,并为所述第二回环loop设备分配与所述第一存储空间不同的第二存储空间之后,还包括:将所述第一回环loop设备中存储的数据复制到所述第二回环loop设备中。本实施例中,在创建第二回环loop设备后,可以将第一回环loop设备中存储的数据复制到第二回环loop设备中,从而确保数据不会因为新创建的loop设备而丢失。
进一步地,将所述第一回环loop设备中存储的数据复制到所述第二回环loop设备中之后,还包括:删除所述第一回环loop设备并释放所述第一存储空间。本实施例中,通过删除第一回环loop设备并释放第一存储空间,以此删除不需要的存储空间,节省了存储空间的资源利用率。
进一步地,基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间,包括:基于所述第一存储空间需求在宿主机的存储设备的目标物理分区的指定目录下创建设备文件;将所述设备文件转换为EXT类型文件***;在所述指定目录下创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;将所述设备文件与所述第一回环loop设备进行关联。
第二方面,本申请实施例提供了一种虚拟机存储管理装置,所述装置包括:
需求获取模块,用于获得目标虚拟机的第一存储空间需求;
回环loop设备创建模块,用于基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;
挂载模块,用于将所述第一回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储。
进一步地,所述需求获取模块,还用于获得目标虚拟机的第二存储空间需求;
所述回环loop设备创建模块,还用于基于所述第二存储空间需求在所述目标物理分区上创建第二回环loop设备,并为所述第二回环loop设备分配与所述第一存储空间不同的第二存储空间;
所述挂载模块,还用于将所述第二回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第二回环loop设备在所述第二存储空间内进行数据存储。
进一步地,所述装置还包括:
数据复制模块,用于将所述第一回环loop设备中存储的数据复制到所述第二回环loop设备中。
进一步地,所述装置还包括:
删除模块,用于删除所述第一回环loop设备并释放所述第一存储空间。
进一步地,所述回环loop设备创建模块,用于基于所述第一存储空间需求在宿主机的存储设备的目标物理分区的指定目录下创建设备文件;将所述设备文件转换为EXT类型文件***;在所述指定目录下创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;将所述设备文件与所述第一回环loop设备进行关联。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请实施例提供一种虚拟机存储管理方法、装置、电子设备及可读存储介质,该方法通过获得目标虚拟机的第一存储空间需求,然后基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间,再将所述第一回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储。本方案中,可以通过目标虚拟机的第一存储空间需求,为该目标虚拟机创建第一回环loop设备,使得目标虚拟机可以通过该第一回环loop设备进行数据的存储,由于loop设备为虚拟设备,不是真正的物理存储设备,从而可以通过loop设备对虚拟机的存储空间进行灵活分配和管理。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种虚拟机存储管理方法的流程图;
图2为本申请实施例提供的一种存储设备的物理分区示意图;
图3为本申请实施例提供的一种虚拟机存储管理装置的结构框图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
虚拟化技术是一种资源管理技术,是将物理设备的各种实体资源,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。
通过虚拟化技术,可以在一台宿主机(宿主机可以是计算机设备、物理主机、物理计算机、交换机或路由器等)上模拟出一台或多台虚拟机。虚拟机可以向宿主机一样工作,例如,可以在虚拟机上安装操作***和应用程序,又如,用户可以通过虚拟机访问网络资源。对于用户而言,虚拟机可以看成是运行在宿主机上的应用程序,但对于运行在虚拟机中的应用程序而言,虚拟机就像真正的宿主机一样为该应用程序提供工作环境。
而现有技术中一般为虚拟机分配存储空间是在宿主机的物理存储设备上为虚拟机划分存储空间,宿主机上常见的存储设备有非易失性存储设备(NOR Flash)、NAND存储设备(NAND falsh)及eMMC存储设备(eMMCflash),根据通信设备使用功能需要,flash存储设备一般又划分为/flash(存放***包以及配置文件)、/backup(备份***包以及配置文件)以及/syslog(日志)三个物理分区。
现有技术中,对于在宿主机上虚拟出多个虚拟机,为多个虚拟机划分存储空间的方法如下:在上述将物理设备的flash存储设备上划分为上述的三个物理分区,每个物理分区可用于宿主机和虚拟机进行数据存储,例如,若有7个虚拟机及一个宿主机使用/flash分区,则需要将该/flash分区再划分为24个分区,每个分区的存储空间大小可以根据虚拟机的存储空间需求确定,但是,若某个虚拟机在当前使用的存储空间不够的情况下,则需将这24个分区先重新删除,然后重新再划分为新的分区,则使得到其他虚拟机的存储空间减少,并且,也会影响到其他虚拟机的存储空间的使用。另外,若有的虚拟机不需要太大的存储空间,而也为该虚拟机分配了这么大的存储空间,显然造成了存储空间的浪费,而需要更改存储空间的大小,则需要将物理分区进行重新划分,使得影响了其他虚拟机的存储空间的使用,所以,现有技术中存在为虚拟机的存储空间的划分方式不灵活,无法保证根据每个虚拟机的存储空间需求来灵活分配存储空间的大小的问题,所以为了解决上述问题,本申请实施例提供了一种虚拟机存储管理方法。
请参照图1,图1为本申请实施例提供的一种虚拟机存储管理方法的流程图,所述方法包括如下步骤:
步骤S110:获得目标虚拟机的第一存储空间需求。
步骤S120:基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间。
步骤S130:将所述第一回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储。
宿主机上可以创建多个虚拟机,然后为每个虚拟机创建loop设备,以供虚拟机进行存储使用,而对每个虚拟机创建loop设备的方式均一致,所以本实施例中以为一个虚拟机(即目标虚拟机)创建loop设备为例进行说明。宿主机在创建目标虚拟机时,获取目标虚拟机的第一存储空间需求,第一存储空间需求可以包括在宿主机的存储设备的哪个物理分区上创建存储空间为多大的loop设备,例如,第一存储空间需求包括在/flash物理分区上创建存储空间大小为500M的loop设备,以及在/backup物理分区上创建存储空间大小为300M的loop设备。
其中,loop设备是一种伪设备,称为回环设备,是使用文件来模拟块设备的一种技术,文件模拟成块设备后,就像一个磁盘或光盘一样使用,在使用之前,一个loop设备必须要和一个文件进行关联,这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件***,那么这个文件就可以像一个磁盘设备一样被挂载起来。
一般在linux***中会有8个loop设备,一般是/dev/loop0~loop7,可用通过losetup-a查看所有的loop设备,如果命令没有输出就说明所有的loop设备都没有被占用,没有被占用就可以使用该loop设备进行存储。
文件***是操作***用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。操作***中负责管理和存储文件信息的软件机构称为文件***。文件***是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的***。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
宿主机在为目标虚拟机分配存储空间时,首先获得目标虚拟机的第一存储空间需求,然后根据第一存储空间需求为存储设备的目标物理分区上创建第一回环loop设备,第一回环loop设备用于为目标虚拟机提供第一存储空间。
其中,由于宿主机的存储设备可以划分为多个物理分区,如/flash、/backup以及/syslog三个物理分区,这三个物理分区分别可用于存储不同数据格式的数据,如/flash分区可用于存放***包以及配置文件,/backup分区可用于存放备份***包以及配置文件,/syslog分区用于存放日志。在为目标虚拟机分配存储空间时,若第一存储空间需求包括在三个目标物理分区上分别创建loop设备,则可以在三个物理分区上各创建对应的loop设备,而在每个物理分区上创建loop设备的方式一致,则本实施例中以目标物理分区(/flash)为例进行说明。
首先,在目标物理分区(/flash)上创建第一回环loop设备前,先进入宿主机的linux shell,使用fdisk-l命令先查看一下当前的flash存储设备分区情况,如果flash存储设备没有分过区,则将flash存储设备分区,若flash存储设备命名为/dev/mmcblk0,则使用fdisk/dev/mmcblk0命令创建物理分区,创建时可根据宿主机中的相关显示页面的提示依次输入分区编号、分区起始和结束扇区号,例如,每个物理分区均有一个名称、分区编号、分区起始和结束扇区号,如创建/flash物理分区,为该/flash物理分区分配的分区编号为1,名称为/dev/mmcblk0p1,分区起始和结束扇区号为55-80,创建/backup物理分区,为该/backu物理分区分配的分区编号为2,名称为/dev/mmcblk0p2,分区起始和结束扇区号为81-102,由此,可通过该方式创建完三个物理分区,然后将上述的分区信息写入到flash存储设备中。然后可以通过fdisk-l命令可以查看到flash存储设备具有三个物理分区,假设为/dev/mmcblk0p1、/dev/mmcblk0p2和/dev/mmcblk0p3。
通过上述方式已经将flash存储设备分为三个物理分区了,还需要对分好的物理分区进行格式化,以使用EXT4文件***为例,用如下命令格式化:
mkfs.ext4/dev/mmcblk0p1
mkfs.ext4/dev/mmcblk0p2
mkfs.ext4/dev/mmcblk0p3
这样就完成了将flash存储设备格式化为三个物理分区。
宿主机的固定物理分区与未在宿主机上创建虚拟机的宿主机是一致的,默认分为以上的三个/flash、/backup和/syslog物理分区。
在创建目标虚拟机时,可以以宿主机的/flash物理分区作为目标虚拟机存储设备的承载设备,通过宿主机的/flash物理分区的指定目录下创建指定大小的空的设备文件,并格式化为EXT4类型文件***。即基于所述第一存储空间需求在宿主机的存储设备的目标物理分区的指定目录下创建设备文件,然后将所述设备文件转换为EXT类型文件***,在所述目录下创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间,然后将所述设备文件与所述第一回环loop设备进行关联。
例如,在宿主机的/flash物理分区上为标号为1的目标虚拟机创建大小为16M的设备文件,所述16M为第一回环loop设备对应的第一存储空间,然后格式为EXT类型文件***,然后在该指定目录下再为标号为1的目标虚拟机创建主设备号为7(loop设备主设备号是固定为7),次设备号为10(linux默认有8个loop设备,所以次设备号以10开始)的第一回环loop设备了,然后使用losetup命令关联第一回环loop设备和设备文件,关联后第一回环loop设备就可以作为正常存储设备供目标虚拟机使用了。
再将第一回环loop设备挂载到目标虚拟机,具体可以通过修改lxc配置文件,将宿主机的/flash物理分区上创建的第一回环loop设备挂载到目标虚拟机里面,作为目标虚拟机的存储设备使用。
重复上面的过程可分别在/backup和/syslog物理分区上为目标虚拟机创建/backup/vdt/1/backup和/syslog/vdt/1/syslog设备文件,将设备文件格式为EXT4文件***,然后使用mknod创建loop设备/dev/vdt/1/backup(主设备号为7,次设备号为11)和/dev/vdt/1/syslog(主设备号为7,次设备号为12),然后使用losetup命令绑定/backup/vdt/1/backup和/dev/vdt/1/backup,绑定/syslog2/vdt/1/syslog和/dev/vdt/1/syslog。
由于上述把宿主机的/dev/vdt/1整个目录挂载到目标虚拟机的/dev/vdt里面,在目标虚拟机的/dev/vdt就可以看到宿主机的第一回环loop设备flash、backup和syslog,第一回环loop设备挂载后就可以作为目标虚拟机的存储设备/flash、/backup、/syslog使用。
所以,目标虚拟机可以通过第一回环loop设备在第一存储空间内进行数据的存储,在宿主机上虚拟出多个虚拟机时,可以使得虚拟机的存储管理更加灵活方便。
另外,作为一种实施方式,为了对虚拟机的存储空间进行灵活管理,以实现虚拟机的存储设备的扩容和缩减空间大小,例如,在目标虚拟机的当前使用的第一存储空间不够用时,获得目标虚拟机的第二存储空间需求,基于所述第二存储空间需求在所述目标物理分区上创建第二回环loop设备,并为所述第二回环loop设备分配与所述第一存储空间不同的第二存储空间;将所述第二回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第二回环loop设备在所述第二存储空间内进行数据存储。
其中,创建第二回环loop设备的方式与上述创建第一回环loop设备的方式一致,为了描述的简洁,在此不再做过多说明。
需要说明的是,若第一回环loop设备创建在/flash分区上,而目标虚拟机的第二存储空间需求为改变在/flash分区上的存储空间大小,则在/flash分区上创建第二回环loop设备,若第二存储空间需求为改变在/backup分区上的存储空间大小,则在/backup分区上来创建新的loop设备。
在创建完第二回环loop设备后,可以先将第一回环loop设备和第二回环loop设备挂载到目标虚拟机的指定目录下,将所述第一回环loop设备中存储的数据复制到所述第二回环loop设备中,即第一回环loop设备挂载目录下的文件拷贝到第二回环loop设备挂载目录下。
然后还可以删除第一回环loop设备并释放第一存储空间,再将第二回环loop设备重命名为第一回环loop设备的名称,从而完成了目标虚拟机的存储设备的扩容和缩减空间的大小。
另外,作为一种实施方式,由于/flash分区一般作为***包和配置文件的存放设备分区,/backup分区作为***包和配置文件的备份存放设备分区,而***包和配置文件在设备运行过程中访问不是特别频繁,所以虚拟机共享宿主机的存储设备/flash和/backup,具有较好的可靠性;但作为/syslog分区,主要存放日志,日志访问特别频繁,所以虚拟机如果和宿主机共享的/syslog分区,可靠性不太好,所以,可将宿主机的存储设备格式化为四个物理分区,如图2所示,前三个分区仍然和单个设备分区一样为/flash、/backup和/syslog分区,最后一个分区为/syslog2分区,大小为最小512M(大小可以根据需求更改),频繁操作的一个或多个虚拟机的日志分区都从/syslog2分区进行分配,这样对于在宿主机上虚拟出多个虚拟机的情况,日志分区具有好的可靠性。
所以,对于日志分区,则可在/syslog2分区上创建loop设备,来为目标虚拟机提供存储空间,而/syslog分区只单独为宿主机提供存储空间,由此,目标虚拟机使用的是在/flash、/syslog2和/backup三个分区上分别创建指定大小的loop设备挂载而来的分区,相对于现有技术中将物理设备划分为较多物理分区,本方案简单灵活,不会造成存储设备浪费。
并且,由于各个loop设备是隔离的,使得各个虚拟机之间的分区相互影响较小,虚拟机中查询设备剩余空间时,可以通过过statfs或者df命令取得,文件较多时效率比较高。
请参照图3,图3为本申请实施例提供的一种虚拟机存储管理装置200的结构框图,所述装置包括:
需求获取模块210,用于获得目标虚拟机的第一存储空间需求;
回环loop设备创建模块220,用于基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;
挂载模块230,用于将所述第一回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储。
进一步地,所述需求获取模块210,还用于获得目标虚拟机的第二存储空间需求;
所述回环loop设备创建模块220,还用于基于所述第二存储空间需求在所述目标物理分区上创建第二回环loop设备,并为所述第二回环loop设备分配与所述第一存储空间不同的第二存储空间;
所述挂载模块230,还用于将所述第二回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第二回环loop设备在所述第二存储空间内进行数据存储。
进一步地,所述装置还包括:
数据复制模块,用于将所述第一回环loop设备中存储的数据复制到所述第二回环loop设备中。
进一步地,所述装置还包括:
删除模块,用于删除所述第一回环loop设备并释放所述第一存储空间。
进一步地,所述回环loop设备创建模块220,用于基于所述第一存储空间需求在宿主机的存储设备的目标物理分区的指定目录下创建设备文件;将所述设备文件转换为EXT类型文件***;在所述指定目录下创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;将所述设备文件与所述第一回环loop设备进行关联。
请参照图4,图4为本申请实施例提供的一种电子设备的结构示意图,该电子设备可以包括:至少一个处理器410,例如CPU,至少一个通信接口420,至少一个存储器430和至少一个通信总线440。其中,通信总线440用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口420用于与其他节点设备进行信令或数据的通信。存储器430可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器430可选的还可以是至少一个位于远离前述处理器的存储装置。存储器430中存储有计算机可读取指令,且处理器410执行存储器430中有计算机可读取指令时运行上述的虚拟机存储管理方法中的步骤。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述的虚拟机存储管理方法中的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本申请实施例提供一种虚拟机存储管理方法、装置、电子设备及可读存储介质,该方法通过获得目标虚拟机的第一存储空间需求,然后基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间,再将所述第一回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储。本方案中,可以通过目标虚拟机的第一存储空间需求,为该目标虚拟机创建第一回环loop设备,使得目标虚拟机可以通过该第一回环loop设备进行数据的存储,由于loop设备为虚拟设备,不是真正的物理存储设备,从而可以通过loop设备对虚拟机的存储空间进行灵活分配和管理。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (12)
1.一种虚拟机存储管理方法,其特征在于,所述方法包括:
获得目标虚拟机的第一存储空间需求;
基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;
将所述第一回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储。
2.根据权利要求1所述的方法,其特征在于,基于所述第一存储空间需求在宿主机的存储设备上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储之后,所述方法还包括:
获得目标虚拟机的第二存储空间需求;
基于所述第二存储空间需求在所述目标物理分区上创建第二回环loop设备,并为所述第二回环loop设备分配与所述第一存储空间不同的第二存储空间;
将所述第二回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第二回环loop设备在所述第二存储空间内进行数据存储。
3.根据权利要求2所述的方法,其特征在于,基于所述第二存储空间需求在所述目标物理分区上创建第二回环loop设备,并为所述第二回环loop设备分配与所述第一存储空间不同的第二存储空间之后,还包括:
将所述第一回环loop设备中存储的数据复制到所述第二回环loop设备中。
4.根据权利要求3所述的方法,其特征在于,将所述第一回环loop设备中存储的数据复制到所述第二回环loop设备中之后,还包括:
删除所述第一回环loop设备并释放所述第一存储空间。
5.根据权利要求1-4任一所述的方法,其特征在于,基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间,包括:
基于所述第一存储空间需求在宿主机的存储设备的目标物理分区的指定目录下创建设备文件;
将所述设备文件转换为EXT类型文件***;
在所述指定目录下创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;
将所述设备文件与所述第一回环loop设备进行关联。
6.一种虚拟机存储管理装置,其特征在于,所述装置包括:
需求获取模块,用于获得目标虚拟机的第一存储空间需求;
回环loop设备创建模块,用于基于所述第一存储空间需求在宿主机的存储设备的目标物理分区上创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;
挂载模块,用于将所述第一回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第一回环loop设备在所述第一存储空间内进行数据存储。
7.根据权利要求6所述的装置,其特征在于,所述需求获取模块,还用于获得目标虚拟机的第二存储空间需求;
所述回环loop设备创建模块,还用于基于所述第二存储空间需求在所述目标物理分区上创建第二回环loop设备,并为所述第二回环loop设备分配与所述第一存储空间不同的第二存储空间;
所述挂载模块,还用于将所述第二回环loop设备挂载到所述目标虚拟机,以使所述目标虚拟机通过所述第二回环loop设备在所述第二存储空间内进行数据存储。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
数据复制模块,用于将所述第一回环loop设备中存储的数据复制到所述第二回环loop设备中。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
删除模块,用于删除所述第一回环loop设备并释放所述第一存储空间。
10.根据权利要求6-9任一所述的装置,其特征在于,所述回环loop设备创建模块,用于基于所述第一存储空间需求在宿主机的存储设备的目标物理分区的指定目录下创建设备文件;将所述设备文件转换为EXT类型文件***;在所述指定目录下创建第一回环loop设备,并为所述第一回环loop设备分配第一存储空间;将所述设备文件与所述第一回环loop设备进行关联。
11.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-5任一所述方法中的步骤。
12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-5任一所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810830611.7A CN108932155A (zh) | 2018-07-25 | 2018-07-25 | 虚拟机存储管理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810830611.7A CN108932155A (zh) | 2018-07-25 | 2018-07-25 | 虚拟机存储管理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108932155A true CN108932155A (zh) | 2018-12-04 |
Family
ID=64444682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810830611.7A Pending CN108932155A (zh) | 2018-07-25 | 2018-07-25 | 虚拟机存储管理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108932155A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253672A (zh) * | 2022-02-24 | 2022-03-29 | 中瓴智行(成都)科技有限公司 | 基于Hypervisor的可持续化安全存储方法、***及存储介质 |
CN116701244A (zh) * | 2022-09-20 | 2023-09-05 | 荣耀终端有限公司 | 一种内存转储方法、装置和电子设备 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1223737A (zh) * | 1996-06-27 | 1999-07-21 | 欧罗巴国际公司 | 可编程智能装置的便携式安全交易*** |
EP0955578A1 (en) * | 1998-05-04 | 1999-11-10 | International Business Machines Corporation | Method and device for carrying out a function assigned to an instruction code |
CN1744040A (zh) * | 2005-09-27 | 2006-03-08 | 胡元志 | 在多种存储介质上完整运行操作***的方法及操作*** |
CN102419806A (zh) * | 2011-12-15 | 2012-04-18 | 武汉大学 | 一种虚拟机批量离线杀毒方法 |
CN102710503A (zh) * | 2012-05-15 | 2012-10-03 | 浪潮电子信息产业股份有限公司 | 一种基于“云海os”的网络负载均衡方法 |
CN103294765A (zh) * | 2012-03-01 | 2013-09-11 | 国际商业机器公司 | 用于供应和转换虚拟设备的基于策略的方法的方法和*** |
CN103309720A (zh) * | 2012-03-07 | 2013-09-18 | 上海聚耘信息科技有限公司 | 一种维护虚拟数据中心的虚拟机管理*** |
CN103414764A (zh) * | 2013-07-24 | 2013-11-27 | 广东电子工业研究院有限公司 | 一种云平台弹性存储***及其弹性存储实现方法 |
CN103425936A (zh) * | 2012-05-18 | 2013-12-04 | 联想(北京)有限公司 | 一种实现数据保密的方法及电子设备 |
CN104102527A (zh) * | 2014-07-10 | 2014-10-15 | 国云科技股份有限公司 | 一种虚拟机软件更新方法 |
CN104866324A (zh) * | 2015-06-11 | 2015-08-26 | 苏州大学张家港工业技术研究院 | 一种便携操作***构建方法及便携存储器 |
US20150378761A1 (en) * | 2014-06-27 | 2015-12-31 | Vmware, Inc. | Maintaining High Availability During Network Partitions for Virtual Machines Stored on Distributed Object-Based Storage |
CN106933653A (zh) * | 2017-03-16 | 2017-07-07 | 郑州云海信息技术有限公司 | 一种虚拟机的数据文件存储方法、装置及kvm虚拟机 |
CN107168769A (zh) * | 2017-03-30 | 2017-09-15 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107430493A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 顺序写入流管理 |
CN107438102A (zh) * | 2017-07-31 | 2017-12-05 | 国云科技股份有限公司 | 一种云平台镜像制作***及其方法 |
CN107632937A (zh) * | 2017-10-10 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种对虚拟机集群进行测试的方法、装置、可读存储介质 |
-
2018
- 2018-07-25 CN CN201810830611.7A patent/CN108932155A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1223737A (zh) * | 1996-06-27 | 1999-07-21 | 欧罗巴国际公司 | 可编程智能装置的便携式安全交易*** |
EP0955578A1 (en) * | 1998-05-04 | 1999-11-10 | International Business Machines Corporation | Method and device for carrying out a function assigned to an instruction code |
CN1744040A (zh) * | 2005-09-27 | 2006-03-08 | 胡元志 | 在多种存储介质上完整运行操作***的方法及操作*** |
CN102419806A (zh) * | 2011-12-15 | 2012-04-18 | 武汉大学 | 一种虚拟机批量离线杀毒方法 |
CN103294765A (zh) * | 2012-03-01 | 2013-09-11 | 国际商业机器公司 | 用于供应和转换虚拟设备的基于策略的方法的方法和*** |
CN103309720A (zh) * | 2012-03-07 | 2013-09-18 | 上海聚耘信息科技有限公司 | 一种维护虚拟数据中心的虚拟机管理*** |
CN102710503A (zh) * | 2012-05-15 | 2012-10-03 | 浪潮电子信息产业股份有限公司 | 一种基于“云海os”的网络负载均衡方法 |
CN103425936A (zh) * | 2012-05-18 | 2013-12-04 | 联想(北京)有限公司 | 一种实现数据保密的方法及电子设备 |
CN103414764A (zh) * | 2013-07-24 | 2013-11-27 | 广东电子工业研究院有限公司 | 一种云平台弹性存储***及其弹性存储实现方法 |
US20150378761A1 (en) * | 2014-06-27 | 2015-12-31 | Vmware, Inc. | Maintaining High Availability During Network Partitions for Virtual Machines Stored on Distributed Object-Based Storage |
CN104102527A (zh) * | 2014-07-10 | 2014-10-15 | 国云科技股份有限公司 | 一种虚拟机软件更新方法 |
CN107430493A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 顺序写入流管理 |
CN104866324A (zh) * | 2015-06-11 | 2015-08-26 | 苏州大学张家港工业技术研究院 | 一种便携操作***构建方法及便携存储器 |
CN106933653A (zh) * | 2017-03-16 | 2017-07-07 | 郑州云海信息技术有限公司 | 一种虚拟机的数据文件存储方法、装置及kvm虚拟机 |
CN107168769A (zh) * | 2017-03-30 | 2017-09-15 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN107438102A (zh) * | 2017-07-31 | 2017-12-05 | 国云科技股份有限公司 | 一种云平台镜像制作***及其方法 |
CN107632937A (zh) * | 2017-10-10 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种对虚拟机集群进行测试的方法、装置、可读存储介质 |
Non-Patent Citations (3)
Title |
---|
KISS.LIU: "VMware虚拟机中添加新硬盘的方法", 《博客园》 * |
天高云淡CC: "openstack虚拟机存储分区问题的解决方案之一", 《51CTO博客》 * |
王春海 高红玮: "《VMware Workstation 与 ESXServer典型应用指南(第2版)》", 31 October 2012 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253672A (zh) * | 2022-02-24 | 2022-03-29 | 中瓴智行(成都)科技有限公司 | 基于Hypervisor的可持续化安全存储方法、***及存储介质 |
CN116701244A (zh) * | 2022-09-20 | 2023-09-05 | 荣耀终端有限公司 | 一种内存转储方法、装置和电子设备 |
CN116701244B (zh) * | 2022-09-20 | 2024-05-24 | 荣耀终端有限公司 | 一种内存转储方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718217B (zh) | 一种精简配置存储池数据一致性维护的方法及装置 | |
CN107111626B (zh) | 用于租户的数据管理 | |
CN106933508B (zh) | 应用容器的迁移方法及装置 | |
CN106687911B (zh) | 不损害数据完整性的在线数据移动 | |
CN103761053B (zh) | 一种数据处理方法和装置 | |
US11321007B2 (en) | Deletion of volumes in data storage systems | |
CN103383660A (zh) | 一种Android***cache分区功能实现方法、装置及终端设备 | |
CN103412822A (zh) | 操作非易失性内存和数据操作的方法和相关装置 | |
CN110058813A (zh) | 一种基于云平台块存储的本地存储管理方法 | |
WO2008006674A1 (en) | Reserve pool management in virtualized storage systems | |
CN109804359A (zh) | 用于将数据回写到存储设备的***和方法 | |
CN104572656A (zh) | 一种磁盘镜像空间回收的方法及装置 | |
CN101387989A (zh) | 构建基于分区管理的虚拟存储设备的计算机***及方法 | |
CN107562483A (zh) | 一种挂载引导文件***的方法及装置 | |
CN111684437B (zh) | 按时间顺序排序的错位更新键-值存储*** | |
US20160014200A1 (en) | Identifying workload and sizing of buffers for the purpose of volume replication | |
US20240061712A1 (en) | Method, apparatus, and system for creating training task on ai training platform, and medium | |
CN105808449A (zh) | 一种用于虚拟机的虚拟存储映像版本管理方法和*** | |
CN103365926A (zh) | 在文件***中用于保存快照的方法和装置 | |
CN111656325A (zh) | 在按时间排序的日志结构化键-值存储***中从故障快速恢复 | |
CN108932155A (zh) | 虚拟机存储管理方法、装置、电子设备及可读存储介质 | |
CN113296891B (zh) | 基于平台的多场景知识图谱处理方法及装置 | |
DE112021003615T5 (de) | Schutz vor logischer beschädigung für daten | |
DE112021003413T5 (de) | Freigeben von Datenspeicherspuren unter Beibehaltung eines Schutzes vor logischer Beschädigung | |
US11055017B1 (en) | Throttling a point-in-time snapshot copy operation within a data consistency application |
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: 20181204 |
|
RJ01 | Rejection of invention patent application after publication |