CN109491757A - 本地计算模式虚拟机的启动加速方法 - Google Patents
本地计算模式虚拟机的启动加速方法 Download PDFInfo
- Publication number
- CN109491757A CN109491757A CN201811183325.2A CN201811183325A CN109491757A CN 109491757 A CN109491757 A CN 109491757A CN 201811183325 A CN201811183325 A CN 201811183325A CN 109491757 A CN109491757 A CN 109491757A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- mirror image
- data area
- starting
- data
- 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.)
- Granted
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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- 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/45575—Starting, stopping, suspending or resuming 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)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种本地计算模式虚拟机的启动加速方法,服务器根据虚拟机的模板镜像生成最小启动镜像,将所述最小启动镜像分发到终端;当所述终端需要读取虚拟机镜像时,该终端从本地读取缓存的最小启动镜像。本发明通过本地缓存最小启动镜像并且读取,能够快速启动虚拟机并且能够有效缓解启动风暴。
Description
技术领域
本发明属于桌面虚拟化技术领域,具体涉及一种本地计算模式虚拟机的启动加速方法。
背景技术
传统的vdi虚拟桌面有几个缺点:高度依赖网络,网络质量不好会严重影响使用效果;性能不如物理桌面,不大适合有3D处理,高清视频需求的场景;服务器计算存储负载重,成本高。虚拟桌面的本地计算模式可以解决以上问题。本地计算模式不需要从服务器传输画面,不存在画面延迟;本地计算模式可使用显卡穿透技术,适用于3d处理,高清视频场景;本地计算模式使用终端的计算资源,不增加服务器负担。尽管本地计算模式也有移动性差、数据落地等缺陷,但它依然是云桌面的一种重要部署模式。
本地计算的虚拟机存储分为两种:一种是完全离线,即把虚拟机镜像整个下载到本地,优点是虚拟机运行不依赖于网络,缺点是镜像批量下载慢,同步慢;数据落地不安全;几乎没有移动性。另一种是虚拟机镜像依然在服务器上,终端通过网络访问虚拟机镜像。优点是移动性较好,数据不完全落地因此安全性较高,缺点是依然依赖于网络。
存储在服务器上,就同样会有vdi模式存储IO压力大的问题,当多个终端同时启动虚拟机时,容易引起启动风暴,虚拟机启动缓慢,甚至黑屏无法启动的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种本地计算模式虚拟机的启动加速方法。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供一种本地计算模式虚拟机的启动加速方法,该方法为:服务器根据虚拟机的模板镜像生成最小启动镜像,将所述最小启动镜像分发到终端;当所述终端需要读取虚拟机镜像时,该终端从本地读取缓存的最小启动镜像。
上述方案中,所述服务器根据虚拟机的模板镜像生成最小启动镜像,具体为:所述服务器根据虚拟机的模板镜像启动虚拟机,根据启动数据中不变化数据区域删除模板镜像中不变化数据区域之外的数据获得最小启动镜像。
上述方案中,所述启动数据中不变化数据区域,具体为:所述服务器根据虚拟机的模板镜像启动虚拟机,在虚拟机运行过程中,确定虚拟磁盘的读入数据区域和写入数据区域,所述虚拟磁盘的读入数据区域和写入数据区域的差集即为启动数据中不变化数据区域。
上述方案中,所述启动数据中不变化数据区域,具体为:所述服务器根据虚拟机的模板镜像多次启动虚拟机,在每次虚拟机运行过程中分别确定虚拟磁盘的读入数据区域和写入数据区域,每次启动的虚拟磁盘的读入数据区域和写入数据区域的差集获得每次启动数据中不变化数据区域,将所有启动数据中不变化数据区域的交集即为启动数据中不变化数据区域。
上述方案中,所述启动数据中不变化数据区域,具体为:所述服务器根据虚拟机的模板镜像以不同的配置参数启动虚拟机,在每次虚拟机运行过程中分别确定虚拟磁盘的读入数据区域和写入数据区域,每次启动的虚拟磁盘的读入数据区域和写入数据区域的差集获得每次启动数据中不变化数据区域,将所有启动数据中不变化数据区域的并集即为启动数据中不变化数据区域。
上述方案中,所述服务器根据虚拟机的模板镜像生成最小启动镜像之后,该方法还包括,将该模板镜像设置为最小启动镜像的差分镜像。
上述方案中,所述当所述终端需要读取虚拟机镜像时,该终端从本地读取缓存的最小启动镜像,具体为:所述终端读取虚拟机镜像时,同时打开虚拟机镜像、模板镜像、最小启动镜像,并且依次查找需要读取的镜像并且启动。
与现有技术相比,本发明通过本地缓存最小启动镜像并且读取,能够快速启动虚拟机并且能够有效缓解启动风暴。
附图说明
图1为本发明实施例提供一种本地计算模式虚拟机的启动加速方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种本地计算模式虚拟机的启动加速方法,如图1所示,该方法通过以下步骤实现:
步骤101:服务器根据虚拟机的模板镜像生成最小启动镜像;
具体地,所述模板镜像包含操作系统和常用软件;用户虚拟机镜像是基于模板镜像创建出来的差分镜像。
所述最小启动镜像仅包含虚拟机每次启动需要读取的不变化数据的虚拟机镜像;最小启动镜像的数据是从模板镜像数据中提取的,最小启动镜像可用于虚拟机启动时缓存加速。
所述服务器根据虚拟机的模板镜像启动虚拟机,根据启动数据中不变化数据区域删除模板镜像中不变化数据区域之外的数据获得最小启动镜像。
所述服务器根据虚拟机的模板镜像启动虚拟机,在虚拟机运行过程中,确定虚拟磁盘的读入数据区域和写入数据区域,所述虚拟磁盘的读入数据区域和写入数据区域的差集即为启动数据中不变化数据区域。
所述读入数据区域记为read_list,所述写入数据区域记为write_list;启动数据中不变化数据区域记为boot_list=read_list-write_list。
read_list是虚拟机运行时读的数据,因为虚拟机启动到桌面就关闭了,read_list可以认为是启动数据。write_list是写的数据,写数据说明这些数据是易变的。read_list要去掉易变数据,就可以认为是启动数据中不变化数据区域。
根据实际使用场景,可能需要不同的优化:第一种是尽量减少最小启动镜像的体积,以便于文件分发;第二种是适量增大最小启动镜像的体积,以增强加速效果。
以第一种是尽量减少最小启动镜像的体积为例,所述服务器根据虚拟机的模板镜像多次启动虚拟机,在每次虚拟机运行过程中分别确定虚拟磁盘的读入数据区域和写入数据区域,每次启动的虚拟磁盘的读入数据区域和写入数据区域的差集获得每次启动数据中不变化数据区域,将所有启动数据中不变化数据区域的交集即为启动数据中不变化数据区域,这样,能够更准确地判断启动数据哪部分是不变化的。
以第二种是适量增大最小启动镜像的体积为例,所述服务器根据虚拟机的模板镜像以不同的配置参数启动虚拟机,在每次虚拟机运行过程中分别确定虚拟磁盘的读入数据区域和写入数据区域,每次启动的虚拟磁盘的读入数据区域和写入数据区域的差集获得每次启动数据中不变化数据区域,将所有启动数据中不变化数据区域的并集即为启动数据中不变化数据区域,这样,能够使boot_list中包含常用的驱动数据,提高缓存命中率。
所述服务器根据虚拟机的模板镜像生成最小启动镜像之后,该方法还包括,在模板镜像中,删除与最小启动镜像重复的数据,将该模板镜像设置为最小启动镜像的差分镜像,这样,终端在读取模板镜像数据时,就可以识别出读取的数据是否在最小启动镜像中。
步骤102:将所述最小启动镜像分发到终端;
具体地,可以通过各种文件批量分发方法,把最小启动镜像分发到终端使用,也能够避免第一次启动时启动风暴的问题。
当然,也可以终端出厂安装时就自带最小启动镜像;也可以服务器通过p2p或组播等分发最小启动镜像分发到终端。
步骤103:当所述终端需要读取虚拟机镜像时,该终端从本地读取缓存的最小启动镜像。
具体地,所述终端读取虚拟机镜像时,同时打开虚拟机镜像、模板镜像、最小启动镜像,并且依次查找需要读取的镜像并且启动。
所述虚拟机镜像中会记录模板镜像的文件名,模板镜像中会记录最小启动镜像的文件名。
假设终端要读取一个数据块,那么优先从虚拟机镜像找,找不到就到模板镜像找,还找不到就从最小启动镜像找;如果最终也找不到就属于异常情况了,说明这块数据未初始化过,一般是返回以零填充的数据。
由于最小启动镜像是模板镜像的一部分,缓存最小启动镜像能达到的效果也可以通过缓存整个模板镜像来达到;但最小启动镜像远比模板镜像小。以win7为例,最小启动镜像约400MB,模板镜像一般超过10G。
最小启动镜像文件小,分发速度及存储资源占用方面有很大优势;最小启动镜像文件可以预装到终端系统中,但模板镜像预装就不大可能(计算模式终端一般使用4G到8G的SSD)。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (7)
1.一种本地计算模式虚拟机的启动加速方法,其特征在于,该方法为:服务器根据虚拟机的模板镜像生成最小启动镜像,将所述最小启动镜像分发到终端;当所述终端需要读取虚拟机镜像时,该终端从本地读取缓存的最小启动镜像。
2.根据权利要求1所述的本地计算模式虚拟机的启动加速方法,其特征在于,所述服务器根据虚拟机的模板镜像生成最小启动镜像,具体为:所述服务器根据虚拟机的模板镜像启动虚拟机,根据启动数据中不变化数据区域删除模板镜像中不变化数据区域之外的数据获得最小启动镜像。
3.根据权利要求2所述的本地计算模式虚拟机的启动加速方法,其特征在于,所述启动数据中不变化数据区域,具体为:所述服务器根据虚拟机的模板镜像启动虚拟机,在虚拟机运行过程中,确定虚拟磁盘的读入数据区域和写入数据区域,所述虚拟磁盘的读入数据区域和写入数据区域的差集即为启动数据中不变化数据区域。
4.根据权利要求3所述的本地计算模式虚拟机的启动加速方法,其特征在于,所述启动数据中不变化数据区域,具体为:所述服务器根据虚拟机的模板镜像多次启动虚拟机,在每次虚拟机运行过程中分别确定虚拟磁盘的读入数据区域和写入数据区域,每次启动的虚拟磁盘的读入数据区域和写入数据区域的差集获得每次启动数据中不变化数据区域,将所有启动数据中不变化数据区域的交集即为启动数据中不变化数据区域。
5.根据权利要求3所述的本地计算模式虚拟机的启动加速方法,其特征在于,所述启动数据中不变化数据区域,具体为:所述服务器根据虚拟机的模板镜像以不同的配置参数启动虚拟机,在每次虚拟机运行过程中分别确定虚拟磁盘的读入数据区域和写入数据区域,每次启动的虚拟磁盘的读入数据区域和写入数据区域的差集获得每次启动数据中不变化数据区域,将所有启动数据中不变化数据区域的并集即为启动数据中不变化数据区域。
6.根据权利要求1-5任意一项所述的本地计算模式虚拟机的启动加速方法,其特征在于,所述服务器根据虚拟机的模板镜像生成最小启动镜像之后,该方法还包括,在模板镜像中删除与最小启动镜像重复的数据,将该模板镜像设置为最小启动镜像的差分镜像。
7.根据权利要求6所述的本地计算模式虚拟机的启动加速方法,其特征在于,所述当所述终端需要读取虚拟机镜像时,该终端从本地读取缓存的最小启动镜像,具体为:所述终端读取虚拟机镜像时,同时打开虚拟机镜像、模板镜像、最小启动镜像,并且依次查找需要读取的镜像并且启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811183325.2A CN109491757B (zh) | 2018-10-11 | 2018-10-11 | 本地计算模式虚拟机的启动加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811183325.2A CN109491757B (zh) | 2018-10-11 | 2018-10-11 | 本地计算模式虚拟机的启动加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109491757A true CN109491757A (zh) | 2019-03-19 |
CN109491757B CN109491757B (zh) | 2022-03-15 |
Family
ID=65690231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811183325.2A Active CN109491757B (zh) | 2018-10-11 | 2018-10-11 | 本地计算模式虚拟机的启动加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491757B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147266A (zh) * | 2019-04-29 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 虚拟机启动方法和装置、存储介质及电子装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088699A1 (en) * | 2007-03-27 | 2010-04-08 | Takayuki Sasaki | Virtual machine operation system, virtual machine operation method and program |
CN102521016A (zh) * | 2011-12-08 | 2012-06-27 | 中兴通讯股份有限公司 | 一种运行多个虚拟机的方法及系统 |
CN105677256A (zh) * | 2016-01-08 | 2016-06-15 | 中电科华云信息技术有限公司 | 基于本地缓存的虚拟磁盘系统及调度方法 |
CN105718280A (zh) * | 2015-06-24 | 2016-06-29 | 乐视云计算有限公司 | 一种加速虚拟机io的方法和管理平台 |
CN108287733A (zh) * | 2017-12-19 | 2018-07-17 | 广东睿江云计算股份有限公司 | 一种虚拟机加载启动方法 |
CN108475201A (zh) * | 2016-11-24 | 2018-08-31 | 华为技术有限公司 | 一种虚拟机启动过程中的数据获取方法和云计算系统 |
-
2018
- 2018-10-11 CN CN201811183325.2A patent/CN109491757B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088699A1 (en) * | 2007-03-27 | 2010-04-08 | Takayuki Sasaki | Virtual machine operation system, virtual machine operation method and program |
CN102521016A (zh) * | 2011-12-08 | 2012-06-27 | 中兴通讯股份有限公司 | 一种运行多个虚拟机的方法及系统 |
CN105718280A (zh) * | 2015-06-24 | 2016-06-29 | 乐视云计算有限公司 | 一种加速虚拟机io的方法和管理平台 |
CN105677256A (zh) * | 2016-01-08 | 2016-06-15 | 中电科华云信息技术有限公司 | 基于本地缓存的虚拟磁盘系统及调度方法 |
CN108475201A (zh) * | 2016-11-24 | 2018-08-31 | 华为技术有限公司 | 一种虚拟机启动过程中的数据获取方法和云计算系统 |
CN108287733A (zh) * | 2017-12-19 | 2018-07-17 | 广东睿江云计算股份有限公司 | 一种虚拟机加载启动方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147266A (zh) * | 2019-04-29 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 虚拟机启动方法和装置、存储介质及电子装置 |
CN110147266B (zh) * | 2019-04-29 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 虚拟机启动方法和装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109491757B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11409712B2 (en) | Small-file storage optimization system based on virtual file system in KUBERNETES user-mode application | |
CN104580439B (zh) | 一种云存储系统中使数据均匀分布的方法 | |
CN104572656B (zh) | 一种磁盘镜像空间回收的方法及装置 | |
CN111488198B (zh) | 一种超融合环境下的虚拟机调度方法、系统及介质 | |
US20170329530A1 (en) | De-duplication of client-side data cache for virtual disks | |
CN109714229B (zh) | 一种分布式存储系统的性能瓶颈定位方法 | |
CN103530388A (zh) | 一种云存储系统中提升性能的数据处理方法 | |
CN104111804A (zh) | 一种分布式文件系统 | |
TW201826225A (zh) | 基於增強現實的圖像識別方法及裝置 | |
CN106933868A (zh) | 一种调整数据分片分布的方法及数据服务器 | |
JP7490082B2 (ja) | 画像検出方法、装置、コンピュータプログラム及びコンピュータ機器 | |
US20220284377A1 (en) | Method and apparatus for task group positioning | |
US20130138736A1 (en) | Multimedia file sharing method and system thereof | |
US11474715B2 (en) | Storage system configuration change tracking for root cause/troubleshooting | |
JP2012238125A (ja) | データの保存を制御する装置及び方法 | |
CN110908965A (zh) | 一种对象存储管理方法、装置、设备及存储介质 | |
CN108228108B (zh) | 一种差分虚拟磁盘链接方法 | |
CN109491757A (zh) | 本地计算模式虚拟机的启动加速方法 | |
KR102313339B1 (ko) | 영상 검색 장치 및 그것의 영상 수집 방법 | |
CN108475201A (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
CN110515908B (zh) | 一种照片直播系统及其方法 | |
CN112214279A (zh) | 一种基于磁盘镜像创建虚拟机的方法及系统 | |
US8943019B1 (en) | Lookup optimization during online file system migration | |
US11644998B2 (en) | Server and method for managing distributed storage | |
WO2017088382A1 (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 |