TW201416850A - 以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法 - Google Patents

以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法 Download PDF

Info

Publication number
TW201416850A
TW201416850A TW101138401A TW101138401A TW201416850A TW 201416850 A TW201416850 A TW 201416850A TW 101138401 A TW101138401 A TW 101138401A TW 101138401 A TW101138401 A TW 101138401A TW 201416850 A TW201416850 A TW 201416850A
Authority
TW
Taiwan
Prior art keywords
host
virtual machine
virtual
disk file
target program
Prior art date
Application number
TW101138401A
Other languages
English (en)
Other versions
TWI460584B (zh
Inventor
Hong-Su Zhang
Original Assignee
Inventec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to TW101138401A priority Critical patent/TWI460584B/zh
Publication of TW201416850A publication Critical patent/TW201416850A/zh
Application granted granted Critical
Publication of TWI460584B publication Critical patent/TWI460584B/zh

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

一種以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法,其透過主機端透過儲存區域網路在儲存伺服器中建立原生虛擬磁碟檔,並以原生虛擬磁碟檔為基礎鏡像在本地磁碟中建立差異虛擬磁碟檔,當主機端所執行之虛擬機器掛載差異虛擬磁碟檔後,虛擬機器執行目標程式時,服務主機透過儲存區域網路讀取原生虛擬磁碟檔中的原始資料,並在本地磁碟的差異虛擬磁碟檔中存取目標程式所產生的差異資料之技術手段,可以將基礎鏡像與差異磁碟設置在不同裝置,並達成增加儲存伺服器之存取效能與所支援之虛擬機器數的技術功效。

Description

以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法
一種提供讀取基礎鏡像之伺服器、主機端及方法,特別係指一種以儲存區域網路提供虛擬機器讀取基礎鏡像之伺服器、主機端及其方法。
由於從事相同工作的使用者通常使用完全相同的操作環境,為了統一管理的便利性,以及避免需要為每一位使用者個別安裝作業系統以及應用程式,目前大都是使用虛擬機器(Virtual Machine,VM)的解決方案,其中,管理者會先安裝一份初始的操作環境,並將安裝好的操作環境作為各使用者所使用之虛擬機器的基礎鏡像(Base Image),使虛擬機器掛載依據基礎鏡像所建立出來的差異磁碟。如此,所有的虛擬機器都共用基礎鏡像中的作業系統以及應用程式,而後,在虛擬機器運行時,所產生的差異資料則會被儲存在虛擬機器所掛載的差異磁碟中,這表示差異磁碟的存取將可能非常頻繁。
目前常見的系統大都是將共用的基礎鏡像以及虛擬機器獨自存取的差異磁碟設置在遠端的儲存伺服器上,虛擬機器會由設置在儲存伺服器中的基礎鏡像以及差異磁碟中存取資料,如此,所有的虛擬機器在進行資料存取時,存取負載都集中在儲存伺服器上,這對儲存伺服器而言,存取負載相當的高,造成存取效能的低落,同時,儲存伺服器也需要大量的儲存空間來儲存多個差異磁碟,此外,執行虛擬機器的主機端要不斷的透過網路傳送接收資料,對網路資源的消耗也非常大。因此,目前也有的系統是將 基礎鏡像以及差異磁碟都設置在同一主機端上,這樣的設置方式雖然可以減低網路資源的消耗,但存取負載仍然都集中在主機端,存取效能依然無法提高,且基礎鏡像往往無法共用。
綜上所述,可知先前技術中長期以來一直存在基礎鏡像與差異磁碟設置在同一裝置容易造成存取效能低落的問題,因此有必要提出改進的技術手段,來解決此一問題。
有鑒於先前技術存在基礎鏡像與差異磁碟設置在同一裝置容易造成存取效能低落的問題,本發明遂揭露一種以儲存區域網路(Storage Area Network,SAN)提供讀取基礎鏡像(Base Image)之伺服器、主機端及方法,其中:本發明所揭露之以儲存區域網路提供讀取基礎鏡像之伺服器,至少包含:儲存媒體,用以儲存原生虛擬磁碟(Parent Virtual Hard Disk,Parent VHD)檔,原生虛擬磁碟檔中包含目標程式;目標模組(target),用以提供主機端(Host)透過儲存區域網路掛載(mount)儲存媒體為遠端磁碟,藉以使主機端以原生虛擬磁碟檔為基礎鏡像建立差異虛擬磁碟(Different VHD)檔,及用以於主機端所執行之虛擬機器(Virtual Machine,VM)透過相對應之差異虛擬磁碟檔執行目標程式時,傳送目標程式至主機端。
本發明所揭露之以儲存區域網路提供讀取基礎鏡像之主機端,至少包含:發起模組(initiator),用以透過儲存區域網路掛載儲存伺服器之儲存媒體為遠端磁碟,儲存媒體中儲存原生虛擬磁碟檔,原生虛擬磁碟檔中包含目標程式,及用以下載目標程式;本地磁碟,用以儲存差異虛擬磁碟檔,各差異虛擬磁碟係以原生 虛擬磁碟檔為基礎鏡像所建立;虛擬機器處理模組,用以執行與各差異虛擬磁碟檔對應之虛擬機器,使虛擬機器執行目標程式,及用以於虛擬機器讀取目標程式之相關資料時,由與虛擬機器對應之差異虛擬磁碟檔中讀取相關資料,並於目標程式儲存所產生之差異資料時,將差異資料儲存至與虛擬機器對應之差異虛擬磁碟檔中。
本發明所揭露之以儲存區域網路提供讀取基礎鏡像之方法,其步驟至少包括:主機端透過儲存區域網路掛載儲存伺服器為遠端磁碟;設定主機於遠端磁碟中建立原生虛擬磁碟檔;服務主機以原生虛擬磁碟檔為基礎鏡像,於服務主機之本地磁碟中建立差異虛擬磁碟檔;服務主機執行與差異虛擬磁碟檔對應之虛擬機器;虛擬機器掛載相對應之差異虛擬磁碟檔;虛擬機器透過相對應之差異虛擬磁碟檔執行原生虛擬磁碟檔中之目標程式;當虛擬機器讀取目標程式之相關資料時,服務主機由與虛擬機器對應之差異虛擬磁碟檔中讀取相關資料;當目標程式存取所產生之差異資料時,服務主機至與虛擬機器對應之差異虛擬磁碟檔中存取差異資料。
本發明所揭露之系統與方法如上,與先前技術之間的差異在於本發明之主機端透過儲存區域網路在儲存伺服器中建立原生虛擬磁碟檔,並以原生虛擬磁碟檔為基礎鏡像在本地磁碟中建立差異虛擬磁碟檔,當主機端所執行之虛擬機器掛載差異虛擬磁碟檔後,虛擬機器執行目標程式時,服務主機透過儲存區域網路讀取原生虛擬磁碟檔中的原始資料,並在本地磁碟的差異虛擬磁碟檔中存取目標程式所產生的差異資料,藉以解決先前技術所存在的 問題,並可以達成增加儲存伺服器之存取效能並提高儲存伺服器所支援之虛擬機器數的技術功效。
以下將配合圖式及實施例來詳細說明本發明之特徵與實施方式,內容足以使任何熟習相關技藝者能夠輕易地充分理解本發明解決技術問題所應用的技術手段並據以實施,藉此實現本發明可達成的功效。
本發明可以將做為基礎鏡像(Base Image)的原生虛擬磁碟(Parent Virtual Hard Disk,Parent VHD)檔設置在儲存伺服器,並將差異虛擬磁碟(Different VHD)檔設置在主機端(Host),使執行於主機端中的虛擬機器(Virtual Machine)共享同一份基礎鏡像,而虛擬機器在運作時所產生的差異資料則儲存在差異虛擬磁碟檔中,可以減低儲存伺服器的資料存取(I/O)負載。
其中,儲存伺服器更可以包含伺服快取(Cache),主機端也可以包含主機快取,透過伺服快取及/或主機快取,可以提高主機端存取基礎鏡像的速度,且主機快取更可以減少主機端存取基礎鏡像的網路流量。
以下先說明本發明的系統運作。本發明之系統含有至少一個儲存伺服器以及一個或多個主機端。其中,特別值得一提的是,在本發明中,主機端的數量通常會依據本發明之系統的使用者決定,越多的使用者往往會有越多的主機端200,而儲存伺服器100的數量則通常是依據主機端200的數量決定,當所有主機端200在正常運作時,若各個儲存伺服器100的存取效能或網路負載都達到一定比例,則在需要新增主機端的情況下,通常也需要增加 儲存伺服器100,使得儲存伺服器100的存取效能或網路負載不因此降低,進而影響各個主機端的資料存取效能。
請先參照「第1圖」本發明所提之以儲存區域網路提供讀取基礎鏡像之伺服器元件示意圖所示,儲存伺服器100更包含儲存媒體110、目標模組(target)130、以及可附加的伺服快取150。
儲存媒體110負責儲存原生虛擬磁碟檔111。儲存媒體110通常為能夠不按順序隨機存取(random access)固定大小之資料片段(chunk)的區塊設備(block device),例如,硬碟、光碟等,但本發明沒有特別的限制。
儲存媒體110所儲存之原生虛擬磁碟檔111在本發明中為唯讀(read only)的檔案。原生虛擬磁碟檔111通常包含由主機端200所安裝的目標程式,但本發明並不以此為限,在部分的實施例中,儲存媒體110所儲存之原生虛擬磁碟檔可以尚未安裝目標程式。其中,本發明所提的目標程式包含作業系統、應用軟體等可在虛擬機器中運行的程式,但本發明並不以上述為限。
目標模組130提供主機端200透過儲存區域網路(Storage Area Network,SAN)與儲存伺服器100連接,負責提供主機端200掛載(mount)儲存媒體110,使得儲存媒體110成為主機端200的遠端磁碟。
目標模組130也負責由儲存媒體110中讀出原生虛擬磁碟檔111所包含的目標程式,並傳送目標程式至主機端200,使得在主機端200中運行的虛擬機器可以執行目標程式。其中,特別值得一提的是,若儲存媒體110為區塊設備,則目標程式可能被儲存在一個至多個儲存區塊(block)中,目標模組130會讀取目標程 式的各個儲存區塊,並分別傳送至主機端200。
伺服快取150為可附加在儲存伺服器100中的儲存元件,通常為讀取速度比儲存媒體110更快的儲存設備,例如隨機存取記憶體(Random Access Memory,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更包含發起模組(initiator)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中讀出之儲存區塊至服務主機。
綜上所述,可知本發明與先前技術之間的差異在於具有主機端透過儲存區域網路在儲存伺服器中建立原生虛擬磁碟檔,並以原生虛擬磁碟檔為基礎鏡像在本地磁碟中建立差異虛擬磁碟檔,當主機端所執行之虛擬機器掛載差異虛擬磁碟檔後,虛擬機器執行目標程式時,服務主機透過儲存區域網路讀取原生虛擬磁碟檔中的原始資料,並在本地磁碟的差異虛擬磁碟檔中存取目標程式所產生的差異資料之技術手段,藉由此一技術手段可以解決先前技術所存在基礎鏡像與差異磁碟設置在同一裝置容易造成存取效能低落的問題,進而達成增加儲存伺服器之存取效能並提高儲存伺服器所支援之虛擬機器數的技術功效。
再者,本發明之以儲存區域網路提供讀取基礎鏡像之方法,可實現於硬體、軟體或硬體與軟體之組合中,亦可在電腦系統中以集中方式實現或以不同元件散佈於若干互連之電腦系統的分散方式實現。
雖然本發明所揭露之實施方式如上,惟所述之內容並非用以直接限定本發明之專利保護範圍。任何本發明所屬技術領域中具有通常知識者,在不脫離本發明所揭露之精神和範圍的前提下,對本發明之實施的形式上及細節上作些許之更動潤飾,均屬於本發明之專利保護範圍。本發明之專利保護範圍,仍須以所附之申請專利範圍所界定者為準。
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‧‧‧當目標程式存取所產生之差異資料時,服務主機至與虛擬機器對應之差異虛擬磁碟檔中存取差異資料
第1圖為本發明所提之以儲存區域網路提供讀取基礎鏡像之 伺服器元件示意圖。
第2圖為本發明所提之以儲存區域網路提供讀取基礎鏡像之主機端元件示意圖。
第3A圖為本發明所提之以儲存區域網路提供讀取基礎鏡像之方法流程圖。
第3B圖為本發明所提之建立原生虛擬磁碟檔之詳細方法流程圖。
第3C圖為本發明所提之另一種建立原生虛擬磁碟檔之詳細方法流程圖。
第3D圖為本發明所提之設定初始環境之詳細方法流程圖。
第3E圖為本發明所提之結合主機快取下載目標程式之方法流程圖。
第3F圖為本發明所提之結合伺服快取讀取目標程式之方法流程圖。
步驟310‧‧‧主機端透過儲存區域網路掛載儲存伺服器為遠端磁碟
步驟320‧‧‧設定主機於遠端磁碟中建立原生虛擬磁碟檔
步驟330‧‧‧服務主機以原生虛擬磁碟檔為基礎鏡像,於服務主機之本地磁碟中建立差異虛擬磁碟檔
步驟352‧‧‧服務主機執行與差異虛擬磁碟檔對應之虛擬機器
步驟356‧‧‧虛擬機器掛載相對應之差異虛擬磁碟檔
步驟370‧‧‧虛擬機器透過相對應之差異虛擬磁碟檔執行原生虛擬磁碟檔中之目標程式
步驟392‧‧‧當虛擬機器讀取目標程式之相關資料時,服務主機由與虛擬機器對應之差異虛擬磁碟檔中讀取相關資料
步驟396‧‧‧當目標程式存取所產生之差異資料時,服務主機至與虛擬機器對應之差異虛擬磁碟檔中存取差異資料

Claims (10)

  1. 一種以儲存區域網路提供讀取基礎鏡像之方法,係提供執行虛擬機器之至少一主機端讀取一儲存伺服器上之基礎鏡像(Base Image),該些主機端中包含一設定主機及至少一服務主機,該方法至少包含下列步驟:各該主機端(Host)透過儲存區域網路(Storage Area Network,SAN)掛載(mount)該儲存伺服器為一遠端磁碟;該設定主機於該遠端磁碟中建立一原生虛擬磁碟(Parent Virtual Hard Disk,Parent VHD)檔;各該服務主機以該原生虛擬磁碟檔為基礎鏡像,於各該服務主機之本地磁碟中建立至少一差異虛擬磁碟(Different VHD)檔;該些服務主機至少其中之一執行與該些差異虛擬磁碟檔其中之一對應之一虛擬機器(Virtual Machine,VM);該虛擬機器掛載相對應之差異虛擬磁碟檔;該虛擬機器透過相對應之差異虛擬磁碟檔執行該原生虛擬磁碟檔中之一目標程式;當該虛擬機器讀取該目標程式之一相關資料時,各該服務主機由與該虛擬機器對應之差異虛擬磁碟檔中讀取該相關資料;及當該目標程式存取所產生之一差異資料時,各該服務主機至與該虛擬機器對應之差異虛擬磁碟檔中存取該差異資料。
  2. 如申請專利範圍第1項所述之以儲存區域網路提供讀取基礎 鏡像之方法,其中該虛擬機器透過相對應之差異虛擬磁碟檔執行該原生虛擬磁碟檔中之該目標程式之步驟更包含該儲存伺服器判斷儲存該目標程式之至少一儲存區塊(block)儲存在該儲存伺服器之一伺服快取(cache)中時,由該伺服快取中讀取各該儲存區塊之步驟。
  3. 如申請專利範圍第1項所述之以儲存區域網路提供讀取基礎鏡像之方法,其中該虛擬機器透過相對應之差異虛擬磁碟檔執行該原生虛擬磁碟檔中之該目標程式之步驟,更包含各該服務主機判斷該目標程式之各儲存區塊是否儲存於各該服務主機之主機快取中,若是,則各該服務主機由該主機快取讀取各該儲存區塊,若否,則各該服務主機至該儲存伺服器下載未儲存於該主機快取中之其他儲存區塊,並儲存所下載之儲存區塊至該主機快取中之步驟。
  4. 如申請專利範圍第1項所述之以儲存區域網路提供讀取基礎鏡像之方法,其中該設定主機於該遠端磁碟中建立一原生虛擬磁碟檔之步驟更包含該設定主機於該設定主機之本地磁碟上產生一臨時虛擬磁碟檔,並執行一虛擬機器,當該虛擬機器掛載該臨時虛擬磁碟檔後,該虛擬機器安裝該目標程式時,儲存該目標程式至該臨時虛擬磁碟檔中,並在該臨時虛擬磁碟檔中建立一代理程式(agent),及當該虛擬機器結束執行或卸載(unmount)該臨時虛擬磁碟檔時,複製該臨時虛擬磁碟檔至該遠端磁碟為該原生虛擬磁碟檔之步驟,或包含該設定主機於該遠端磁碟上產生該原生虛擬磁碟檔,並執行一虛擬機器,當虛擬機器掛載該虛擬磁碟檔後,該虛擬機器安 裝該目標程式時,儲存該目標程式至該原生虛擬磁碟檔中,並於該原生虛擬磁碟檔中提供建立一代理程式之步驟。
  5. 如申請專利範圍第1項所述之以儲存區域網路提供讀取基礎鏡像之方法,其中該方法於該些服務主機至少其中之一執行與該些差異虛擬磁碟檔其中之一對應之該虛擬機器之步驟前,更包含各該服務主機寫入該相關資料至該差異虛擬磁碟檔中之步驟,且該方法於該虛擬機器透過相對應之差異虛擬磁碟檔執行該原生虛擬磁碟檔中之該目標程式之步驟前,更包含該虛擬機器執行該原生虛擬磁碟檔中之一代理程式,使該代理程式依據該相關資料設定該虛擬機器及/或該目標程式之初始環境之步驟。
  6. 一種以儲存區域網路提供讀取基礎鏡像之伺服器,係提供執行虛擬機器之至少一主機端讀取基礎鏡像,該伺服器至少包含:一儲存媒體,用以儲存一原生虛擬磁碟檔,該原生虛擬磁碟檔中包含一目標程式;及一目標模組(target),用以提供該主機端透過儲存區域網路掛載該儲存媒體為一遠端磁碟,藉以使該主機端以該原生虛擬磁碟檔為基礎鏡像建立至少一差異虛擬磁碟檔,及用以於該主機端所執行之一虛擬機器透過相對應之差異虛擬磁碟檔執行該目標程式時,傳送該目標程式至該主機端。
  7. 如申請專利範圍第6項所述之以儲存區域網路提供讀取基礎鏡像之伺服器,其中該伺服器更包含一伺服快取,用以儲存包含該目標程式之至少一儲存區塊,使該目標模組於傳送該 目標程式至該主機端時,先判斷該伺服快取中是否儲存各該儲存區塊,若是,則該目標模組由該伺服快取中讀取各該儲存區塊,並傳送各該儲存區塊至該主機端。
  8. 一種以儲存區域網路提供讀取基礎鏡像之主機端,該主機端至少包含:一發起模組(initiator),用以透過儲存區域網路掛載一儲存伺服器之一儲存媒體為一遠端磁碟,該儲存媒體中儲存一原生虛擬磁碟檔,該原生虛擬磁碟檔中包含一目標程式,及用以下載該目標程式;一本地磁碟,用以儲存至少一差異虛擬磁碟檔,各該差異虛擬磁碟係以該原生虛擬磁碟檔為基礎鏡像所建立;及一虛擬機器處理模組,用以執行與各該差異虛擬磁碟檔對應之一虛擬機器,使該虛擬機器執行該目標程式,及用以於該虛擬機器讀取該目標程式之一相關資料時,由與該虛擬機器對應之差異虛擬磁碟檔中讀取該相關資料,並於該目標程式儲存所產生之一差異資料時,將該差異資料儲存至與該虛擬機器對應之差異虛擬磁碟檔中。
  9. 如申請專利範圍第8項所述之以儲存區域網路提供讀取基礎鏡像之主機端,其中該主機端更包含一主機快取,用以儲存儲存該目標程式之至少一儲存區塊,使該發起模組下載該目標程式時,先判斷該主機快取中是否儲存各該儲存區塊,若是,則該發起模組由該主機快取中讀取各該儲存區塊,若否,則該發起模組下載未儲存於該主機快取中之其他儲存區塊,並將所下載之儲存區塊儲存至該主機快取中。
  10. 如申請專利範圍第8項所述之以儲存區域網路提供讀取基礎鏡像之主機端,其中該虛擬機器處理模組更用以在該本地磁碟上產生一臨時虛擬磁碟檔,並執行一虛擬機器,當該虛擬機器掛載該臨時虛擬磁碟檔後,安裝該目標程式時,該虛擬機器處理模組儲存該目標程式至該臨時虛擬磁碟檔中,並在該臨時虛擬磁碟檔中建立一代理程式,當該虛擬機器結束執行或卸載該虛擬磁碟檔時,該虛擬機器處理模組複製該臨時虛擬磁碟檔至該遠端磁碟為該原生虛擬磁碟檔,並將該相關資料寫入該差異虛擬磁碟檔中,使該虛擬機器於執行該目標程式前先執行該代理程式,藉以由該代理程式依據該相關資料設定該虛擬機器及/或該目標程式之初始環境,或該虛擬機器處理模組更用以在該遠端磁碟上產生該原生虛擬磁碟檔,並執行一虛擬機器,當該虛擬機器掛載該原生虛擬磁碟檔後,該虛擬機器安裝該目標程式時,該虛擬機器處理模組儲存該目標程式至該原生虛擬磁碟檔中,並在該原生虛擬磁碟檔中建立一代理程式,並將該相關資料寫入該差異虛擬磁碟檔中,使該虛擬機器於執行該目標程式前先執行該代理程式,藉以由該代理程式依據該相關資料設定該虛擬機器及/或該目標程式之初始環境。
TW101138401A 2012-10-18 2012-10-18 以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法 TWI460584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101138401A TWI460584B (zh) 2012-10-18 2012-10-18 以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101138401A TWI460584B (zh) 2012-10-18 2012-10-18 以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法

Publications (2)

Publication Number Publication Date
TW201416850A true TW201416850A (zh) 2014-05-01
TWI460584B TWI460584B (zh) 2014-11-11

Family

ID=51293807

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101138401A TWI460584B (zh) 2012-10-18 2012-10-18 以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法

Country Status (1)

Country Link
TW (1) TWI460584B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953833B2 (en) * 2008-01-31 2011-05-31 Wanova Technologies Ltd. Desktop delivery for a distributed enterprise
US8543998B2 (en) * 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
TW201214282A (en) * 2010-09-27 2012-04-01 Ibm Method and system for running virtual machine image

Also Published As

Publication number Publication date
TWI460584B (zh) 2014-11-11

Similar Documents

Publication Publication Date Title
JP6709245B2 (ja) 適応持続性システム、方法、インタフェース
US9697130B2 (en) Systems and methods for storage service automation
JP5496254B2 (ja) マシンから仮想マシンへの変換
US9613039B2 (en) File system snapshot data management in a multi-tier storage environment
US8966476B2 (en) Providing object-level input/output requests between virtual machines to access a storage subsystem
JP3641183B2 (ja) Raidデータ記憶システムにおける瞬時バックアップを提供する方法及びシステム
US8639876B2 (en) Extent allocation in thinly provisioned storage environment
US8966188B1 (en) RAM utilization in a virtual environment
US20230229637A1 (en) Intelligent file system with transparent storage tiering
US8812677B2 (en) Data processing method and apparatus for remote storage system
US8578064B2 (en) Interception and management of I/O operations on portable storage devices
WO2019061352A1 (zh) 数据加载方法及装置
JP2007334878A (ja) データを長期間アーカイブするシステムと方法
US20110145496A1 (en) Trace-assisted startup optimization from a virtual disk
CN110806911B (zh) 一种云桌面管控方法、装置及系统
US20140082275A1 (en) Server, host and method for reading base image through storage area network
US8769196B1 (en) Configuring I/O cache
US8356140B2 (en) Methods and apparatus for controlling data between storage systems providing different storage functions
US20130024486A1 (en) Method and system for implementing high availability storage on thinly provisioned arrays
TWI460584B (zh) 以儲存區域網路提供讀取基礎鏡像之伺服器、主機端及方法
US7987335B1 (en) Techniques for virtualizing data
US20180316758A1 (en) Method and apparatus for logical mirroring to a multi-tier target node
EP3591531B1 (en) Instant restore and instant access of hyper-v vms and applications running inside vms using data domain boostfs
JP2013228827A (ja) 計算機システムおよびインストール方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees