CN109254825A - 一种纳管虚拟机硬盘的方法及装置 - Google Patents
一种纳管虚拟机硬盘的方法及装置 Download PDFInfo
- Publication number
- CN109254825A CN109254825A CN201710564988.8A CN201710564988A CN109254825A CN 109254825 A CN109254825 A CN 109254825A CN 201710564988 A CN201710564988 A CN 201710564988A CN 109254825 A CN109254825 A CN 109254825A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- hard disk
- pipe
- virtual
- disk
- 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.)
- Withdrawn
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/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/45595—Network integration; Enabling network access in virtual machine instances
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
本发明实施例提供了一种纳管虚拟机硬盘的方法及装置,纳管虚拟机硬盘的方法包括:接收到纳管虚拟机请求后,根据纳管虚拟机请求获取虚拟机配置信息,其中,虚拟机配置信息包括:虚拟机硬盘的参数信息;向存储组件发送纳管虚拟机硬盘请求,纳管虚拟机硬盘请求包括虚拟机硬盘的参数信息;向存储组件发送挂载通知,挂载通知用于指示存储组件将与虚拟机硬盘对应的云盘挂载给虚拟机;接收存储组件发送的云盘和虚拟机的挂载信息,根据云盘与虚拟机的挂载信息,建立虚拟机和云盘的映射关系。该纳管虚拟机硬盘的方法可实现在纳管虚拟机硬盘的过程中,虚拟机无需关机、不解除挂载、不迁移硬盘,无需中断虚拟机业务。
Description
技术领域
本发明涉及一种通信领域,特别涉及一种纳管虚拟机硬盘的方法及装置。
背景技术
为了快速将新的应用推向市场,或者是快速地适应多变的市场需求,许多企业都在尝试用OpenStack(一个开源的云计算管理平台项目)将现有数据中心虚拟化平台连接起来,其中最典型的就是OpenStack与VMware的集成。为此,VMware(全球桌面到数据中心虚拟化解决方案的领导厂商)专门开发了VMwareVCDriver以及VMDK driver。前者主要以Novadriver的方式,通过vCenter来控制计算和网络;后者主要以Cinder driver的方式,通过vCenter来控制datastore(数据存储)。但这种方式有个很明显的缺陷,对于已有的运行在VMware集群的虚机无法被OpenStack识别,也就是说只有通过OpenStack创建的虚机,才能够被OpenStack管理。
于是,VMware发布了VMware Integrated OpenStack(简称为VIO,是一款由一款由Stac提供支持的OpenStack发行版软件),用于帮助IT在现有的VMware基础架构之上更加轻松地运行基于生产级OpenStack的部署,向VMware用户提供了在一个单一堆栈中集合VMware与OpenStack优势的替代方案。该方案支持将已有的VMware集群的虚拟机(可简称为虚机)和硬盘纳管到OpenStack云平台。但虚机纳管和硬盘纳管是两个独立的流程,通过VIO解决方案如果只纳管虚机,那么就无法在OpenStack云平台对虚机硬盘进行基本操作,例如解挂和删除,也无法对虚机进行冷热迁移、重建、归档等操作,而这些都是OpenStack最基本的功能。如果要纳管硬盘,那就要中断业务,且迁移云盘过程比较耗时,业务中断时间较久。迁移云盘时长主要取决于硬盘文件的大小和文件拷贝的速度。但现网大多是比较重要的业务,用户一般是不允许业务中断的。
发明内容
为了解决上述技术问题,本发明实施例提供了一种纳管虚拟机硬盘的方法及装置。该纳管虚拟机硬盘的方法可实现在纳管虚拟机硬盘的过程中,虚拟机无需关机、不解除挂载、不迁移硬盘,无需中断虚拟机业务。
依据本发明实施例的一个方面,提供了一种纳管虚拟机硬盘的方法,包括:
接收到纳管虚拟机请求后,根据所述纳管虚拟机请求获取虚拟机配置信息,其中,所述虚拟机配置信息包括:虚拟机硬盘的参数信息;
向存储组件发送纳管虚拟机硬盘请求,所述纳管虚拟机硬盘请求包括所述虚拟机硬盘的参数信息;
向所述存储组件发送挂载通知,所述挂载通知用于指示所述存储组件将与所述虚拟机硬盘对应的云盘挂载给虚拟机;
接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。
可选地,所述虚拟机硬盘的参数信息包括:纳管属性;
所述建立所述虚拟机和所述云盘的映射关系,包括:
判断虚拟机硬盘的纳管属性是否为已纳管;
如果虚拟机硬盘的纳管属性为已纳管,则根据所述云盘和虚拟机的挂载信息以及虚拟机配置信息,生成第一表和第二表,所述第一表记录有虚拟机配置信息,所述第二表记录有虚拟机和云盘之间的映射关系;
如果虚拟机硬盘的纳管属性不是已纳管,则将所述虚拟机配置信息映射到资源设置中;
根据所述资源设置,创建虚拟机;
根据所述云盘的挂载信息生成第三表和第四表,所述第三表记录有虚拟机配置信息,所述第四表记录有虚拟机和云盘之间的映射关系。
依据本发明实施例的另一个方面,还提供了一种纳管虚拟机硬盘的方法,包括:
接收计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系;
接收计算组件发送的挂载通知后,将所述云盘挂载给所述虚拟机。
可选地,建立虚拟机硬盘与云盘的映射关系,包括:
建立虚拟机硬盘的参数信息与云盘的参数信息的映射关系。
可选地,建立虚拟机硬盘与云盘的映射关系,包括:
判断虚拟机硬盘是否已经被纳管;
如果虚拟机硬盘已经被纳管,获取现有的所述虚拟机硬盘与云盘的映射关系;
如果虚拟机硬盘未被纳管,创建与所述虚拟机硬盘对应的云盘;
建立所述虚拟机硬盘与云盘的映射关系。
可选地,将所述云盘挂载给所述虚拟机,包括:
记录所述云盘和虚拟机的挂载信息,所述云盘和虚拟机的挂载信息包括:虚拟机的通用唯一识别码和/或挂载点;
向计算组件发送所述云盘和虚拟机的挂载信息。
可选地,所述方法还包括:
在将所述云盘与所述虚拟机解除挂载时,将云盘从虚拟机目录迁移到云盘目录下;
将所述云盘与所述虚拟机解除挂载后,自动删除云盘的参数信息中的纳管属性中的已纳管标记。
依据本发明实施例的又一个方面,还提供了一种计算组件,包括:
获取模块,用于接收到纳管虚拟机请求后,根据所述纳管虚拟机请求获取虚拟机配置信息,其中,所述虚拟机配置信息包括:虚拟机硬盘的参数信息;
第一发送模块,用于向存储组件发送纳管虚拟机硬盘请求,所述纳管虚拟机硬盘请求包括所述虚拟机硬盘的参数信息;
第二发送模块,用于向所述存储组件发送挂载通知,所述挂载通知用于指示所述存储组件将与所述虚拟机硬盘对应的云盘挂载给虚拟机;
第一映射模块,用于接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。
可选地,所述虚拟机硬盘的参数信息包括:纳管属性;
所述第一映射模块,包括:
第一判断单元,用于判断虚拟机硬盘的纳管属性是否为已纳管;
第一执行单元,用于如果虚拟机硬盘的纳管属性为已纳管,则根据所述云盘和虚拟机的挂载信息以及虚拟机配置信息,生成第一表和第二表,所述第一表记录有虚拟机配置信息,所述第二表记录有虚拟机和云盘之间的映射关系;
第一映射单元,用于如果虚拟机硬盘的纳管属性不是已纳管,则将所述虚拟机配置信息映射到资源设置中;
第一创建单元,用于根据所述资源设置,创建虚拟机;
第二执行单元,用于根据所述云盘的挂载信息生成第三表和第四表,所述第三表记录有虚拟机配置信息,所述第四表记录有虚拟机和云盘之间的映射关系。
依据本发明实施例的再一个方面,还提供了一种存储组件,包括:
第二映射模块,用于接收计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系;
挂载模块,用于接收计算组件发送的挂载通知后,将所述云盘挂载给所述虚拟机。
可选地,所述第二映射模块,包括:
第二映射单元,用于建立虚拟机硬盘的参数信息与云盘的参数信息的映射关系。
可选地,所述第二映射模块,包括:
第二判断单元,用于判断虚拟机硬盘是否已经被纳管;
获取单元,用于如果虚拟机硬盘已经被纳管,获取现有的所述虚拟机硬盘与云盘的映射关系;
第二创建单元,用于如果虚拟机硬盘未被纳管,创建与所述虚拟机硬盘对应的云盘;
第三映射单元,用于建立所述虚拟机硬盘与云盘的映射关系。
可选地,所述挂载模块,包括:
记录单元,用于记录所述云盘和虚拟机的挂载信息,所述云盘和虚拟机的挂载信息包括:虚拟机的通用唯一识别码和/或挂载点;
发送单元,用于向计算组件发送所述云盘和虚拟机的挂载信息。
可选地,所述存储组件还包括:
迁移模块,用于在将所述云盘与所述虚拟机解除挂载时,将云盘从虚拟机目录迁移到云盘目录下;
删除模块,用于将所述云盘与所述虚拟机解除挂载后,自动删除云盘的参数信息中的纳管属性中的已纳管标记。
依据本发明实施例的再一个方面,还提供了一种计算组件,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的纳管虚拟机硬盘的方法中的步骤。
依据本发明实施例的再一个方面,还提供了一种存储组件,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的纳管虚拟机硬盘的方法中的步骤。
依据本发明实施例的再一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的纳管虚拟机硬盘的方法中的步骤。
本发明的实施例具有如下有益效果:
首先,接收到纳管虚拟机请求后,计算组件获取虚拟机配置信息后,所述计算组件向存储组件发送纳管虚拟机硬盘请求,所述存储组件接收所述计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系;所述计算组件向所述存储组件发送挂载通知,所述存储组件接收所述计算组件发送的挂载通知后,将所述云盘挂载给所述虚拟机,并发送所述存储组件发送的云盘和虚拟机的挂载信息。所述计算组件接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。所述纳管虚拟机硬盘的方法通过资源映射的方式纳管硬盘,这样可实现在异构平台间无缝纳管虚机存储资源,且纳管过程不影响虚机业务,纳管的虚机支持冷热迁移、重建、归档等功能。
其次,在解挂(解除挂载)云盘时,本实施例的纳管虚拟机硬盘的方法将硬盘数据从虚机目录迁移到存储组件选择的存储池(Datastore)上,这样即使删除虚拟机,硬盘数据也不会丢失,可实现存储持久化。纳管的云盘支持解挂,再挂载,高可用性。
附图说明
图1为本发明实施例提供的一种纳管虚拟机硬盘的方法的流程图;
图2为本发明实施例提供的另一种纳管虚拟机硬盘的方法的流程图;
图3为本发明实施例提供的一种虚拟机资源纳管示意图;
图4为本发明实施例提供的一种虚拟机硬盘纳管流程示意图;
图5为本发明实施例提供的一种计算组件的结构示意图;
图6为本发明实施例提供的一种存储组件的结构示意图;
图7为本发明另一实施例提供的一种计算组件的结构示意图;
图8为本发明另一实施例提供的一种存储组件的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
图1为本发明实施例提供的一种纳管虚拟机硬盘的方法的流程图,所述纳管虚拟机硬盘的方法适用于计算组件,所述计算组件负责计算资源,例如,所述计算组件可为Nova(OpenStack体系中的计算节点)。参见图1,所述方法包括以下步骤:
S101,接收到纳管虚拟机请求后,根据所述纳管虚拟机请求获取虚拟机配置信息。
需要说明的是,所述虚拟机配置信息包括:虚拟机硬盘的参数信息。获取虚拟机配置信息的方式有多种,例如,可根据VMware上虚拟机的UUID(Universally UniqueIdentifier,通用唯一识别码),通过vCenter API(Virtual Center ApplicationProgramming Interface,虚拟中心应用程序编程接口)获取虚拟机(可简称为虚机)配置信息,从虚拟机配置信息中解析出虚拟机硬盘的参数信息。其中,所述虚拟机硬盘的参数信息包括但不限于:虚拟机硬盘的UUID(在VMware上虚拟机硬盘的唯一标识可为backing_uuid)、容量大小、硬盘适配器类型、硬盘类型(分为:精简、后置备、后置备立即置零)、共享属性(共享属性为共享盘时,该虚拟机硬盘可以挂载给多个虚机)、纳管属性和/或文件名(有快照时,取base文件的文件名)。当纳管属性为已纳管时,与所述虚拟机硬盘对应的虚拟机已被纳管。
S102,向存储组件发送纳管虚拟机硬盘请求,所述纳管虚拟机硬盘请求包括所述虚拟机硬盘的参数信息。
S103,向所述存储组件发送挂载通知,所述挂载通知用于指示所述存储组件将与所述虚拟机硬盘对应的云盘挂载给虚拟机。
S104,接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。
可选地,建立所述虚拟机和所述云盘的映射关系的实现方式,包括以下步骤:
10)判断虚拟机硬盘的纳管属性是否为已纳管。如果虚拟机硬盘的纳管属性为已纳管,执行步骤12);如果虚拟机硬盘的纳管属性不是已纳管,执行步骤13)。
12)根据所述云盘和虚拟机的挂载信息以及虚拟机配置信息,生成第一表和第二表,所述第一表记录有虚拟机配置信息,所述第二表记录有虚拟机和云盘之间的映射关系。
需要说明的是,已被纳管的虚拟机可在元数据中标记为imported。对于imported虚拟机,不调用底层接口来创建虚拟机,仅仅生成虚机相关表记录信息(例如,第一表和/或第二表)。
例如,接收所述存储组件发送的云盘和虚拟机的挂载信息,入参含已被纳管的云盘的ID(identification,身份证),先检查所述虚拟机是否为已被纳管虚机,如果所述虚拟机为已被纳管虚拟机,则不调用底层接口创建虚拟机,只生成instances表和block_device_mapping表,所述instances表记录有虚拟机配置信息,所述block_device_mapping表记录有虚拟机和云盘的对应关系。
13)将所述虚拟机配置信息映射到资源设置中,然后依次执行步骤14)和步骤15)。
14)根据所述资源设置,创建虚拟机。
例如,可将虚拟机规格映射到flavor(资源设置)中;并完成虚机使用的portgroup到port的映射。通过flavor、云盘和port信息组织创建虚拟机所需参数,根据虚拟机所需参数创建虚机。
可选地,可通过调用create(创建)接口来创建虚机,当然并不仅限于此。
15)根据所述云盘的挂载信息生成第三表和第四表,所述第三表记录有虚拟机配置信息,所述第四表记录有虚拟机和云盘之间的映射关系。
在本实施例中,接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,本实施例中的纳管虚拟机硬盘的方法通过建立所述虚拟机和所述云盘的映射关系来纳管虚拟机硬盘,这样纳管过程中无需下电,无需解挂(解除挂载)/挂载、迁移硬盘,不影响虚机业务。
图2为本发明实施例提供的另一种纳管虚拟机硬盘的方法的流程图,所述纳管虚拟机硬盘的方法适用于存储组件,所述存储组件负责存储资源。例如,所述存储组件可为Cinder块存储,Cinder块存储是虚拟基础架构中必不可少的组件,是存储虚拟机镜像文件及虚拟机使用的数据的基础。参见图2,所述方法包括以下步骤:
S201,接收计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系。
具体地,可建立虚拟机硬盘的参数信息与云盘的参数信息的映射关系。其中,云盘的参数信息包括:云盘的UUID、容量大小、适配器类型、云盘类型(分为:精简、后置备、后置备立即置零)、共享属性(共享属性为共享盘时,该虚拟机硬盘可以挂载给多个虚机)、纳管属性和/或文件名(有快照时,取base文件的文件名)。
例如,云盘的文件名(name)以虚拟机硬盘的文件名命名。云盘的容量大小为虚拟机硬盘的容量大小(单位为G,小数向上取整)。云盘的共享属性根据虚拟机硬盘的共享属性来设置,虚拟机硬盘为共享盘时,云盘的共享属性为True,否则云盘的共享属性为False。云盘类型根据虚拟机硬盘类型来选择,其中三种硬盘类型(精简、后置备和后置备立即置零)分别对应三种云盘类型。虚拟机硬盘的其他属性,如虚拟机硬盘的UUID(例如,backing_uuid)、硬盘适配器类型和纳管属性(标记此云盘是否为已被纳管的云盘,例如,可用imported作为已纳管标记)等,记录到云盘的元数据中。可将虚拟机硬盘与云盘建立的映射关系记录到volumes表中,此时云盘状态为可用(available)。
可选地,为了防止一个虚拟机硬盘被重复纳管,所述存储组件在收到创建云盘请求后,可先判断云盘是否为已纳管云盘,例如,可通过检查虚拟机硬盘是否已经被纳管的方式来判断云盘是否为已纳管云盘,可判断在volumes表中是否记录有虚拟机硬盘的UUID,如果在volumes表中记录有虚拟机硬盘的UUID则表示已被纳管,无需重复纳管,直接返回已有的volumes表中的映射关系信息。基于以上分析,本实施例提供了一种建立虚拟机硬盘与云盘的映射关系的实现方式,具体包括以下步骤:
21)判断虚拟机硬盘是否已经被纳管;如果虚拟机硬盘已经被纳管,执行步骤22);如果虚拟机硬盘未被纳管,执行步骤23)。
22)获取现有的所述虚拟机硬盘与云盘的映射关系。
23)创建与所述虚拟机硬盘对应的云盘,然后执行步骤24)。
24)建立所述虚拟机硬盘与云盘的映射关系。
S202,接收计算组件发送的挂载通知后,将所述云盘挂载给所述虚拟机。
可选地,接收计算组件发送的挂载通知后,记录所述云盘和虚拟机的挂载信息,例如,可将所述云盘和虚拟机的挂载信息记录到volume_attachment表中,并将云盘状态设置为in-use(使用中)。所述云盘和虚拟机的挂载信息包括:虚拟机的通用唯一识别码和/或挂载点。然后,向计算组件发送所述云盘和虚拟机的挂载信息。
在本实施例中,接收计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,所述纳管虚拟机硬盘的方法通过建立虚拟机硬盘与云盘的映射关系来纳管虚拟机硬盘,这样纳管过程中无需下电,无需解挂(解除挂载)/挂载、无需迁移硬盘,不影响虚机业务。
纳管后的云盘,支持解挂、挂载、删除等操作。由于纳管云盘过程中并不解挂云盘,因此该云盘会保留在原始路径下,一般在原有虚机路径下,当虚机删除时此云盘数据会被一并删除,该特性与OpenStack创建云盘之间存在差异,需要修改解挂云盘流程,以兼容两类云盘。为了解决以上问题,在图2所示的流程图的基础上,所述方法还包括以下步骤:
31)在将所述云盘与所述虚拟机解除挂载(可简称为解挂)时,将云盘从虚拟机目录迁移到云盘目录下。
32)将所述云盘与所述虚拟机解除挂载后,自动删除云盘的参数信息中的纳管属性中的已纳管标记。
例如,已被纳管的云盘(标记imported的云盘),在Cinder块存储调用detach(分离)接口进行解挂时,将云盘解挂并从虚机目录迁移到云盘目录下,解挂后自动删除imported标记。
在解挂(解除挂载)云盘时,本实施例的纳管虚拟机硬盘的方法将硬盘数据从虚机目录迁移到存储组件选择的存储池(Datastore)上,这样即使删除虚拟机,硬盘数据也不会丢失,可实现存储持久化。
综上所述,接收到纳管虚拟机请求后,计算组件获取虚拟机配置信息后,所述计算组件向存储组件发送纳管虚拟机硬盘请求。所述存储组件接收所述计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系。所述计算组件向所述存储组件发送挂载通知,所述存储组件接收所述计算组件发送的挂载通知后,将所述云盘挂载给所述虚拟机,并发送所述存储组件发送的云盘和虚拟机的挂载信息。所述计算组件接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。所述纳管虚拟机硬盘的方法通过资源映射的方式纳管虚拟机硬盘,这样可实现在异构平台间无缝纳管虚机存储资源,且纳管过程不影响虚机业务;所述方法可满足存储持久化要求,纳管的云盘支持解挂,再挂载,高可用性;纳管的虚机支持冷热迁移、重建、归档等功能。
为了便于理解所述纳管虚拟机硬盘的方法的工作流程,以下进行示例说明。
虚机纳管过程会同时纳管计算、存储和网络相关的虚拟资源。因此在OpenStack纳管VMware集群的虚拟机时,不仅仅需要纳管虚机计算资源,同时也需要纳管虚机存储资源即虚机硬盘。VMware上的虚机可以挂载多个硬盘,每个硬盘映射为OpenStack上的一个云盘,硬盘纳管由虚机纳管自动触发,无需单独操作。
在本示例中,计算组件为Nova,Nova包括:Nova-API和Nova-compute(代理节点)。除此之外,Nova增加VMware虚机查询接口,VMware虚机查询接口返回未被纳管的所有虚机列表,其中含虚机和虚机物理位置信息。参见图3,Nova-API收到纳管虚机请求,根据虚机所在的物理位置,把命令分发到对应的代理节点(Nova-compute),代理节点会把虚拟机的VMware信息发送给Cinder和Neutron分别完成存储和网络资源的纳管,同时Nova-compute完成计算资源的纳管。其中,存储组件为Cinder,Cinder包括:Cinder-API和Cinder-volume。其中,Cinder-API用于接收转发通知,Cinder-volume用于创建与虚拟机硬盘对应的云盘。
在异构平台下通过资源映射方式纳管硬盘时,Nova还新增纳管虚机的API(Application Programming Interface,应用程序编程接口),纳管虚机最开始先通过纳管虚机的API进行存储资源即虚机硬盘的查询和映射,之后再纳管虚机,并完成虚机和存储资源的映射。图4为本发明实施例提供的一种虚拟机硬盘纳管流程示意图,参见图4,虚拟机硬盘纳管的流程如下:
41)用户发送纳管虚机请求给Nova-API,请求中含虚机UUID,Nova-API派发消息到对应的代理节点Nova-compute;
42)Nova-compute接收纳管虚机请求,查询虚机的所有硬盘即采集虚机硬盘的信息,发送纳管硬盘请求给Cinder。
每个虚机硬盘纳管为一个云盘,Nova根据VMware上虚机的UUID,通过vCenter API接口获取虚机的配置,从中解析出硬盘的基本信息,包括backing_uuid(VMware上硬盘的唯一标识)、容量大小(size)、硬盘适配器类型、硬盘类型(分为:精简、后置备、后置备立即置零)、共享属性(共享盘可以挂载给多个虚机)和名称(name)。
43)Cinder-API接收到纳管硬盘请求后,通知Cinder-volume(或称为volume)执行硬盘纳管;Cinder-volume执行硬盘纳管,生成volumes表记录。
具体地,可调用cinder接口创建云盘,完成虚机硬盘到云盘的映射。可将虚机硬盘到云盘的映射关系记录到volumes表,将云盘信息记录到Cinder的数据库volumes表中,此时云盘状态为available(可用的)。
为了防止一个硬盘被重复纳管,Cinder收到创建云盘请求后,可先判断云盘是否为imported(已被纳管),即先检查硬盘是否已经被纳管,判断依据可为硬盘的backing_uuid在volumes表中是否有记录,如果硬盘的backing_uuid在volumes表中有记录则表示已被纳管,无需重复纳管,直接返回已有的volumes表。
44)Nova-compute等待云盘纳管完成后,创建纳管虚拟机flavor(资源设置,即完成虚拟机规格到flavor的映射。
45)通知Cinder将云盘挂载给虚机。
46)Cinder-API接收到通知后,通知Cinder-volume执行挂载;Cinder-volume执行挂载,生成volume_attachment表记录,并返回挂载结果。
需要说明的是,图4所示的流程是云盘已被纳管的情况,此种情况下只生成volume_attachment表,volume_attachment表记录有云盘挂载的详细信息,包括虚机uuid和挂载点等。云盘未被纳管时,Cinder会先创建与虚机硬盘对应的云盘,然后再根据虚机硬盘和新创建的云盘的映射关系生成volume_attachment表记录。
47)nova纳管虚机,并将存储资源关联虚机。首先nova调用create接口创建虚机,入参含已被纳管的云盘的ID,创建中先检查是否为imported虚机,如果为纳管虚机,则不调用底层接口创建虚机,只生成instances表和block_device_mapping表,所述instances表记录有虚机信息,所述block_device_mapping表记录有虚机和云盘的对应关系。
48)通知Cinder更新云盘状态。
49)Cinder-API设置云盘的状态为in-use(使用中)。
上述虚拟机硬盘纳管的过程中,虚机无需下电,无需解挂/挂载、无需迁移硬盘,不影响虚机业务。按此方法纳管到OpenStack的虚机,支持OpenStack大部分功能。
在OpenStack纳管VMware集群的虚拟机时,可修改虚机的管理员为OpenStack。被纳管的虚机,调用VMware底层接口,设置虚机管理员为OpenStack,这样在VMware界面操作虚机时,会提示此虚机为openstack管理,操作是否继续。纳管后的云盘,支持解挂、挂载、删除等操作。
在解挂云盘时,自动触发Cinder manage功能,将硬盘数据从虚机目录迁移到Cinder选择的存储池(Datastore)上,这样即使虚机被删除,硬盘数据也不会丢失,可实现存储持久化。
图5为本发明实施例提供的一种计算组件的结构示意图,参见图5,所述计算组件500,包括:获取模块501、第一发送模块502、第二发送模块503和第一映射模块504。
所述获取模块501,用于接收到纳管虚拟机请求后,根据所述纳管虚拟机请求获取虚拟机配置信息,其中,所述虚拟机配置信息包括:虚拟机硬盘的参数信息。
所述第一发送模块502,用于向存储组件发送纳管虚拟机硬盘请求,所述纳管虚拟机硬盘请求包括所述虚拟机硬盘的参数信息。
所述第二发送模块503,用于向所述存储组件发送挂载通知,所述挂载通知用于指示所述存储组件将与所述虚拟机硬盘对应的云盘挂载给虚拟机。
所述第一映射模块504,用于接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。
可选地,所述虚拟机硬盘的参数信息包括:纳管属性。所述第一映射模块504,包括:第一判断单元、第一执行单元、第一映射单元、第一创建单元和第二执行单元。
其中,所述第一判断单元,用于判断虚拟机硬盘的纳管属性是否为已纳管。
所述第一执行单元,用于如果虚拟机硬盘的纳管属性为已纳管,则根据所述云盘和虚拟机的挂载信息以及虚拟机配置信息,生成第一表和第二表,所述第一表记录有虚拟机配置信息,所述第二表记录有虚拟机和云盘之间的映射关系。
所述第一映射单元,用于如果虚拟机硬盘的纳管属性不是已纳管,则将所述虚拟机配置信息映射到资源设置中。
所述第一创建单元,用于根据所述资源设置,创建虚拟机。
所述第二执行单元,用于根据所述云盘的挂载信息生成第三表和第四表,所述第三表记录有虚拟机配置信息,所述第四表记录有虚拟机和云盘之间的映射关系。
图6为本发明实施例提供的一种存储组件的结构示意图,参见图6,所述存储组件600,包括:第二映射模块601和挂载模块602。
其中,所述第二映射模块601,用于接收计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系。
所述挂载模块602,用于接收计算组件发送的挂载通知后,将所述云盘挂载给所述虚拟机。
可选地,所述第二映射模块601,包括:第二映射单元。
所述第二映射单元,用于建立虚拟机硬盘的参数信息与云盘的参数信息的映射关系。
可选地,所述第二映射模块601,包括:第二判断单元、获取单元、第二创建单元和第三映射单元。
其中,所述第二判断单元,用于判断虚拟机硬盘是否已经被纳管。
所述获取单元,用于如果虚拟机硬盘已经被纳管,获取现有的所述虚拟机硬盘与云盘的映射关系。
所述第二创建单元,用于如果虚拟机硬盘未被纳管,创建与所述虚拟机硬盘对应的云盘。
所述第三映射单元,用于建立所述虚拟机硬盘与云盘的映射关系。
可选地,所述挂载模块602,包括:记录单元和发送单元。
其中,所述记录单元,用于记录所述云盘和虚拟机的挂载信息,所述云盘和虚拟机的挂载信息包括:虚拟机的通用唯一识别码和/或挂载点。
所述发送单元,用于向计算组件发送所述云盘和虚拟机的挂载信息。
纳管后的云盘,支持解挂、挂载、删除等操作。由于纳管云盘过程中并不解挂云盘,因此该云盘会保留在原始路径下,一般在原有虚机路径下,当虚机删除时此云盘数据会被一并删除,该特性与OpenStack创建云盘之间存在差异,需要修改解挂云盘流程,以兼容两类云盘。为了解决以上问题,在图6所示的结构的基础上,所述存储组件还包括:迁移模块和删除模块。
其中,所述迁移模块,用于在将所述云盘与所述虚拟机解除挂载时,将云盘从虚拟机目录迁移到云盘目录下。
所述删除模块,用于将所述云盘与所述虚拟机解除挂载后,自动删除云盘的参数信息中的纳管属性中的已纳管标记。
综上所述,通过获取模块501接收到纳管虚拟机请求后,计算组件获取虚拟机配置信息后,所述计算组件通过第一发送模块502向存储组件发送纳管虚拟机硬盘请求。所述存储组件接收所述计算组件发送的纳管虚拟机硬盘请求后,通过第二映射模块601根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系。所述计算组件通过第二发送模块503向所述存储组件发送挂载通知,所述存储组件接收所述计算组件发送的挂载通知后,通过挂载模块602将所述云盘挂载给所述虚拟机,并发送所述存储组件发送的云盘和虚拟机的挂载信息。所述计算组件接收所述存储组件发送的云盘和虚拟机的挂载信息,通过第一映射模块504根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。所述计算组件和存储组件通过资源映射的方式纳管虚拟机硬盘,这样可实现在异构平台间无缝纳管虚机存储资源,且纳管过程不影响虚机业务;所述计算组件和存储组件可满足存储持久化要求,纳管的云盘支持解挂,再挂载,高可用性;纳管的虚机支持冷热迁移、重建、归档等功能。
图7为本发明另一实施例提供的计算组件的结构示意图。如图7所示,图7所示的计算组件700包括:至少一个处理器701、存储器702。计算组件700中的各个组件通过总线***705耦合在一起。可理解,总线***705用于实现这些组件之间的连接通信。总线***705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线***705。
可以理解,本发明实施例中的存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的***和方法的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器702存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作***7021。
其中,操作***7021,包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,通过调用存储器702存储的程序或指令,具体的,处理器701可以执行上述纳管虚拟机硬盘的方法。
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本发明实施例描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital SignalProcessing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本发明所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本发明实施例所述功能的模块(例如过程、函数等)来实现本发明实施例所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
在本实施例,处理器701具体用于:接收到纳管虚拟机请求后,根据所述纳管虚拟机请求获取虚拟机配置信息,其中,所述虚拟机配置信息包括:虚拟机硬盘的参数信息;向存储组件发送纳管虚拟机硬盘请求,所述纳管虚拟机硬盘请求包括所述虚拟机硬盘的参数信息;向所述存储组件发送挂载通知,所述挂载通知用于指示所述存储组件将与所述虚拟机硬盘对应的云盘挂载给虚拟机;接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。
可选地,处理器701具体用于:判断虚拟机硬盘的纳管属性是否为已纳管;
如果虚拟机硬盘的纳管属性为已纳管,则根据所述云盘和虚拟机的挂载信息以及虚拟机配置信息,生成第一表和第二表,所述第一表记录有虚拟机配置信息,所述第二表记录有虚拟机和云盘之间的映射关系;如果虚拟机硬盘的纳管属性不是已纳管,则将所述虚拟机配置信息映射到资源设置中;根据所述资源设置,创建虚拟机;根据所述云盘的挂载信息生成第三表和第四表,所述第三表记录有虚拟机配置信息,所述第四表记录有虚拟机和云盘之间的映射关系。
图8为本发明另一实施例提供的存储组件的结构示意图。如图8所示,图8所示的存储组件800包括:至少一个处理器801、存储器802。存储组件800中的各个组件通过总线***805耦合在一起。可理解,总线***805用于实现这些组件之间的连接通信。总线***805除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线***805。
可以理解,本发明实施例中的存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的***和方法的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器802存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作***8021。
其中,操作***8021,包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,通过调用存储器802存储的程序或指令,具体的,处理器801可以执行上述纳管虚拟机硬盘的方法。
上述本发明实施例揭示的方法可以应用于处理器801中,或者由处理器801实现。处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本发明实施例描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital SignalProcessing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本发明所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本发明实施例所述功能的模块(例如过程、函数等)来实现本发明实施例所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
在本实施例,处理器801具体用于:接收计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系;接收计算组件发送的挂载通知后,将所述云盘挂载给所述虚拟机。
可选地,处理器801具体还用于:建立虚拟机硬盘的参数信息与云盘的参数信息的映射关系。
可选地,处理器801具体还用于:判断虚拟机硬盘是否已经被纳管;如果虚拟机硬盘已经被纳管,获取现有的所述虚拟机硬盘与云盘的映射关系;如果虚拟机硬盘未被纳管,创建与所述虚拟机硬盘对应的云盘;建立所述虚拟机硬盘与云盘的映射关系。
可选地,处理器801具体还用于:记录所述云盘和虚拟机的挂载信息,所述云盘和虚拟机的挂载信息包括:虚拟机的通用唯一识别码和/或挂载点;向计算组件发送所述云盘和虚拟机的挂载信息。
可选地,处理器801具体还用于:在将所述云盘与所述虚拟机解除挂载时,将云盘从虚拟机目录迁移到云盘目录下;将所述云盘与所述虚拟机解除挂载后,自动删除云盘的参数信息中的纳管属性中的已纳管标记。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的纳管虚拟机硬盘的方法中的步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络侧设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种纳管虚拟机硬盘的方法,其特征在于,包括:
接收到纳管虚拟机请求后,根据所述纳管虚拟机请求获取虚拟机配置信息,其中,所述虚拟机配置信息包括:虚拟机硬盘的参数信息;
向存储组件发送纳管虚拟机硬盘请求,所述纳管虚拟机硬盘请求包括所述虚拟机硬盘的参数信息;
向所述存储组件发送挂载通知,所述挂载通知用于指示所述存储组件将与所述虚拟机硬盘对应的云盘挂载给虚拟机;
接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。
2.根据权利要求1所述的方法,其特征在于,所述虚拟机硬盘的参数信息包括:纳管属性;
所述建立所述虚拟机和所述云盘的映射关系,包括:
判断虚拟机硬盘的纳管属性是否为已纳管;
如果虚拟机硬盘的纳管属性为已纳管,则根据所述云盘和虚拟机的挂载信息以及虚拟机配置信息,生成第一表和第二表,所述第一表记录有虚拟机配置信息,所述第二表记录有虚拟机和云盘之间的映射关系;
如果虚拟机硬盘的纳管属性不是已纳管,则将所述虚拟机配置信息映射到资源设置中;
根据所述资源设置,创建虚拟机;
根据所述云盘的挂载信息生成第三表和第四表,所述第三表记录有虚拟机配置信息,所述第四表记录有虚拟机和云盘之间的映射关系。
3.一种纳管虚拟机硬盘的方法,其特征在于,包括:
接收计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系;
接收计算组件发送的挂载通知后,将所述云盘挂载给所述虚拟机。
4.根据权利要求3所述的方法,其特征在于,建立虚拟机硬盘与云盘的映射关系,包括:
建立虚拟机硬盘的参数信息与云盘的参数信息的映射关系。
5.根据权利要求3所述的方法,其特征在于,建立虚拟机硬盘与云盘的映射关系,包括:
判断虚拟机硬盘是否已经被纳管;
如果虚拟机硬盘已经被纳管,获取现有的所述虚拟机硬盘与云盘的映射关系;
如果虚拟机硬盘未被纳管,创建与所述虚拟机硬盘对应的云盘;
建立所述虚拟机硬盘与云盘的映射关系。
6.根据权利要求3所述的方法,其特征在于,将所述云盘挂载给所述虚拟机,包括:
记录所述云盘和虚拟机的挂载信息,所述云盘和虚拟机的挂载信息包括:虚拟机的通用唯一识别码和/或挂载点;
向计算组件发送所述云盘和虚拟机的挂载信息。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在将所述云盘与所述虚拟机解除挂载时,将云盘从虚拟机目录迁移到云盘目录下;
将所述云盘与所述虚拟机解除挂载后,自动删除云盘的参数信息中的纳管属性中的已纳管标记。
8.一种计算组件,其特征在于,包括:
获取模块,用于接收到纳管虚拟机请求后,根据所述纳管虚拟机请求获取虚拟机配置信息,其中,所述虚拟机配置信息包括:虚拟机硬盘的参数信息;
第一发送模块,用于向存储组件发送纳管虚拟机硬盘请求,所述纳管虚拟机硬盘请求包括所述虚拟机硬盘的参数信息;
第二发送模块,用于向所述存储组件发送挂载通知,所述挂载通知用于指示所述存储组件将与所述虚拟机硬盘对应的云盘挂载给虚拟机;
第一映射模块,用于接收所述存储组件发送的云盘和虚拟机的挂载信息,根据所述云盘与虚拟机的挂载信息,建立所述虚拟机和所述云盘的映射关系。
9.根据权利要求8所述的计算组件,其特征在于,所述虚拟机硬盘的参数信息包括:纳管属性;
所述第一映射模块,包括:
第一判断单元,用于判断虚拟机硬盘的纳管属性是否为已纳管;
第一执行单元,用于如果虚拟机硬盘的纳管属性为已纳管,则根据所述云盘和虚拟机的挂载信息以及虚拟机配置信息,生成第一表和第二表,所述第一表记录有虚拟机配置信息,所述第二表记录有虚拟机和云盘之间的映射关系;
第一映射单元,用于如果虚拟机硬盘的纳管属性不是已纳管,则将所述虚拟机配置信息映射到资源设置中;
第一创建单元,用于根据所述资源设置,创建虚拟机;
第二执行单元,用于根据所述云盘的挂载信息生成第三表和第四表,所述第三表记录有虚拟机配置信息,所述第四表记录有虚拟机和云盘之间的映射关系。
10.一种存储组件,其特征在于,包括:
第二映射模块,用于接收计算组件发送的纳管虚拟机硬盘请求后,根据纳管虚拟机硬盘请求中的虚拟机硬盘的参数信息,建立虚拟机硬盘与云盘的映射关系;
挂载模块,用于接收计算组件发送的挂载通知后,将所述云盘挂载给所述虚拟机。
11.根据权利要求10所述的存储组件,其特征在于,所述第二映射模块,包括:
第二映射单元,用于建立虚拟机硬盘的参数信息与云盘的参数信息的映射关系。
12.根据权利要求10所述的存储组件,其特征在于,所述第二映射模块,包括:
第二判断单元,用于判断虚拟机硬盘是否已经被纳管;
获取单元,用于如果虚拟机硬盘已经被纳管,获取现有的所述虚拟机硬盘与云盘的映射关系;
第二创建单元,用于如果虚拟机硬盘未被纳管,创建与所述虚拟机硬盘对应的云盘;
第三映射单元,用于建立所述虚拟机硬盘与云盘的映射关系。
13.根据权利要求10所述的存储组件,其特征在于,所述挂载模块,包括:
记录单元,用于记录所述云盘和虚拟机的挂载信息,所述云盘和虚拟机的挂载信息包括:虚拟机的通用唯一识别码和/或挂载点;
发送单元,用于向计算组件发送所述云盘和虚拟机的挂载信息。
14.根据权利要求10所述的存储组件,其特征在于,所述存储组件还包括:
迁移模块,用于在将所述云盘与所述虚拟机解除挂载时,将云盘从虚拟机目录迁移到云盘目录下;
删除模块,用于将所述云盘与所述虚拟机解除挂载后,自动删除云盘的参数信息中的纳管属性中的已纳管标记。
15.一种计算组件,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1~2任一项所述的纳管虚拟机硬盘的方法中的步骤。
16.一种存储组件,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求3~7任一项所述的纳管虚拟机硬盘的方法中的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~2任一项所述的纳管虚拟机硬盘的方法中的步骤或如权利要求3~7任一项所述的纳管虚拟机硬盘的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710564988.8A CN109254825A (zh) | 2017-07-12 | 2017-07-12 | 一种纳管虚拟机硬盘的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710564988.8A CN109254825A (zh) | 2017-07-12 | 2017-07-12 | 一种纳管虚拟机硬盘的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109254825A true CN109254825A (zh) | 2019-01-22 |
Family
ID=65050628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710564988.8A Withdrawn CN109254825A (zh) | 2017-07-12 | 2017-07-12 | 一种纳管虚拟机硬盘的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109254825A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032753A (zh) * | 2018-06-20 | 2018-12-18 | 上海市信息网络有限公司 | 一种异构虚拟机硬盘托管方法、***、存储介质及Nova平台 |
CN109951525A (zh) * | 2019-02-18 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 一种基于容器的云盘挂载***及方法 |
CN110989929A (zh) * | 2019-11-22 | 2020-04-10 | 浪潮电子信息产业股份有限公司 | 一种mon服务迁移方法、装置、设备及可读存储介质 |
CN111240800A (zh) * | 2020-01-03 | 2020-06-05 | 华云数据有限公司 | 硬件加速设备挂载方法及云平台 |
CN111338763A (zh) * | 2020-03-11 | 2020-06-26 | 山东汇贸电子口岸有限公司 | 一种基于nova的允许卸载和挂载***卷的方法 |
CN111651235A (zh) * | 2020-04-17 | 2020-09-11 | 北京奇艺世纪科技有限公司 | 一种虚拟机组任务管理方法及装置 |
CN112328363A (zh) * | 2020-11-05 | 2021-02-05 | 北京金山云网络技术有限公司 | 一种云硬盘挂载方法及其装置 |
CN112395013A (zh) * | 2020-11-12 | 2021-02-23 | 华云数据控股集团有限公司 | 一种修正云硬盘bpb参数的方法及电子设备 |
CN113093995A (zh) * | 2021-04-12 | 2021-07-09 | 杭州朗澈科技有限公司 | 一种云盘数据的迁移方法和*** |
CN113126912A (zh) * | 2021-03-15 | 2021-07-16 | 新华三大数据技术有限公司 | 一种个人磁盘的挂载方法及装置 |
CN113821168A (zh) * | 2021-08-31 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种共享存储迁移***、方法及电子设备和存储介质 |
CN114567556A (zh) * | 2022-03-07 | 2022-05-31 | 海尔数字科技(上海)有限公司 | 一种虚拟机纳管*** |
CN117493027A (zh) * | 2024-01-02 | 2024-02-02 | 中移(苏州)软件技术有限公司 | 热升级方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468811A (zh) * | 2014-12-17 | 2015-03-25 | 华为技术有限公司 | 升级方法及装置 |
CN106095337A (zh) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | 一种基于san网络存储的云盘快速共享方法 |
CN106210046A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种基于Cinder的卷跨集群挂载方法及*** |
-
2017
- 2017-07-12 CN CN201710564988.8A patent/CN109254825A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468811A (zh) * | 2014-12-17 | 2015-03-25 | 华为技术有限公司 | 升级方法及装置 |
CN106095337A (zh) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | 一种基于san网络存储的云盘快速共享方法 |
CN106210046A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种基于Cinder的卷跨集群挂载方法及*** |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032753A (zh) * | 2018-06-20 | 2018-12-18 | 上海市信息网络有限公司 | 一种异构虚拟机硬盘托管方法、***、存储介质及Nova平台 |
CN109032753B (zh) * | 2018-06-20 | 2022-02-22 | 上海市信息网络有限公司 | 一种异构虚拟机硬盘托管方法、***、存储介质及Nova平台 |
CN109951525A (zh) * | 2019-02-18 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 一种基于容器的云盘挂载***及方法 |
CN110989929A (zh) * | 2019-11-22 | 2020-04-10 | 浪潮电子信息产业股份有限公司 | 一种mon服务迁移方法、装置、设备及可读存储介质 |
CN111240800A (zh) * | 2020-01-03 | 2020-06-05 | 华云数据有限公司 | 硬件加速设备挂载方法及云平台 |
CN111240800B (zh) * | 2020-01-03 | 2022-12-27 | 华云数据有限公司 | 硬件加速设备挂载方法及云平台 |
CN111338763A (zh) * | 2020-03-11 | 2020-06-26 | 山东汇贸电子口岸有限公司 | 一种基于nova的允许卸载和挂载***卷的方法 |
CN111651235A (zh) * | 2020-04-17 | 2020-09-11 | 北京奇艺世纪科技有限公司 | 一种虚拟机组任务管理方法及装置 |
CN112328363A (zh) * | 2020-11-05 | 2021-02-05 | 北京金山云网络技术有限公司 | 一种云硬盘挂载方法及其装置 |
CN112395013B (zh) * | 2020-11-12 | 2022-06-28 | 华云数据控股集团有限公司 | 一种修正云硬盘bpb参数的方法及电子设备 |
CN112395013A (zh) * | 2020-11-12 | 2021-02-23 | 华云数据控股集团有限公司 | 一种修正云硬盘bpb参数的方法及电子设备 |
CN113126912A (zh) * | 2021-03-15 | 2021-07-16 | 新华三大数据技术有限公司 | 一种个人磁盘的挂载方法及装置 |
CN113093995A (zh) * | 2021-04-12 | 2021-07-09 | 杭州朗澈科技有限公司 | 一种云盘数据的迁移方法和*** |
CN113093995B (zh) * | 2021-04-12 | 2023-05-26 | 深圳软通动力信息技术有限公司 | 一种云盘数据的迁移方法和*** |
CN113821168A (zh) * | 2021-08-31 | 2021-12-21 | 济南浪潮数据技术有限公司 | 一种共享存储迁移***、方法及电子设备和存储介质 |
CN114567556A (zh) * | 2022-03-07 | 2022-05-31 | 海尔数字科技(上海)有限公司 | 一种虚拟机纳管*** |
CN117493027A (zh) * | 2024-01-02 | 2024-02-02 | 中移(苏州)软件技术有限公司 | 热升级方法、装置及电子设备 |
CN117493027B (zh) * | 2024-01-02 | 2024-04-09 | 中移(苏州)软件技术有限公司 | 热升级方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254825A (zh) | 一种纳管虚拟机硬盘的方法及装置 | |
US11960915B2 (en) | Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card | |
CN108683516B (zh) | 一种应用实例的升级方法、装置和*** | |
US9946578B2 (en) | Managing the persistent data of a pre-installed application in an elastic virtual machine instance | |
CN106487869A (zh) | 用于对标签化数据进行控制和标准化的多云网络代理 | |
CN109309693B (zh) | 基于docker的多服务***、部署方法及装置、设备及存储介质 | |
US8001327B2 (en) | Method and apparatus for managing placement of data in a tiered storage system | |
EP3618352B1 (en) | Virtual machine management | |
CN105515872B (zh) | 配置信息的更新方法、装置及*** | |
CN107077389A (zh) | 用于在多租户应用服务器环境中使用全局运行时的***和方法 | |
CN110673941B (zh) | 多机房中微服务的迁移方法、电子设备及存储介质 | |
US10055311B1 (en) | Reversion operations for virtual computing environments | |
CN109344006A (zh) | 一种镜像管理方法及镜像管理模块 | |
US20050234966A1 (en) | System and method for managing supply of digital content | |
CN106648462B (zh) | 数据存储方法及装置 | |
JP2018512001A (ja) | 仮想化ネットワーク機能を管理するための方法及び装置 | |
CN112035216A (zh) | 一种Kubernetes集群网络和OpenStack网络的打通方法 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN106326226A (zh) | 一种公有云上启动数据库服务的方法及*** | |
CN110262872A (zh) | 负载均衡应用管理方法、装置、计算机设备及存储介质 | |
WO2019162830A1 (en) | Chronologically ordered out-of-place update key-value storage system | |
CN109032753A (zh) | 一种异构虚拟机硬盘托管方法、***、存储介质及Nova平台 | |
CN112583625B (zh) | 网络资源管理方法、***、网络设备和可读存储介质 | |
CN113961301A (zh) | 虚拟网卡绑定、解绑的方法及装置、计算节点及存储介质 | |
CN109375874A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190122 |