CN111158851B - 一种虚拟机快速部署方法 - Google Patents
一种虚拟机快速部署方法 Download PDFInfo
- Publication number
- CN111158851B CN111158851B CN201911261834.7A CN201911261834A CN111158851B CN 111158851 B CN111158851 B CN 111158851B CN 201911261834 A CN201911261834 A CN 201911261834A CN 111158851 B CN111158851 B CN 111158851B
- Authority
- CN
- China
- Prior art keywords
- directory
- file
- storage server
- image file
- 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.)
- Active
Links
Images
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
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
一种虚拟机快速部署方法,首先在存储服务器上创建目录A(用于控制节点存储镜像文件)和目录B(用于计算节点存储缓存);然后将目录A和目录B共享出去;在各个控制节点上将目录A挂载到本机的镜像目录下;在各个计算节点上将目录B挂载到本机的缓存目录下;存储服务器对目录A下的“可用”镜像文件进行数据位置映射处理,使目录B与目录A指向存储服务器中的同一处资源;当系统选取一个计算节点部署虚拟机时,直接通过缓存目录下的镜像文件部署虚拟机。本发明相较于传统部署方法,提高了云计算高可用环境下部署虚拟机的速度,同时提高了存储资源利用率。
Description
技术领域
本发明涉及一种虚拟机快速部署方法,属于计算机技术领域。
背景技术
云计算是目前最为流行的一类技术,通过将计算、存储、网络等资源池化,对租户提供整套云端信息化解决方案。
在传统的云计算高可用环境中,后台服务器分为控制节点和计算节点。控制节点用于云平台管理,任务调度,储存镜像文件等。计算节点提供虚拟机运行的CPU,内存等物理资源。虚拟机运行在计算节点上。在云平台高可用的解决方案中,控制节点和计算节点的数据均存放在共享存储设备中,任一节点宕机,其他节点依然可以访问共享存储中的相应数据,继而承载相应业务。
在网络设计上,云平台将业务网络与存储网络分离。业务网络通常用于云平台的业务通讯,包括:云平台各组件之间的通讯,各节点之间的通讯,提供对外API等。存储网络连接服务器与共享存储设备,使节点可以像使用本地硬盘一样的使用共享存储设备上的硬盘。
传统云计算高可用架构如图1所示。
在传统云计算架构中,用户部署虚拟机的业务流程中,计算节点向控制节点发送下载镜像文件的请求,如图2所示。控制节点需要从共享存储中获取文件,将相应目录下的镜像文件通过业务网络传递给计算节点。具体流程如图3所示。其缺陷如下:
(1)部署速度慢
在迭代开发和测试环境中,镜像文件往往很大,且更新频率高。经测试,在万兆交换网络中,用一个80GB的镜像文件部署虚拟机,耗时约2分钟。仅是传输镜像文件的时间就多达1分钟,(80GByte=640Gbit=655360Mbit,时间=655360Mbit/10000Mbit/s=65.536s),此外还有云平台API通信的时间,以及响应效验机制等功能的耗时。同时部署多台虚拟机时,耗时更长。且多数云平台默认有孵化超时时间,时间过长可能导致部署失败。
(2)存储资源浪费
传统云计算架构中,控制节点会保存虚拟机的镜像文件,计算节点也会在本地缓存目录存储镜像文件,这会导致相同内容的文件被保存两份,存储空间利用率仅为50%。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种虚拟机快速部署方法,提高了云计算高可用环境下部署虚拟机的速度以及存储资源利用率。
本发明的技术解决方案是:
一种虚拟机快速部署方法,包括如下步骤:
步骤一:在存储服务器上创建两个目录:目录A和目录B,所述目录A用于控制节点存储镜像文件,目录B用于计算节点存储缓存;
步骤二:在存储服务器中搭建文件共享服务,将目录A和目录B共享出去;
步骤三:在各个控制节点上将存储服务器共享出来的目录A挂载到本机的镜像目录下;
步骤四:在各个计算节点上将存储服务器共享出来的目录B挂载到本机的缓存目录下;
步骤五:存储服务器对目录A下的镜像文件进行状态查询,对状态为“等待”或“保存”的镜像文件不做处理,对状态为“可用”的镜像文件进行数据位置映射处理,使目录B中的文件与目录A中的文件指向存储服务器中的同一硬盘位置;
步骤六:存储服务器目录A中镜像文件的名字存入变量ida,根据云计算平台对计算节点镜像缓存文件的命名规则进行计算,得到变量idb,在存储服务器中使用变量idb对目录B中的ida文件进行重命名;
步骤七:在存储服务器中更改目录B下文件的属主、属组和权限;
步骤八:当系统选取一个计算节点部署虚拟机时,该计算节点缓存目录下存在相应镜像文件的缓存,通过该镜像文件直接部署虚拟机。
对状态为“可用”的镜像文件进行数据位置映射处理的方法如下:
在目录B中创建新文件,修改目录B中文件的inode编号,使其与目录A中对应的镜像文件的inode编号相同;所述inode编号是文件在操作系统中的唯一标识,记录了文件所在的磁盘块信息。
在存储服务器中创建一个check文件,记录目录A与目录B下文件的对应信息;存储服务器实时检测目录A是否被修改,所述修改是指添加文件或有文件被删除,若有文件被删除,则根据check文件删除目录B下对应的文件,并更新check文件;若添加文件,则执行步骤五-步骤七,并更新check文件。
check文件内容包括目录A下文件的文件名、权限、属主和属组,与之相对应的目录B下文件的文件名、权限、属主和属组,以及文件同步时间。
本发明与现有技术相比有益效果为:
(1)本发明与传统方案相比,消除了镜像文件经业务网络传输的时间。传统方案中,用一个80GB的镜像文件在万兆网络中部署虚拟机,耗时约2分钟,本发明镜像文件不需要业务网络传输,在计算节点上部署虚拟机仅需大约1分钟的时间。提高了部署速度,适用于多台虚拟机同时部署的情形。
(2)本发明将两个目录指向硬盘的同一位置,不占用额外的硬盘空间。与传统方案相比,存储空间节约了50%。
(3)本发明通过check文件实时监控目录A中缓存文件的增加或删除情况,并据此对目录B内的文件进行同步处理,实现了目录B与目录A内容的实时同步。
附图说明
图1为云计算高可用架构;
图2为请求镜像文件示意图;
图3为传输镜像文件示意图;
图4为数据位置映射图解;
图5为操作系统访问数据图解;
图6为本发明数据流向示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细描述。
本发明的关键在于消除控制节点通过业务网络传输镜像文件到计算节点的时间。计算节点缓存目录下面存的是缓存,本质是镜像,只是权限和宿主用户与控制节点的镜像文件不一样,当这个目录下存在所需镜像文件的缓存时,计算节点就无需向控制节点请求镜像文件。
以系统中存在3个控制节点、3个计算节点为例,本发明用户部署虚拟机的方法如下:
步骤一:在存储服务器上创建两个目录,分别为:目录A(用于控制节点存储镜像文件)和目录B(用于计算节点存储缓存)。
步骤二:在存储服务器中搭建文件共享服务(如NFS),将目录A和目录B共享出去。
步骤三:分别在控制节点1,控制节点2,控制节点3上将存储服务器共享出来的目录A挂载到本机的镜像目录下。此时三个控制节点均可访问存储服务器的目录A,对于控制节点来说,目录A是本地的一块硬盘。控制节点的云计算服务会将镜像文件写入目录A。
步骤四:分别在计算节点1,计算节点2,计算节点3上将存储服务器共享出来的目录B挂载到本机的缓存目录下。此时三个计算节点均可访问存储服务器的目录B,对于计算节点来说,目录B是本地的一块硬盘。计算节点在部署虚拟机之前会从目录B查看是否存在镜像文件的缓存。
步骤五:存储服务器对目录A下的镜像文件进行状态查询,对状态为“等待”或“保存”的镜像文件不做处理,对状态为“可用”的镜像文件进行步骤六处理。
步骤六:将存储服务器目录A中状态为“可用”的镜像文件进行数据位置映射,具体操作如下:在目录B中创建新文件,修改目录B中创建新文件的inode编号,使其与目录A中对应的镜像文件的inode编号相同。inode编号是文件在操作系统中的唯一标识,且inode记录了文件所在的磁盘块信息。在数据层面,目录A的文件与目录B的文件指向相同的数据块,即目录A中的文件,在目录B中也存在。如图4所示。
将目录A中的文件逐一映射到目录B之后,用户访问目录A文件和目录B文件时,存储服务器都会借助inode图表,使用相同的inode编号查找文件所在的磁盘块信息,继而从对应的磁盘块中读取数据。如图5所示。
步骤七:将存储服务器目录A中镜像的名字存入变量ida,根据云计算平台对计算节点镜像缓存文件的命名规则进行计算,得到变量idb(例如:openstack平台需要将ida进行哈希计算的结果赋值给idb)。
步骤八:在存储服务器中使用变量idb对目录B中的ida文件进行重命名(例如:openstack平台会对文件名进行hash计算,用hash结果进行文件重命名)。
步骤九:在存储服务器中更改目录B下文件的属主属组和权限,使其符合计算节点对缓存文件的要求。
步骤十:在存储服务器中创建一个文件,命名为check,用于记录目录A与目录B下文件的对应关系。文件内容包括:目录A下文件的文件名、权限、属主和属组,与之相对应目录B下文件的文件名、权限、属主和属组,以及文件同步时间。
步骤十一:存储服务器实时检测目录A是否被修改。(由于云计算环境下,云计算平台不会对镜像文件进行修改,目录的变化,无非是由添加镜像文件或是删除镜像文件引起的。)若目录被修改,则将目录A下的文件与check文件进行对比。若发现有文件被删除,则根据check文件删除目录B下对应的文件,并更新check文件。若发现有文件被添加,则进行步骤五的操作,并更新check文件。以此确保目录B与目录A内容的实时同步。
此时,在计算节点1,计算节点2,计算节点3的缓存目录下,均存在镜像文件的缓存文件,且命名和权限符合云计算平台对其的要求。当系统选取一个计算节点部署虚拟机时,该计算节点缓存目录下存在相应镜像文件的缓存,通过该镜像文件直接部署虚拟机。
部署虚拟机时,不再需要从控制节点下载镜像文件,大大缩短了虚拟机的部署时间。数据流如图6所示.
本发明中,共享存储的两个目录分别挂载在控制节点和计算节点中,分别记为目录A和目录B。控制节点使用目录A存放镜像文件。目录A和目录B在同一个文件系统,通过数据位置映射技术,使目录B与目录A指向储存器中的同一处资源。最终使得计算节点可以直接从目录B获取镜像文件,消除了镜像文件经业务网络传输的时间。极大提高了部署速度,适用于多台虚拟机同时部署的情形。
同时本发明将两个目录指向硬盘的同一位置,不占用额外的硬盘空间。与传统方案相比,存储空间节约了50%。
本发明未详细说明部分属本领域技术人员公知常识。
Claims (4)
1.一种虚拟机快速部署方法,其特征在于包括如下步骤:
步骤一:在存储服务器上创建两个目录:目录A和目录B,所述目录A用于控制节点存储镜像文件,目录B用于计算节点存储缓存;
步骤二:在存储服务器中搭建文件共享服务,将目录A和目录B共享出去;
步骤三:在各个控制节点上将存储服务器共享出来的目录A挂载到本机的镜像目录下;
步骤四:在各个计算节点上将存储服务器共享出来的目录B挂载到本机的缓存目录下;
步骤五:存储服务器对目录A下的镜像文件进行状态查询,对状态为“等待”或“保存”的镜像文件不做处理,对状态为“可用”的镜像文件进行数据位置映射处理,使目录B中的文件与目录A中的文件指向存储服务器中的同一硬盘位置;
步骤六:存储服务器目录A中镜像文件的名字存入变量ida,根据云计算平台对计算节点镜像缓存文件的命名规则进行计算,得到变量idb,在存储服务器中使用变量idb对目录B中的ida文件进行重命名;
步骤七:在存储服务器中更改目录B下文件的属主、属组和权限;
步骤八:当系统选取一个计算节点部署虚拟机时,该计算节点缓存目录下存在相应镜像文件的缓存,通过该镜像文件直接部署虚拟机。
2.根据权利要求1所述的一种虚拟机快速部署方法,其特征在于:对状态为“可用”的镜像文件进行数据位置映射处理的方法如下:
在目录B中创建新文件,修改目录B中文件的inode编号,使其与目录A中对应的镜像文件的inode编号相同;所述inode编号是文件在操作系统中的唯一标识,记录了文件所在的磁盘块信息。
3.根据权利要求1所述的一种虚拟机快速部署方法,其特征在于:在存储服务器中创建一个check文件,记录目录A与目录B下文件的对应信息;存储服务器实时检测目录A是否被修改,所述修改是指添加文件或有文件被删除,若有文件被删除,则根据check文件删除目录B下对应的文件,并更新check文件;若添加文件,则执行步骤五-步骤七,并更新check文件。
4.根据权利要求3所述的一种虚拟机快速部署方法,其特征在于:check文件内容包括目录A下文件的文件名、权限、属主和属组,与之相对应的目录B下文件的文件名、权限、属主和属组,以及文件同步时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261834.7A CN111158851B (zh) | 2019-12-10 | 2019-12-10 | 一种虚拟机快速部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261834.7A CN111158851B (zh) | 2019-12-10 | 2019-12-10 | 一种虚拟机快速部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111158851A CN111158851A (zh) | 2020-05-15 |
CN111158851B true CN111158851B (zh) | 2022-04-29 |
Family
ID=70556918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911261834.7A Active CN111158851B (zh) | 2019-12-10 | 2019-12-10 | 一种虚拟机快速部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158851B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363795B (zh) * | 2020-10-13 | 2021-11-26 | 南京赛宁信息技术有限公司 | 一种网络安全实训平台虚拟机快速启动方法与系统 |
CN113741908A (zh) * | 2021-08-25 | 2021-12-03 | 杭州安恒信息技术股份有限公司 | 高可用性部署方法、装置、电子装置和存储介质 |
CN114625486B (zh) * | 2022-05-12 | 2022-09-20 | 武汉四通信息服务有限公司 | Iso介质管理系统、方法、装置、信服易云及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738977B1 (en) * | 2000-05-31 | 2004-05-18 | International Business Machines Corporation | Class sharing between multiple virtual machines |
CN102307206A (zh) * | 2010-09-25 | 2012-01-04 | 广东电子工业研究院有限公司 | 基于云存储的快速访问虚拟机镜像的缓存系统及其方法 |
CN105335214A (zh) * | 2015-11-12 | 2016-02-17 | 国云科技股份有限公司 | 一种虚拟机故障检测和恢复的方法 |
CN109547537A (zh) * | 2018-11-05 | 2019-03-29 | 中国电子科技集团公司第二十八研究所 | 基于SAN存储共享卷实现openstack高可用的方法 |
CN110362381A (zh) * | 2019-06-21 | 2019-10-22 | 深圳市汇川技术股份有限公司 | Hdfs集群高可用部署方法、系统、设备及存储介质 |
-
2019
- 2019-12-10 CN CN201911261834.7A patent/CN111158851B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738977B1 (en) * | 2000-05-31 | 2004-05-18 | International Business Machines Corporation | Class sharing between multiple virtual machines |
CN102307206A (zh) * | 2010-09-25 | 2012-01-04 | 广东电子工业研究院有限公司 | 基于云存储的快速访问虚拟机镜像的缓存系统及其方法 |
CN105335214A (zh) * | 2015-11-12 | 2016-02-17 | 国云科技股份有限公司 | 一种虚拟机故障检测和恢复的方法 |
CN109547537A (zh) * | 2018-11-05 | 2019-03-29 | 中国电子科技集团公司第二十八研究所 | 基于SAN存储共享卷实现openstack高可用的方法 |
CN110362381A (zh) * | 2019-06-21 | 2019-10-22 | 深圳市汇川技术股份有限公司 | Hdfs集群高可用部署方法、系统、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Decentralized Deduplication in SAN Cluster File Systems;Clements A T等;《USENIX annual technical conference》;20091231;全文 * |
TDDS:基于虚拟集群系统的任务部署与调度;冯琳 等;《计算机研究与发展》;20130719;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111158851A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9195494B2 (en) | Hashing storage images of a virtual machine | |
US8510499B1 (en) | Solid state drive caching using memory structures to determine a storage space replacement candidate | |
US9348842B2 (en) | Virtualized data storage system optimizations | |
CN102667772B (zh) | 文件级分级存储管理系统、方法和设备 | |
CN111158851B (zh) | 一种虚拟机快速部署方法 | |
JP6607783B2 (ja) | 分散キャッシュクラスタ管理 | |
US8380815B2 (en) | Root node for file level virtualization | |
US20210344772A1 (en) | Distributed database systems including callback techniques for cache of same | |
US20160212203A1 (en) | Multi-site heat map management | |
US20130232215A1 (en) | Virtualized data storage system architecture using prefetching agent | |
CN111274310A (zh) | 一种分布式数据缓存方法及系统 | |
US11544812B2 (en) | Resiliency schemes for distributed storage systems | |
US11442897B2 (en) | Optimizing content storage through stubbing | |
CN111708719B (zh) | 计算机存储加速方法、电子设备及存储介质 | |
US20170351620A1 (en) | Caching Framework for Big-Data Engines in the Cloud | |
CN115344551A (zh) | 一种数据迁移的方法以及数据节点 | |
CN114270315A (zh) | 应用的水合 | |
WO2019153880A1 (zh) | 集群中镜像文件下载的方法、节点、查询服务器 | |
JP2012008854A (ja) | ストレージ仮想化装置 | |
CN114610680A (zh) | 分布式文件系统元数据管理方法、装置、设备及存储介质 | |
US10387384B1 (en) | Method and system for semantic metadata compression in a two-tier storage system using copy-on-write | |
US10628391B1 (en) | Method and system for reducing metadata overhead in a two-tier storage architecture | |
CN111966482B (zh) | 边缘计算系统 | |
CN117370295A (zh) | 一种文件拷贝方法、装置、服务器及存储介质 | |
CN117749809A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |