CN103685408A - 以存储区域网络提供读取基础镜像的服务器、主机及方法 - Google Patents
以存储区域网络提供读取基础镜像的服务器、主机及方法 Download PDFInfo
- Publication number
- CN103685408A CN103685408A CN201210348063.7A CN201210348063A CN103685408A CN 103685408 A CN103685408 A CN 103685408A CN 201210348063 A CN201210348063 A CN 201210348063A CN 103685408 A CN103685408 A CN 103685408A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- virtual machine
- virtual hard
- virtual
- document
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种以存储区域网络提供读取基础镜像的服务器、主机及方法,其通过主机通过存储区域网络在存储服务器中建立父虚拟硬盘文档,并以父虚拟硬盘文档为基础镜像在本地磁盘中建立差异虚拟硬盘文档,当主机所执行的虚拟机挂载差异虚拟硬盘文档后,虚拟机执行目标程序时,服务主机通过存储区域网络读取父虚拟硬盘文档中的原始数据,并在本地磁盘的差异虚拟硬盘文档中存取目标程序所产生的差异数据的技术手段,可以将基础镜像与差异硬盘设置在不同装置,并达成提高存储服务器的存取效能与增加所支持的虚拟机数的技术效果。
Description
技术领域
本发明涉及一种提供读取基础镜像的服务器、主机及方法,尤其涉及一种以存储区域网络提供虚拟机读取基础镜像的服务器、主机及其方法。
背景技术
由于从事相同工作的用户通常使用完全相同的操作环境,为了统一管理的便利性,以及避免需要为每一位用户个别安装操作系统以及应用程序,目前大都是使用虚拟机(Virtual Machine,VM)的解决方案,其中,管理者会先安装一份初始的操作环境,并将安装好的操作环境作为各用户所使用的虚拟机的基础镜像(Base Image),使虚拟机挂载依据基础镜像所建立出来的差异硬盘。这样,所有的虚拟机都共用基础镜像中的操作系统以及应用程序,而后,在虚拟机运行时,所产生的差异数据则会被储存在虚拟机所挂载的差异硬盘中,这表示差异硬盘的存取将可能非常频繁。
目前常见的系统大都是将共用的基础镜像以及虚拟机独自存取的差异硬盘设置在远程的存储服务器上,虚拟机会由设置在存储服务器中的基础镜像以及差异硬盘中存取数据,这样,所有的虚拟机在进行数据存取时,存取负载都集中在存储服务器上,这对存储服务器而言,存取负载相当的高,造成存取效能的低下,同时,存储服务器也需要大量的存储空间来储存多个差异硬盘,此外,执行虚拟机的主机要不断的通过网络传送接收数据,对网络资源的消耗也非常大。因此,目前也有的系统是将基础镜像以及差异硬盘都设置在同一主机上,这样的设置方式虽然可以减少网络资源的消耗,但存取负载仍然都集中在主机,存取效能依然无法提高,且基础镜像往往无法共用。
综上所述,可知现有技术中长期以来一直存在基础镜像与差异硬盘设置在同一装置容易造成存取效能低下的问题,因此有必要提出改进的技术手段,来解决这一问题。
发明内容
有鉴于现有技术存在基础镜像与差异硬盘设置在同一装置容易造成存取效能低下的问题,本发明遂揭露一种以存储区域网络(Storage Area Network,SAN)提供读取基础镜像的服务器、主机及方法,其中:
本发明所揭露的以存储区域网络提供读取基础镜像的服务器,至少包含:存储介质,用以储存父虚拟硬盘(Parent Virtual Hard Disk,Parent VHD)文档,父虚拟硬盘文档中包含目标程序;目标模块(target),用以提供主机(Host)通过存储区域网络挂载(mount)存储介质为远程磁盘,由此使主机以父虚拟硬盘文档为基础镜像建立差异虚拟硬盘(Different VHD)文档,及用以在主机所执行的虚拟机通过相对应的差异虚拟硬盘文档执行目标程序时,传送目标程序至主机。
本发明所揭露的以存储区域网络提供读取基础镜像的主机,至少包含:启动模块(initiator),用以通过存储区域网络挂载存储服务器的存储介质为远程磁盘,该存储介质中储存父虚拟硬盘文档,父虚拟硬盘文档中包含目标程序,及用以下载目标程序;本地磁盘,用以储存差异虚拟硬盘文档,各差异虚拟硬盘文档以父虚拟硬盘文档为基础镜像所建立;虚拟机处理模块,用以执行与各差异虚拟硬盘文档对应的虚拟机,使虚拟机执行目标程序,及用以在虚拟机读取目标程序的相关数据时,由与虚拟机对应的差异虚拟硬盘文档中读取相关数据,并在目标程序储存所产生的差异数据时,将差异数据储存至与虚拟机对应的差异虚拟硬盘文档中。
本发明所揭露的以存储区域网络提供读取基础镜像的方法,其步骤至少包括:主机通过存储区域网络挂载存储服务器为远程磁盘;设定主机在远程磁盘中建立父虚拟硬盘文档;服务主机以父虚拟硬盘文档为基础镜像,在服务主机的本地磁盘中建立差异虚拟硬盘文档;服务主机执行与差异虚拟硬盘文档对应的虚拟机;虚拟机挂载相对应的差异虚拟硬盘文档;虚拟机通过相对应的差异虚拟硬盘文档执行父虚拟硬盘文档中的目标程序;当虚拟机读取目标程序的相关数据时,服务主机由与虚拟机对应的差异虚拟硬盘文档中读取相关数据;当目标程序存取所产生的差异数据时,服务主机至与虚拟机对应的差异虚拟硬盘文档中存取差异数据。
本发明所揭露的系统与方法如上,与现有技术之间的差异在于本发明的主机通过存储区域网络在存储服务器中建立父虚拟硬盘文档,并以父虚拟硬盘文档为基础镜像在本地磁盘中建立差异虚拟硬盘文档,当主机所执行的虚拟机挂载差异虚拟硬盘文档后,虚拟机执行目标程序时,服务主机通过存储区域网络读取父虚拟硬盘文档中的原始数据,并在本地磁盘的差异虚拟硬盘文档中存取目标程序所产生的差异数据,由此解决现有技术所存在的问题,并可以达成提高存储服务器的存取效能并增加存储服务器所支持的虚拟机数的技术效果。
附图说明
图1为本发明所述的以存储区域网络提供读取基础镜像的服务器元件示意图。
图2为本发明所述的以存储区域网络提供读取基础镜像的主机元件示意图。
图3A为本发明所述的以存储区域网络提供读取基础镜像的方法流程图。
图3B为本发明所述的建立父虚拟硬盘文档的详细方法流程图。
图3C为本发明所述的另一种建立父虚拟硬盘文档的详细方法流程图。
图3D为本发明所述的设定初始环境的详细方法流程图。
图3E为本发明所述的结合主机缓存下载目标程序的方法流程图。
图3F为本发明所述的结合服务缓存读取目标程序的方法流程图。
主要部件附图标记:
100存储服务器
110存储介质
111父虚拟硬盘文档
130目标模块
150服务缓存
200主机
210启动模块
230本地磁盘
231差异虚拟硬盘文档
250虚拟机处理模块
251虚拟机
270主机缓存
步骤310主机通过存储区域网络挂载存储服务器为远程磁盘
步骤320设定主机在远程磁盘中建立父虚拟硬盘文档
步骤321a设定主机在本地磁盘上产生临时虚拟硬盘文档
步骤321b设定主机在本地磁盘上产生父虚拟硬盘文档
步骤322设定主机执行虚拟机
步骤323a虚拟机挂载临时虚拟硬盘文档
步骤323b虚拟机挂载父虚拟硬盘文档
步骤325虚拟机安装目标程序
步骤326a设定主机储存目标程序至临时虚拟硬盘文档中
步骤326b设定主机储存目标程序至父虚拟硬盘文档中
步骤327a设定主机在临时虚拟硬盘文档中建立代理程序
步骤327b设定主机在父虚拟硬盘文档中建立代理程序
步骤328虚拟机结束执行或卸载临时虚拟硬盘文档
步骤329设定主机复制临时虚拟硬盘文档至远程磁盘为父虚拟硬盘文档
步骤330服务主机以父虚拟硬盘文档为基础镜像,在服务主机的本地磁盘中建立差异虚拟硬盘文档
步骤340服务主机写入相关数据至差异虚拟硬盘文档中
步骤352服务主机执行与差异虚拟硬盘文档对应的虚拟机
步骤356虚拟机挂载相对应的差异虚拟硬盘文档
步骤361虚拟机执行父虚拟硬盘文档中的代理程序
步骤363代理程序依据相关数据设定虚拟机及/或目标程序的初始环境
步骤370虚拟机通过相对应的差异虚拟硬盘文档执行父虚拟硬盘文档中的目标程序
步骤371虚拟机读取目标程序
步骤372服务主机判断目标程序的存储区块是否储存于主机缓存中
步骤373服务主机由主机缓存读取存储区块
步骤375服务主机至存储服务器下载未储存于主机缓存中的存储区块
步骤376服务主机储存所下载的存储区块至主机缓存中
步骤377服务主机组合存储区块为目标程序
步骤378虚拟机执行目标程序
步骤381存储服务器接收与目标程序的存储区块对应的下载请求
步骤382存储服务器判断目标程序的存储区块是否储存在存储服务器的服务缓存中
步骤383存储服务器由服务缓存中读取存储区块
步骤384存储服务器由存储介质中读取存储区块
步骤385存储服务器储存存储区块至服务缓存中
步骤386存储服务器传回存储区块
步骤392当虚拟机读取目标程序的相关数据时,服务主机由与虚拟机对应的差异虚拟硬盘文档中读取相关数据
步骤396当目标程序存取所产生的差异数据时,服务主机至与虚拟机对应的差异虚拟硬盘文档中存取差异数据
具体实施方式
以下将结合附图及实施例来详细说明本发明的特征与实施方式,内容足以使任何本领域技术人员能够轻易地充分理解本发明解决技术问题所应用的技术手段并据以实施,由此实现本发明可达成的技术效果。
本发明可以将作为基础镜像的父虚拟硬盘文档设置在存储服务器,并将差异虚拟硬盘文档设置在主机,使执行于主机中的虚拟机共享同一份基础镜像,而虚拟机在运作时所产生的差异数据则储存在差异虚拟硬盘文档中,可以减低存储服务器的数据存取(I/O)负载。
其中,存储服务器还可以包含服务缓存(Cache),主机也可以包含主机缓存,通过服务缓存及/或主机缓存,可以提高主机存取基础镜像的速度,且主机缓存还可以减少主机存取基础镜像的网络流量。
以下先说明本发明的系统运作。本发明的系统含有至少一个存储服务器以及一个或多个主机。其中,特别值得一提的是,在本发明中,主机的数量通常会依据本发明的系统的用户决定,越多的用户往往会有越多的主机200,而存储服务器100的数量则通常是依据主机200的数量决定,当所有主机200在正常运作时,若各个存储服务器100的存取效能或网络负载都达到一定比例,则在需要新增主机的情况下,通常也需要增加存储服务器100,使得存储服务器100的存取效能或网络负载不因此降低,进而影响各个主机的数据存取效能。
请先参照图1本发明所述的以存储区域网络提供读取基础镜像的服务器元件示意图所示,存储服务器100还包含存储介质110、目标模块130、以及可附加的服务缓存150。
存储介质110负责储存父虚拟硬盘文档111。存储介质110通常为能够不按顺序随机存取(random access)固定大小的数据块(chunk)的区块设备(blockdevice),例如,硬盘、光盘等,但本发明没有特别的限制。
存储介质110所储存的父虚拟硬盘文档111在本发明中为只读(read only)的文档。父虚拟硬盘文档111通常包含由主机200所安装的目标程序,但本发明并不以此为限,在部分的实施例中,存储介质110所储存的父虚拟硬盘文档可以尚未安装目标程序。其中,本发明所述的目标程序包含操作系统、应用软件等可在虚拟机中运行的程序,但本发明并不以上述为限。
目标模块130提供主机200通过存储区域网络与存储服务器100连接,负责提供主机200挂载存储介质110,使得存储介质110成为主机200的远程磁盘。
目标模块130也负责由存储介质110中读出父虚拟硬盘文档111所包含的目标程序,并传送目标程序至主机200,使得在主机200中运行的虚拟机可以执行目标程序。其中,特别值得一提的是,若存储介质110为区块设备,则目标程序可能被储存在一个至多个存储区块中,目标模块130会读取目标程序的各个存储区块,并分别传送至主机200。
服务缓存150为可附加在存储服务器100中的存储元件,通常为读取速度比存储介质110更快的存储设备,例如随机存取存储器(Random AccessMemory,RAM)、闪存(Flash)等,但服务缓存150并不以此为限。
服务缓存150负责储存目标模块130由存储介质110中所读出的目标程序,使目标模块130可以在需要再次至存储介质110中读取目标程序时,先判断服务缓存150中是否储存目标程序,若服务缓存150中已储存目标程序,则由服务缓存150读取目标程序,若服务缓存150中没有储存目标程序,则目标模块130仍然会由存储介质110中读取目标程序,并在读出目标程序后,将所读出的目标程序储存至服务缓存150中。
另外,若存储介质110为区块设备时,服务缓存150中可能不会储存完整的目标程序,也就是服务缓存150中可能不会储存包含目标程序的所有存储区块,而是可能仅储存包含目标程序的部分存储区块。这样,目标模块130在需要再次读取目标程序时,会先判断服务缓存150中是否储存包含目标程序的存储区块,若服务缓存150中储存了包含目标程序的一个或多个存储区块,则目标模块130会由服务缓存150中读取储存在服务缓存150中的包含目标程序的各个存储区块,并由存储介质110中读取没有储存在服务缓存150中的包含目标程序的其他存储区块,以及将由存储介质110中所读出的存储区块储存在服务缓存150中,并分别将包含目标程序的所有存储区块传送至主机200。
接着请参照图2本发明所述的以存储区域网络提供读取基础镜像的主机内部示意图所示,主机200还包含启动模块210、本地磁盘230、虚拟机处理模块250以及可附加的主机缓存270。
启动模块210负责通过存储区域网络与存储服务器100连接,并挂载存储服务器100的存储介质110,使存储介质110成为主机200的远程磁盘。启动模块210也负责至存储服务器100下载存储介质110所储存的父虚拟硬盘文档111中的目标程序。
本地磁盘230负责储存差异虚拟硬盘文档231。本地磁盘230与存储服务器100的存储介质110相似,通常也是区块设备,但本地磁盘230并不以此为限。
本地磁盘230所储存的差异虚拟硬盘文档231是以父虚拟硬盘文档111为基础镜像所建立,而每个主机200的本地磁盘230可以储存一个或多个差异虚拟硬盘文档231。
值得一提的是,由于父虚拟硬盘文档111为只读文档,因此,因为需要对父虚拟硬盘文档111中的内容进行新增、修改、删除等写入操作后所产生的数据会被储存在差异虚拟硬盘文档231中(所产生的数据即为本发明所述的“差异数据”)。其中,若本地磁盘230为区块设备,则差异虚拟硬盘文档231中会储存父虚拟硬盘文档111中产生变化的存储区块,也就是说,包含差异数据的存储区块会被储存到差异虚拟硬盘文档231中。
虚拟机处理模块250通常包含处理器(processor)以及存储器(memory),但虚拟机处理模块250并不以此为限。
虚拟机处理模块250负责执行虚拟机251。每个主机200的虚拟机处理模块250可以执行一个或多个虚拟机,但本发明并没有特别的限制。在部分的实施例中,虚拟机处理模块250所执行的虚拟机251与本地磁盘230所储存的差异虚拟硬盘文档231具有一对一的对应关系。
当虚拟机处理模块250执行虚拟机251时,虚拟机251会挂载相对应的差异虚拟硬盘文档231,而后会执行差异虚拟硬盘文档231中的目标程序。在虚拟机251执行目标程序时,虚拟机251或被执行的目标程序可能会需要读取目标程序的设定文档、动态连结文档、数据文档等相关数据(但本发明并不以此为限),此时,若目标程序的相关数据为父虚拟硬盘文档111中的原始数据,且相关数据的内容并没有因为经过写入操作而产生变化,如设定文档、动态连结文档等,则虚拟机处理模块250会通过启动模块210至存储服务器100的存储介质110中读取目标程序的相关数据,而若目标程序的相关数据经过新增、修改、删除等写入操作而成为产生变化的差异数据,如设定文档、数据文档等,则表示产生变化的相关数据被储存在与被执行的虚拟机251对应的差异虚拟硬盘文档231中,因此,虚拟机处理模块250会由与被执行的虚拟机251对应的差异虚拟硬盘文档231中读取目标程序的相关数据。另外,在虚拟机251执行目标程序时,虚拟机251或被执行的目标程序也可能会需要进行写入操作而产生差异数据,如暂存文档、缓存等,虚拟机处理模块250会将被产生的差异数据储存到与被执行的虚拟机251对应的差异虚拟硬盘文档231中。
另外,由于虚拟机与一般电脑相同,也需要安装有操作系统以及应用程序等目标程序才能够运作,因此,虚拟机处理模块250还可以提供虚拟机251安装操作系统以及应用程序等目标程序。
虚拟机处理模块250可以在本地磁盘230上产生没有任何数据的临时虚拟硬盘文档(图中未示出),并执行虚拟机。虚拟机在被执行后,会挂载虚拟机处理模块250所产生的临时虚拟硬盘文档为虚拟机中的磁盘,并格式化该磁盘。在虚拟机安装目标程序时,虚拟机处理模块250会将虚拟机安装的目标程序储存到所产生的临时虚拟硬盘文档中,并在虚拟机完成目标程序的安装后,在虚拟机所安装的操作系统(也就是临时虚拟硬盘文档)中建立代理程序(agent),而后,在虚拟机处理模块250结束执行虚拟机或虚拟机卸载(unmount)虚拟机处理模块250所产生的临时虚拟硬盘文档时,虚拟机处理模块250会将包含目标程序以及代理程序的虚拟硬盘文档复制到主机200的远程磁盘中,也就是复制到存储服务器100的存储介质110中,这样,被虚拟机处理模块250复制到主机200的远程磁盘中的临时虚拟硬盘文档即为本发明所述的父虚拟硬盘文档111。
实际上,虚拟机处理模块250提供虚拟机安装目标程序以建立父虚拟硬盘文档111的方式并不以上述为限,虚拟机处理模块250也可以通过设定主机的启动模块210,直接在主机200的远程磁盘(存储服务器100的存储介质110)上产生父虚拟硬盘文档111,而后,虚拟机处理模块250会与上述相同的,执行虚拟机,并在虚拟机安装目标程序时,将虚拟机安装的目标程序储存到所产生的父虚拟硬盘文档111中,并在虚拟机完成目标程序的安装后,在虚拟机所安装的操作系统(也就是父虚拟硬盘文档111)中建立代理程序,这样,父虚拟硬盘文档111便会包含目标程序与代理程序。
在虚拟机处理模块250建立父虚拟硬盘文档111后,可以在本地磁盘230中依据父虚拟硬盘文档111建立差异虚拟硬盘文档231,并挂载所建立的差异虚拟硬盘文档231,由此将目标程序的相关数据写入差异虚拟硬盘文档231中。这样,在虚拟机处理模块250执行与所建立的差异虚拟硬盘文档231对应的新的虚拟机时,新的虚拟机会先执行父虚拟硬盘文档111中的代理程序,代理程序被虚拟机执行后,会依据差异虚拟硬盘文档231中的相关数据设定新的虚拟机的初始环境,使得新的虚拟机的操作系统与应用程序等目标程序可以正常运作。
主机缓存270为可附加在主机200中的存储元件,例如,闪存、随机存取存储器等,但主机缓存270并不以此为限。一般而言,主机缓存270的存取速度会优于本地磁盘230,但本发明并没有特别的限制。
主机缓存270负责储存启动模块210至存储服务器100所下载的目标程序,使启动模块210可以在再次需要至存储服务器100中下载目标程序时,先判断主机缓存270中是否储存目标程序,若主机缓存270中已储存目标程序,则启动模块210将由主机缓存270中读取目标程序,若主机缓存270中尚未储存目标程序,则启动模块210才会由存储服务器100中下载目标程序,并在下载目标程序后,将所下载的目标程序储存到主机缓存270中。
另外,若存储服务器100的存储介质110与本地磁盘230都为区块设备时,主机缓存270中可能不会储存完整的目标程序,也就是主机缓存270中可能不会储存包含目标程序的所有存储区块,而是可能仅储存包含目标程序的部分存储区块。这样,启动模块210在需要再次读取目标程序时,会先判断主机缓存270中是否储存包含目标程序的存储区块,若主机缓存270中储存了包含目标程序的一个或多个存储区块,则启动模块210会由主机缓存270中读取被储存在主机缓存270中的包含目标程序的各个存储区块,并至由存储服务器100下载没有被储存在主机缓存270中的包含目标程序的其他存储区块,并储存到主机缓存270中。
接着以一个实施例来解说本发明的运作系统与方法,并请参照图3A本发明所述的以存储区域网络提供读取基础镜像的方法流程图。假设在本实施例中,包含一个存储服务器100以及至少一个主机200,其中,存储服务器100与主机200都支持本发明。另外,在主机200的数量过多时,本发明中也可以包含两个或两个以上的存储服务器100。
若存储服务器100的存储介质110中尚未储存可以作为基础镜像的父虚拟硬盘文档111,则管理员需要先建立可以作为基础镜像的父虚拟硬盘文档111。这样,表示管理员需要操作其中一台主机200,由此建立可以作为基础镜像的父虚拟硬盘文档111,其中,被管理员操作来建立可以作为基础镜像的父虚拟硬盘文档111的主机200在本发明中被称为“设定主机”。
首先,设定主机中的启动模块210可以通过存储区域网络挂载存储服务器100的存储介质110为设定主机的远程磁盘(步骤310),而后,设定主机的虚拟机处理模块250可以在远程磁盘中建立可以作为基础镜像的父虚拟硬盘文档111(步骤320)。
在本实施例中,假设设定主机的虚拟机处理模块250可以如图3B的流程所示,在设定主机的本地磁盘230上产生临时虚拟硬盘文档(步骤321a),并执行虚拟机(步骤322)。
在虚拟机被虚拟机处理模块250执行后,虚拟机可以挂载本地磁盘230上的临时虚拟硬盘文档(步骤323a)。之后,管理员可以通过设定主机,在虚拟机中安装操作系统以及应用程序等目标程序。
在虚拟机安装目标程序(步骤325)时,设定主机的虚拟机处理模块250可以将虚拟机所安装的目标程序储存到本地磁盘230上的临时虚拟硬盘文档中(步骤326a),并可以在虚拟机完成目标程序的安装后,在储存目标程序的临时虚拟硬盘文档中建立代理程序(步骤327a)。最后,在虚拟机被虚拟机处理模块250结束执行,或虚拟机卸载该虚拟硬盘文档(步骤328a)时,虚拟机处理模块250可以将包含目标程序以及代理程序的临时虚拟硬盘文档由设定主机的本地磁盘230复制到设定主机的远程磁盘,成为父虚拟硬盘文档(步骤329),这样,虚拟机处理模块250便完成父虚拟硬盘文档的建立。
事实上,在本实施例中,设定主机的虚拟机处理模块250也可以如图3C的流程所示,通过设定主机的启动模块210,直接在设定主机的远程磁盘(存储服务器100的存储介质110)上产生父虚拟硬盘文档111(步骤321b)后,执行虚拟机(步骤322)。虚拟机在执行后会挂载远程磁盘上的父虚拟硬盘文档(步骤323b)。
之后,管理员可以通过设定主机,在虚拟机中安装目标程序。在虚拟机安装目标程序(步骤325)时,设定主机的虚拟机处理模块250可以将虚拟机所安装的目标程序储存到远程磁盘上的父虚拟硬盘文档中(步骤326b),并可以在虚拟机完成目标程序的安装后,在包含目标程序的父虚拟硬盘文档中建立代理程序(步骤327b)。这样,虚拟机处理模块250便在远程磁盘上建立包含目标程序以及代理程序的父虚拟硬盘文档。
接着回到图3A,设定主机的虚拟机处理模块250在设定主机的远程磁盘上,也就是在存储服务器100的存储介质110中建立父虚拟硬盘文档111(步骤320)后,包含设定主机的所有的主机都可以通过存储区域网络挂载存储服务器100的存储介质110为各主机上的远程磁盘(步骤310)。其中,由于包含设定主机的所有的主机都可以提供虚拟机的执行,因此,在本发明中,所有的主机都可以被称为“服务主机”。
在本发明中,设定主机的虚拟机处理模块250在远程磁盘上建立父虚拟硬盘文档111(步骤320)的步骤,与所有主机通过存储区域网络挂载存储服务器100的存储介质110为各主机上的远程磁盘(步骤310)的步骤并没有先后顺序的分别,也就是说,包含设定主机的所有主机可以先通过存储区域网络挂载存储服务器100的存储介质110为各主机上的远程磁盘(步骤310),而后,设定主机的虚拟机处理模块250才会在远程磁盘上建立父虚拟硬盘文档111(步骤320)。
另外,在本发明中,由于各个服务主机(所有的主机)接下来所执行的步骤都相同,因此,在后续的说明中,将只针对一个服务主机说明。
在各主机通过存储区域网络挂载存储服务器100的存储介质110为各主机上的远程磁盘(步骤310),以及设定主机在远程磁盘上建立父虚拟硬盘文档111(步骤320)后,服务主机的虚拟机处理模块250可以以远程磁盘上的父虚拟硬盘文档111为基础镜像,在服务主机的本地磁盘230中建立差异虚拟硬盘文档231(步骤330)。
在实际上,服务主机的虚拟机处理模块250可以建立多个差异虚拟硬盘文档231,每个差异虚拟硬盘文档231都对应一个不同的虚拟机。在本发明中,由于每个虚拟机的运作方式都相同,因此,在本实施例中,将只针对一个虚拟机进行描述。
在服务主机的虚拟机处理模块250以远程磁盘上的父虚拟硬盘文档111为基础镜像,在服务主机的本地磁盘230中建立差异虚拟硬盘文档231(步骤330)后,在服务主机的虚拟机处理模块250执行与差异虚拟硬盘文档231对应的虚拟机251(步骤352)时,若服务主机的虚拟机处理模块250未曾执行过与所建立的差异虚拟硬盘文档231对应的虚拟机251,则如图3D的流程所示,服务主机的虚拟机处理模块250可以先将服务主机的远程磁盘上的父虚拟硬盘文档111中的目标程序的相关数据写入差异虚拟硬盘文档231中(步骤340)。在本实施例中,服务主机的虚拟机处理模块250可以执行如diskpart等工具程序,将差异虚拟硬盘文档231挂载为服务主机的磁盘,并在服务主机挂载差异虚拟硬盘文档231所产生的磁盘中写入与差异虚拟硬盘文档231对应的虚拟机的名称、操作系统的网域存取权限、远程桌面程序的用户权限等相关数据,由此将安装在父虚拟硬盘文档111中的目标程序的相关数据写入差异虚拟硬盘文档231中。
在服务主机的虚拟机处理模块250将相关数据写入差异虚拟硬盘文档中(步骤340)后,服务主机的虚拟机处理模块250才可以执行与被写入相关数据的差异虚拟硬盘文档231相对应的虚拟机251(步骤352),虚拟机251在被服务主机的虚拟机处理模块250执行后,可以挂载相对应的差异虚拟硬盘文档231(步骤356),由此在虚拟机251中生成磁盘,由于差异虚拟硬盘文档231是以服务主机的远程磁盘上的父虚拟硬盘文档111为基础镜像,因此,在虚拟机中生成的磁盘将包含父虚拟硬盘文档111中的所有原始数据以及差异虚拟硬盘文档231中的差异数据,其中,差异虚拟硬盘文档231中的差异数据会覆盖父虚拟硬盘文档111中经过写入操作的原始数据。
在虚拟机251挂载相对应的差异虚拟硬盘文档231(步骤356)后,虚拟机251可以执行远程磁盘上的父虚拟硬盘文档111中的代理程序(步骤361),对虚拟机251而言,也就是执行在虚拟机251中生成的磁盘中所包含的代理程序。
代理程序在虚拟机中被执行后,可以依据差异虚拟硬盘文档231中所储存的相关数据设定虚拟机251及/或目标程序的初始环境(步骤363),使得虚拟机251可以顺利运作,并正常执行在虚拟机生成的磁盘中的操作系统以及应用程序,也就是执行远程磁盘上的父虚拟硬盘文档111中的目标程序(步骤370),由此让虚拟机的用户操作虚拟机。在本发明中,假设代理程序会设定虚拟机的名称、操作系统所在的网域的存取权限、操作系统中远程桌面软件的用户权限等相关数据。
继续回到图3A,在服务主机的虚拟机处理模块250执行与所建立的差异虚拟硬盘文档231对应的虚拟机251(步骤352)时,若服务主机的虚拟机处理模块250曾经执行过与所建立的差异虚拟硬盘文档231对应的虚拟机251,则在服务主机的虚拟机处理模块250执行虚拟机251(步骤352)后,虚拟机251可以挂载相对应的差异虚拟硬盘文档231(步骤356),使得虚拟机251依据差异虚拟硬盘文档231生成磁盘,接着,虚拟机251可以执行服务主机的远程磁盘上的父虚拟硬盘文档111中的目标程序(步骤370),对虚拟机251而言,也就是执行在虚拟机251中生成的磁盘上的操作系统以及应用程序等目标程序,使得虚拟机251可以正常开机并提供用户操作虚拟机251。
在虚拟机251执行目标程序(步骤370)的过程中,若虚拟机251或目标程序需要读取目标程序的相关数据,如记录设定文档中的环境设定值等,若被读取的相关数据未曾经过写入操作,也就是相关数据并非储存在差异虚拟硬盘文档231中,而是储存在父虚拟硬盘文档111中的原始数据,则服务主机的虚拟机处理模块250可以通过服务主机的启动模块210至存储服务器100下载相关数据,例如,启动模块210发出相关数据的下载请求给存储服务器100,使得存储服务器100的目标模块130依据下载请求由存储服务器100的存储介质110中读出相关数据并传回给服务主机,而若被读取的相关数据经过写入操作,也就是相关数据为被储存在差异虚拟硬盘文档231中的差异数据,则服务主机的虚拟机处理模块250可以通过至差异虚拟硬盘文档231中读取相关数据(步骤392)。
同样在虚拟机251执行目标程序(步骤370)的过程中,若目标程序在执行过程中,需要在虚拟机251中生成的磁盘上存取所产生的差异数据时,在本实施例中,假设目标程序产生需要储存的暂存数据时,服务主机的虚拟机处理模块250可以将暂存数据(差异数据)储存到与虚拟机251对应的差异虚拟硬盘文档231中,或目标程序需要读取暂存数据时,虚拟机处理模块250可以由与虚拟机251对应的差异虚拟硬盘文档231中读取出目标程序所需要的暂存数据(步骤396)。
这样,服务主机中的一个或多个虚拟机在执行时,若在各个虚拟机中执行的目标程序将差异数据储存在各个虚拟机的磁盘中,则会使得服务主机的虚拟机处理模块250分别将各目标程序所产生的差异数据写入执行各目标程序的虚拟机所对应的差异虚拟硬盘文档中,也就是服务主机的虚拟机处理模块250会将差异数据储存在服务主机的本地磁盘230中,而当各个虚拟机或在各个虚拟机中执行的各个目标程序需要读取相关数据时,若虚拟机所对应的差异虚拟硬盘文档中存在该相关数据,则服务主机的虚拟机处理模块250会由虚拟机所对应的差异虚拟硬盘文档中读取目标程序所需读取的相关数据,也就是服务主机的虚拟机处理模块250会由服务主机的本地磁盘230中读出差异数据,而若虚拟机所对应的差异虚拟硬盘文档中不存在该相关数据,也就是该相关数据为储存在父虚拟硬盘文档中的原始数据,则服务主机的虚拟机处理模块250会通过服务主机的启动模块210至存储服务器100中下载原始数据。
相似的,当虚拟机的用户在虚拟机中安装新的应用程序时,新的应用程序即为差异数据,虚拟机会将新的应用程序安装至挂载差异虚拟硬盘文档所生成的磁盘中,使得服务主机的虚拟机处理模块250将新的应用程序写入服务主机的本地磁盘230所储存的与虚拟机对应的差异虚拟硬盘文档中,而后在新的应用程序被虚拟机执行时,服务主机的虚拟机处理模块250会由服务主机的本地磁盘230所储存的与虚拟机对应的差异虚拟硬盘文档中读出新安装的应用程序。而当虚拟机执行原先安装在相对应的差异虚拟硬盘文档的基础镜像中的目标程序时,服务主机的虚拟机处理模块250会通过服务主机的启动模块210至存储服务器100下载目标程序,例如,启动模块210发出目标程序的下载请求给存储服务器100,使得存储服务器100的目标模块130依据下载请求由存储服务器100的存储介质110中读出目标程序并传回给服务主机。
在上述的实施例中,若服务主机还包含主机缓存270,则当服务主机的虚拟机处理模块250通过服务主机的启动模块210至存储服务器100下载目标程序或下载目标程序的相关数据时,服务主机的启动模块210可以在至存储服务器100下载的目标程序或相关数据前,先判断主机缓存270中是否储存被下载的目标程序或相关数据,若是,则启动模块210可以直接由主机缓存270中读取被下载的目标程序或相关数据,并将由主机缓存270中读出的目标程序或相关数据提供给服务主机的虚拟机处理模块250,若否,启动模块210才会至存储服务器100下载的目标程序或相关数据。
若服务主机的本地磁盘230以及存储服务器100的存储介质110都是区块设备,则如图3E的流程所示,在虚拟机读取目标程序或目标程序读取相关数据(原始数据)(步骤371)时,服务主机的虚拟机处理模块250可以通过服务主机的启动模块210下载目标程序或相关数据,启动模块210可以判断主机缓存270中是否储存目标程序或相关数据的任何存储区块(步骤372),若是,则启动模块210可以由主机缓存270中读出目标程序或相关数据的存储区块(步骤373),接着,启动模块210可以将没有储存在主机缓存270中的目标程序或相关数据的存储区块的下载请求传送至存储服务器100,由此至存储服务器100下载没有储存在主机缓存270中的目标程序或相关数据的存储区块(步骤375)。在本实施例中,假设目标程序或相关数据分布在两个存储区块中,若主机缓存270中储存其中的一个存储区块的内容,则启动模块210在判断出主机缓存270中储存有一个存储区块后,启动模块210会由主机缓存270中读出该存储区块,并传送另外一个存储区块的下载请求至存储服务器100,由此下载另一个存储区块。
在启动模块210接收到存储服务器100的目标模块130所传回的目标程序或相关数据的存储区块后,启动模块210可以将接收自目标模块130的存储区块储存到主机缓存270中(步骤376),并由主机缓存270中读出的存储区块与接收自目标模块130的存储区块组合为目标程序或相关数据(步骤377),使得虚拟机处理模块250可以将目标程序或相关数据提供给虚拟机执行(步骤378)。
在上述的实施例中,若存储服务器100还包含服务缓存150,则当服务主机的虚拟机处理模块250通过服务主机的启动模块210至存储服务器100下载目标程序或下载目标程序的相关数据时,存储服务器100的目标模块130可以在至存储服务器100的存储介质110中读取被下载的目标程序或相关数据前,先判断服务缓存150中是否储存被下载的目标程序或相关数据,若是,则目标模块130可以直接由服务缓存150中读取被下载的目标程序或相关数据,并传回服务主机,若否,目标模块130才会至存储服务器100的存储介质110中读取被下载的目标程序或相关数据。
若服务主机的本地磁盘230以及存储服务器100的存储介质110都是区块设备,则如图3F的流程所示,存储服务器100的目标模块130在接收到服务主机的启动模块210所传送的目标程序或相关数据的存储区块的下载请求(步骤381)后,可以先判断服务缓存150中是否储存被下载的目标程序或相关数据的任何存储区块(步骤382),若是,则目标模块130可以直接由服务缓存150中读取被下载的目标程序或相关数据的存储区块(步骤383),并将由服务缓存150中读出的存储区块传回服务主机(步骤386),而后,目标模块130还可以至存储介质110中读取没有储存在服务缓存150中的目标程序或相关数据的存储区块,并将由存储介质110中读出的存储区块储存到服务缓存150中(步骤385),以及将由存储介质110中读出的存储区块传回服务主机(步骤386)。在本实施例中,假设目标程序或相关数据分布在两个存储区块中,若服务缓存150中储存其中的一个存储区块的内容,则目标模块130在判断出服务缓存150中储存有一个存储区块后,会由服务缓存150中读出该存储区块,并传送由服务缓存150中读出的存储区块至服务主机,目标模块130也会至存储介质110中读取另一个存储区块的内容,并传送由存储介质110中读出的存储区块至服务主机。
综上所述,可知本发明与现有技术之间的差异在于具有主机通过存储区域网络在存储服务器中建立父虚拟硬盘文档,并以父虚拟硬盘文档为基础镜像在本地磁盘中建立差异虚拟硬盘文档,当主机所执行的虚拟机挂载差异虚拟硬盘文档后,虚拟机执行目标程序时,服务主机通过存储区域网络读取父虚拟硬盘文档中的原始数据,并在本地磁盘的差异虚拟硬盘文档中存取目标程序所产生的差异数据的技术手段,通过这一技术手段可以解决现有技术所存在基础镜像与差异硬盘设置在同一装置容易造成存取效能低下的问题,进而达成提高存储服务器的存取效能并增加存储服务器所支持的虚拟机数的技术效果。
再者,本发明的以存储区域网络提供读取基础镜像的方法,可实现于硬件、软件或硬件与软件的组合中,亦可在电脑系统中以集中方式实现或以不同元件散布于若干互连的电脑系统的分散方式实现。
虽然本发明所揭露的实施方式如上,然而所述的内容并非用以直接限定本发明的专利保护范围。任何本领域技术人员在不脱离本发明所揭露的精神和范围的前提下,对本发明的实施的形式上及细节上作一些更动润饰,均属于本发明的专利保护范围。本发明的专利保护范围,仍须以所附的权利要求书所限定的内容为准。
Claims (10)
1.一种以存储区域网络提供读取基础镜像的方法,其特征在于,提供执行虚拟机的至少一个主机读取存储服务器上的基础镜像,这些主机中包含设定主机及至少一个服务主机,该方法至少包含下列步骤:
所述各主机通过存储区域网络挂载该存储服务器为远程磁盘;
该设定主机在该远程磁盘中建立一父虚拟硬盘文档;
所述各服务主机以该父虚拟硬盘文档为基础镜像,在所述各服务主机的本地磁盘中建立至少一个差异虚拟硬盘文档;
这些服务主机至少其中之一执行与这些差异虚拟硬盘文档其中之一对应的虚拟机;
该虚拟机挂载相对应的差异虚拟硬盘文档;
该虚拟机通过相对应的差异虚拟硬盘文档执行该父虚拟硬盘文档中的目标程序;
当该虚拟机读取该目标程序的相关数据时,所述各服务主机由与该虚拟机对应的差异虚拟硬盘文档中读取该相关数据;及
当该目标程序存取所产生的差异数据时,所述各服务主机至与该虚拟机对应的差异虚拟硬盘文档中存取该差异数据。
2.如权利要求1所述的以存储区域网络提供读取基础镜像的方法,其特征在于,该虚拟机通过相对应的差异虚拟硬盘文档执行该父虚拟硬盘文档中的该目标程序的步骤还包含该存储服务器判断储存该目标程序的至少一个存储区块储存在该存储服务器的服务缓存中时,从该服务缓存中读取所述各存储区块的步骤。
3.如权利要求1所述的以存储区域网络提供读取基础镜像的方法,其特征在于,该虚拟机通过相对应的差异虚拟硬盘文档执行该父虚拟硬盘文档中的该目标程序的步骤,还包含所述各服务主机判断该目标程序的各存储区块是否储存于所述各服务主机的主机缓存中,若是,则所述各服务主机由该主机缓存读取所述各存储区块,若否,则所述各服务主机至该存储服务器下载未储存于该主机缓存中的其他存储区块,并储存所下载的存储区块至该主机缓存中的步骤。
4.如权利要求1所述的以存储区域网络提供读取基础镜像的方法,其特征在于,该设定主机在该远程磁盘中建立一父虚拟硬盘文档的步骤还包含该设定主机在该设定主机的本地磁盘上产生一临时虚拟硬盘文档,并执行一虚拟机,当该虚拟机挂载该临时虚拟硬盘文档后,该虚拟机安装该目标程序时,储存该目标程序至该临时虚拟硬盘文档中,并在该临时虚拟硬盘文档中建立一代理程序,及当该虚拟机结束执行或卸载该临时虚拟硬盘文档时,复制该临时虚拟硬盘文档至该远程磁盘为该父虚拟硬盘文档的步骤,或包含该设定主机在该远程磁盘上产生该父虚拟硬盘文档,并执行一虚拟机,当虚拟机挂载该虚拟硬盘文档后,该虚拟机安装该目标程序时,储存该目标程序至该父虚拟硬盘文档中,并在该父虚拟硬盘文档中提供建立一代理程序的步骤。
5.如权利要求1所述的以存储区域网络提供读取基础镜像的方法,其特征在于,该方法在这些服务主机至少其中之一执行与这些差异虚拟硬盘文档其中之一对应的该虚拟机的步骤前,还包含所述各服务主机写入该相关数据至该差异虚拟硬盘文档中的步骤,且该方法在该虚拟机通过相对应的差异虚拟硬盘文档执行该父虚拟硬盘文档中的该目标程序的步骤前,还包含该虚拟机执行该父虚拟硬盘文档中的一代理程序,使该代理程序依据该相关数据设定该虚拟机及/或该目标程序的初始环境的步骤。
6.一种以存储区域网络提供读取基础镜像的服务器,其特征在于,提供执行虚拟机的至少一个主机读取基础镜像,该服务器至少包含:
存储介质,用以储存一父虚拟硬盘文档,该父虚拟硬盘文档中包含一目标程序;及
目标模块,用以提供该主机通过存储区域网络挂载该存储介质为远程磁盘,由此使该主机以该父虚拟硬盘文档为基础镜像建立至少一个差异虚拟硬盘文档,及用以在该主机所执行的虚拟机通过相对应的差异虚拟硬盘文档执行该目标程序时,传送该目标程序至该主机。
7.如权利要求6所述的以存储区域网络提供读取基础镜像的服务器,其特征在于,该服务器还包含一服务缓存,用以储存包含该目标程序的至少一个存储区块,使该目标模块在传送该目标程序至该主机时,先判断该服务缓存中是否储存所述各存储区块,若是,则该目标模块由该服务缓存中读取所述各存储区块,并传送所述各存储区块至该主机。
8.一种以存储区域网络提供读取基础镜像的主机,其特征在于,该主机至少包含:
启动模块,用以通过存储区域网络挂载一存储服务器的存储介质为远程磁盘,该存储介质中储存一父虚拟硬盘文档,该父虚拟硬盘文档中包含一目标程序,及用以下载该目标程序;
本地磁盘,用以储存至少一个差异虚拟硬盘文档,所述各差异虚拟硬盘文档以该父虚拟硬盘文档为基础镜像所建立;及
虚拟机处理模块,用以执行与所述各差异虚拟硬盘文档对应的虚拟机,使该虚拟机执行该目标程序,及用以在该虚拟机读取该目标程序的相关数据时,由与该虚拟机对应的差异虚拟硬盘文档中读取该相关数据,并在该目标程序储存所产生的差异数据时,将该差异数据储存至与该虚拟机对应的差异虚拟硬盘文档中。
9.如权利要求8所述的以存储区域网络提供读取基础镜像的主机,其特征在于,该主机还包含一主机缓存,用以储存该目标程序的至少一个存储区块,使该启动模块下载该目标程序时,先判断该主机缓存中是否储存所述各存储区块,若是,则该启动模块由该主机缓存中读取所述各存储区块,若否,则该启动模块下载未储存于该主机缓存中的其他存储区块,并将所下载的存储区块储存至该主机缓存中。
10.如权利要求8所述的以存储区域网络提供读取基础镜像的主机,其特征在于,该虚拟机处理模块还用以在该本地磁盘上产生一临时虚拟硬盘文档,并执行一虚拟机,当该虚拟机挂载该临时虚拟硬盘文档后,安装该目标程序时,该虚拟机处理模块储存该目标程序至该临时虚拟硬盘文档中,并在该临时虚拟硬盘文档中建立一代理程序,当该虚拟机结束执行或卸载该虚拟硬盘文档时,该虚拟机处理模块复制该临时虚拟硬盘文档至该远程磁盘为该父虚拟硬盘文档,并将该相关数据写入该差异虚拟硬盘文档中,使该虚拟机在执行该目标程序前先执行该代理程序,由此由该代理程序依据该相关数据设定该虚拟机及/或该目标程序的初始环境,或该虚拟机处理模块还用以在该远程磁盘上产生该父虚拟硬盘文档,并执行一虚拟机,当该虚拟机挂载该父虚拟硬盘文档后,该虚拟机安装该目标程序时,该虚拟机处理模块储存该目标程序至该父虚拟硬盘文档中,并在该父虚拟硬盘文档中建立一代理程序,并将该相关数据写入该差异虚拟硬盘文档中,使该虚拟机在执行该目标程序前先执行该代理程序,由此由该代理程序依据该相关数据设定该虚拟机及/或该目标程序的初始环境。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210348063.7A CN103685408A (zh) | 2012-09-18 | 2012-09-18 | 以存储区域网络提供读取基础镜像的服务器、主机及方法 |
US13/792,435 US20140082275A1 (en) | 2012-09-18 | 2013-03-11 | Server, host and method for reading base image through storage area network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210348063.7A CN103685408A (zh) | 2012-09-18 | 2012-09-18 | 以存储区域网络提供读取基础镜像的服务器、主机及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103685408A true CN103685408A (zh) | 2014-03-26 |
Family
ID=50275701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210348063.7A Pending CN103685408A (zh) | 2012-09-18 | 2012-09-18 | 以存储区域网络提供读取基础镜像的服务器、主机及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140082275A1 (zh) |
CN (1) | CN103685408A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141694A (zh) * | 2015-09-11 | 2015-12-09 | 东莞市微云系统科技有限公司 | 一种云桌面共享数据的方法及系统 |
CN105630571A (zh) * | 2014-10-31 | 2016-06-01 | 中兴通讯股份有限公司 | 一种创建虚拟机的方法及装置 |
CN106293519A (zh) * | 2016-07-29 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘存储管理方法 |
CN106293512A (zh) * | 2016-07-27 | 2017-01-04 | 福建升腾资讯有限公司 | 基于Xen虚拟化平台的基础镜像跨区存储与分发的实现方法 |
CN107273183A (zh) * | 2017-06-12 | 2017-10-20 | 上海优刻得信息科技有限公司 | 加载虚拟机镜像的磁盘漂移方法、装置、系统及服务器 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10942786B2 (en) | 2015-03-13 | 2021-03-09 | Comptel Corporation | Network management |
US11263039B2 (en) * | 2019-11-15 | 2022-03-01 | Vmware, Inc. | High performance attachable writeable volumes in VDI desktops |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257584B2 (en) * | 2002-03-18 | 2007-08-14 | Surgient, Inc. | Server file management |
US20110040812A1 (en) * | 2007-12-20 | 2011-02-17 | Virtual Computer, Inc. | Layered Virtual File System |
US8132168B2 (en) * | 2008-12-23 | 2012-03-06 | Citrix Systems, Inc. | Systems and methods for optimizing a process of determining a location of data identified by a virtual hard drive address |
US9928091B2 (en) * | 2010-09-30 | 2018-03-27 | Microsoft Technology Licensing, Llc | Techniques for streaming virtual machines from a server to a host |
US8874859B2 (en) * | 2010-12-22 | 2014-10-28 | Vmware, Inc. | Guest file system introspection and defragmentable virtual disk format for space efficiency |
-
2012
- 2012-09-18 CN CN201210348063.7A patent/CN103685408A/zh active Pending
-
2013
- 2013-03-11 US US13/792,435 patent/US20140082275A1/en not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630571A (zh) * | 2014-10-31 | 2016-06-01 | 中兴通讯股份有限公司 | 一种创建虚拟机的方法及装置 |
CN105141694A (zh) * | 2015-09-11 | 2015-12-09 | 东莞市微云系统科技有限公司 | 一种云桌面共享数据的方法及系统 |
CN105141694B (zh) * | 2015-09-11 | 2018-10-12 | 广东微云科技股份有限公司 | 一种云桌面共享数据的方法及系统 |
CN106293512A (zh) * | 2016-07-27 | 2017-01-04 | 福建升腾资讯有限公司 | 基于Xen虚拟化平台的基础镜像跨区存储与分发的实现方法 |
CN106293512B (zh) * | 2016-07-27 | 2020-07-31 | 福建升腾资讯有限公司 | 基于Xen虚拟化平台的基础镜像跨区存储与分发的实现方法 |
CN106293519A (zh) * | 2016-07-29 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘存储管理方法 |
CN106293519B (zh) * | 2016-07-29 | 2019-05-10 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘存储管理方法 |
CN107273183A (zh) * | 2017-06-12 | 2017-10-20 | 上海优刻得信息科技有限公司 | 加载虚拟机镜像的磁盘漂移方法、装置、系统及服务器 |
Also Published As
Publication number | Publication date |
---|---|
US20140082275A1 (en) | 2014-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685408A (zh) | 以存储区域网络提供读取基础镜像的服务器、主机及方法 | |
CN101615106B (zh) | 用于虚拟化sas存储适配器的方法和系统 | |
JP5026509B2 (ja) | マシンから仮想マシンへの変換 | |
US20230229637A1 (en) | Intelligent file system with transparent storage tiering | |
JP5276218B2 (ja) | リアルタイムでlunをファイルに、またはファイルをlunに変換すること | |
US8555278B2 (en) | Method and system for migrating a selected set of virtual machines between volumes | |
US8966188B1 (en) | RAM utilization in a virtual environment | |
US20110078681A1 (en) | Method and system for running virtual machine image | |
CN110806911B (zh) | 一种云桌面管控方法、装置及系统 | |
CN110018878B (zh) | 一种分布式系统数据加载方法以及装置 | |
US20110145496A1 (en) | Trace-assisted startup optimization from a virtual disk | |
CN105991651A (zh) | 具有远程存储控制的网络接口设备 | |
US11709692B2 (en) | Hot growing a cloud hosted block device | |
CN101403966B (zh) | 一种实现可移植软件的方法 | |
CN111629044B (zh) | 基于云盘的Windows操作系统数据漫游网络结构及其方法 | |
EP2686791B1 (en) | Variants of files in a file system | |
US8281096B1 (en) | Systems and methods for creating snapshots | |
JP7522775B2 (ja) | 不揮発性記憶区画識別子 | |
US20150373114A1 (en) | Storage abstraction layer and a system and a method thereof | |
CN109343928B (zh) | 虚拟化集群中虚拟机的虚拟内存文件重定向方法及其系统 | |
CN103064771A (zh) | 同步进行计算机的检测及映像下载的方法及其计算机系统 | |
US12038872B2 (en) | Apparatus and method for managing in-memory container storage | |
CN116301624A (zh) | 存储区域创建方法、系统、电子设备及计算机存储介质 | |
TWI460584B (zh) | 以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法 | |
CN107851062A (zh) | 一种主机集群中缓存管理方法及主机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140326 |