TWI428830B - 將機器轉換至虛擬機器的方法及電腦程式產品 - Google Patents

將機器轉換至虛擬機器的方法及電腦程式產品 Download PDF

Info

Publication number
TWI428830B
TWI428830B TW096108079A TW96108079A TWI428830B TW I428830 B TWI428830 B TW I428830B TW 096108079 A TW096108079 A TW 096108079A TW 96108079 A TW96108079 A TW 96108079A TW I428830 B TWI428830 B TW I428830B
Authority
TW
Taiwan
Prior art keywords
virtual
machine
hard disk
virtual machine
physical
Prior art date
Application number
TW096108079A
Other languages
English (en)
Other versions
TW200813839A (en
Inventor
Michael L Michael
William L Scheidel
Benjamin Alan Leis
Karan Mehra
Venkatasubrahmanyam Raman
Natalia V Varava
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW200813839A publication Critical patent/TW200813839A/zh
Application granted granted Critical
Publication of TWI428830B publication Critical patent/TWI428830B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

將機器轉換至虛擬機器的方法及電腦程式產品
本發明係關於可有效率地將實體機器轉換成虛擬機器之系統、方法、及電腦程式產品。
有多種方式可在一電腦化環境中分配不同類型之資源(軟體、硬體、或其組合)。舉例而言,由軟體的觀點而言,一企業可能在多重不同電腦上安裝一作業系統(或應用程式)之多重複本,且因而可在多種系統間分配一種複本。共享硬體之傳統方法包括在一網路上架設電腦系統,而使得多重不同電腦系統能基於各種儲存或檔案共享需求而存取另一種電腦之硬碟空間。
然而,硬體功能之最新進展(即,目前之儲存、記憶、及處理能力)使得單純提供傳統儲存和/或網路流量管理功能根本就浪費了一特定實體機器之公用。同樣地,由一種結合之軟體及硬體觀點而言,其他分配資源的現有方法包括在一單一實體系統上安裝多重虛擬電腦系統。一般而言,能夠以一特定作業系統之一獨一實例以及主機記憶體及處理能力之配置部份,將虛擬機器安裝於一主機之儲存器的一種專屬部份上。
因為這些及其他功能,可以輕易地區別虛擬機器和其他虛擬機器,且甚至可區別其和供其安裝之主機伺服器。對於網路上之其他使用者,虛擬機器看起來僅僅是一種一種獨立之可定址電腦系統,就像網路上之任何其他實體電腦系統一般。之後可將虛擬機器運用於一廣泛之目的中,例如作為一網路上之另一種伺服器(如,電子郵件或資料庫伺服器),用於軟體或硬體測試目的、作為一瘦用戶端之一主電腦系統等等。
除了此種功能之外,虛擬機器亦具有額外之優點,其能夠非常輕易地且在某些情形中快速地安裝及架設以及移除。舉例而言,一特定主機電腦系統之一管理者能接收對一虛擬機器之一要求,手動地在主機電腦上配置適當資源,以及之後安裝該要求之虛擬機器。當不再需要虛擬機器時,管理者能手動地選擇一或更多指令以關閉甚或刪除位於主機伺服器之虛擬機器。相對應地,一機構可能想要藉由擁有一或少數有能力主機代管上百種虛擬機器之主機伺服器來減少其實體機器(伺服器、個人電腦等)之數目。可以理解,此種整併可提供多種優點,特別是若該組織能夠減少各種資源消耗及機器管理成本,包括電力、溫度控制/冷卻、空間等方面之節省,以及因為減少利用實體機器所造成之其他節省。
很不幸地,藉由將一選擇數目之現存實體電腦系統轉換成虛擬機器來整併實體機器並不容易。特別是,僅將一實體磁碟之內容複製到一主機伺服器之分割通常不足以建立一種可用的虛擬機器。舉例而言,當實體機器在運行時對一實體機器之硬碟執行一基本複製可能產生檔案狀態之不一致性(即,資料並非「應用程式一致的」)。同樣地,對於正在實體機器存取資料之應用程式,當稍後將其移動至一虛擬機器時,可能無法利用資料之複本。此外,僅將此一複製轉移至一主機伺服器可導致系統註冊表中之其他不相容性、或和各種磁碟及網路驅動器之不相容性、作業系統二進制中之不相容性等等。雖然已有某些機制可處理這些問題,然而這些傳統機制通常涉及大量的停機時間以及資源浪費(由人類及軟體二者的觀點皆然)。
舉例而言,一種轉換一實體機器之方法涉及在一虛擬機器主機由暫存磁碟建立一虛擬機器。特別是,一管理者能僅在新虛擬機器安裝位於實體機器之所有應用程式、將檔案系統及應用程式資料轉移至虛擬機器、且之後由暫存磁碟在虛擬機器重建任何其他工作負載、和/或經由應用程式復原作業。當然,此種方法在許多方面而言都很不理想,且會導致浪費一組織之資源,特別是若想要將上百種實體機器轉換成虛擬機器。
轉換一實體機器之另一種方法涉及利用非常複雜的基礎建設組件,例如自動化布署服務(ADS)、和/或安裝前可執行環境(PXE)以建立一實體機器之內容的一種可轉移複製。一般而言,利用此種基礎架構之機制包括利用例如一PXE將實體機器關機、以及再啟動實體機器。這使得管理者能不載入固有作業系統便開啟實體機器,且因而可禁止在複製過程中寫入至檔案。
在複製實體磁碟內容之後,管理者接著能將內容轉移至一虛擬機器主機。對於數十億字元的資料,光是此一作業就可能花上數小時。當轉移資料後,管理者接著需要針對轉移之資料進行多種相對複雜之改變以使得複製之內容能夠以一虛擬機器來啟動。至少部份歸因於和讓正在轉換中之實體機器離線以及讓資料可啟動相關聯之停機時間,通常僅在以一虛擬機器之身份由暫存磁碟重建實體機器太過困難時,才會利用此方法。
相對應地,還有多種和將實體機器轉換成虛擬機器相關之問題有待處理。
本發明之實作解決了在有效率地將實體機器轉換成虛擬機器之系統、方法、及電腦程式產品等領域中的一或更多種問題。特別是,本發明之實作使得可在不必然需要讓實體機器離線的情形下,在例如一虛擬機器主機(或其他適當電腦系統)上快速地進行實體機器卷資料之複製、轉移並使其可啟動。在一種實作中,舉例而言,可利用一或更多應用程式寫入器(如,經由一卷影子複製服務)在當一或更多卷仍然在線上時,建立一或更多實體機器卷的一種應用程式(和/或檔案系統)一致之快照。之後能利用有效的轉移方式(如,塊層次複製)將快照(們)轉移至位於一主機伺服器之一虛擬硬碟檔案。之後可在虛擬機器主機修改與轉移之快照資料相關聯之作業資訊(如,啟動資料、系統註冊表及二進制等),因而使得可啟動該轉移之快照卷。
舉例而言,依照本發明之一實作的一種示範性方法,由一實體機器的角度而言,在不造成顯著停機時間的情形下將一實體機器轉換成一虛擬機器可可涉及識別用於一實體機器之一或更多卷之一或更多硬體組態設定。該方法亦可涉及建立對應於一或更多實體機器卷之一或更多一致快照。此外,該方法可涉及將一或更多快照傳送至一已掛載的虛擬硬碟檔案。再者,該方法可涉及將一或更多一致快照之一啟動記錄傳送至已掛載的虛擬硬碟檔案。在此種情形中,啟動記錄能形成可在虛擬機器主機修改(或由暫存磁碟建立,若有必要)之一或更多一致快照的作業資訊。
此外,依照本發明之一實作的另一種示範性方法,由一虛擬機器主機的角度而言,將一實體機器轉換成一虛擬機器可涉及建立一虛擬硬碟檔案其具有一檔案大小。該方法亦可涉及在一虛擬機器主機掛載虛擬硬碟檔案。在此種情形中,虛擬硬碟檔案能夠以一種可存取實體磁碟之形式呈現給一作業系統。此外,該方法可涉及接收對應於一或更多實體機器卷之一或更多一致快照。再者,該方法可涉及修改一或更多一致快照之作業資訊。同樣地,可使得一或更多一致快照適合作為在虛擬機器主機之一作業系統,例如藉由改變啟動記錄、驅動器、作業系統二進制、系統註冊表、和/或組態偏好設定。更進一步而言,方法可涉及移除虛擬硬碟檔案之掛載。因而無法以一種實體磁碟之形式來存取虛擬硬碟檔案,但反之能夠以一虛擬機器的形式啟動之。
提出本發明內容之目的在於以一種簡化之方式介紹下文實施方式中將進一步描述之某些概念的選擇。本發明內容之本意不在於指明申請專利範圍標的之主要特徵或關鍵特徵,且亦不應將之用於協助決定申請專利範圍標的物之範圍。
下文實施方式中將指出本發明之示範性實作的額外功能及優點,且其中部份在實施方式中顯而易見,或可由實作此示範性實作而得知。可利用附隨申請專利範圍中明確指出之設備及組合來實踐並達成此類實作之功能及優點。可由下文實施方式及附隨申請專利範圍或可由實作下述之此類示範性實作更清楚了解這些及其他功能。
本發明係關於可用以有效率地將實體機器轉換成虛擬機器之系統、方法、及電腦程式產品。特別是,本發明之實作使得可在不必然需要讓實體機器離線的情形下,在例如一虛擬機器主機(或其他適當電腦系統)快速地進行實體機器卷資料之複製、轉移並使其可啟動。在一種實作中,舉例而言,可利用一或更多應用程式寫入器(如,經由一卷影子複製服務)在當一或更多卷仍然在線上時,建立一或更多實體機器卷的一種應用程式(和/或檔案系統)一致之快照。之後能利用有效的轉移方式(如,塊層次複製)將快照(們)轉移至位於一主機伺服器之一虛擬硬碟檔案。之後可在虛擬機器主機修改與轉移之快照資料相關聯之作業資訊(如,啟動資料、系統註冊表及二進制等),因而使得可啟動該轉移之快照卷。
相對應地,本發明之實作提供之優點如相對快速、「單次觸碰」之實體至虛擬機器轉換,且其能避免實體機器停機時間。再者,本發明之實作可允許一種可靠之「單次觸碰」實體至虛擬機器轉換,因為在虛擬機器主機經轉換之機器將會一致。由下列說明及申請專利範圍能夠更完整地了解,能夠利用任何數目之適當組件及模組來達成此種轉換。舉例而言,本發明之實作可包括在一卷影子複製服務(VSS)中運用組件及機制以建立應用程式(和/或檔案系統)一致之快照。此種組件可在快照處理過程中建立運行中之一或更多實體機器卷的一或更多一致快照(或時點影像)。
此外,本發明之實作可包括運用一卷磁碟服務("VDS")和/或相關組件。一般而言,一VDS(或相關組件(們))包括用以在實體磁碟上建立並組態卷之平台。再者,本發明之實作包括運用一「磁碟成像器」以及在某些情形中運用一「影像掛載器」。一般而言,一磁碟成像器包括組件和/或模組可用以建立一種以磁區(或位元組磁區)為基礎之一實體磁碟或卷的複製,只要指定欲複製之一開始位置及位元組數目(或位元組磁區)。相反地,一影像掛載器工具至少包含一或更多組件和/或模組,其可用以將例如一虛擬硬碟檔案當成輸入,並將虛擬硬碟檔案掛載於檔案系統中以便以一實體磁碟之形式暴露該檔案。可使此種暴露之實體磁碟可供一作業系統存取,就如同任何其他實體磁碟可供一作業系統存取一般,這包括讓資料寫入其卷(們)中之能力。
本發明之實作更包括在一虛擬機器主機運用一虛擬硬碟檔案("VHD"檔案),其中VHD檔案至少包含由一或更多虛擬機器("VM")管理(且可於內部存取)之一種實體磁碟及一或更多實體磁碟卷。雖然在某些微軟環境中利用「虛擬機器」、「虛擬機器主機」、及「VHD檔案」等詞彙,可以理解,此處參照微軟組件(和/或WINDOWS伺服器組件)僅為例示性質。特別是,在閱讀本說明書及申請專利範圍之後,可以理解此處所述之組件、模組、和/或機制可見於並實作於能夠實作虛擬機器或此類相關實體之一種廣泛的作業環境中。
參照第1A圖,其為一示範性電腦化環境100之摘要概要圖式,可在其中將實體機器105(如,一個人電腦、一實體伺服器等)轉換成由一虛擬機器主機110主機代管之一虛擬機器。在一種元件層級,將一實體機器(如,105)轉換成一虛擬機器(如,175,第1C圖)可涉及取得一或更多實體機器卷(們)(如,115)之一快照、在一虛擬機器主機建立一虛擬機器硬碟檔案(們)(如,140)、將快照(們)轉移成VHD檔案、及之後使得可將VHD檔案中之轉移之快照卷(們)的一或更多者以一虛擬機器(如,175)之方式啟動。因此,可以理解,可實作多種不同準備及作業後處理以便有效率地進行轉換。
在至少一種實作中,舉例而言,可藉由運用轉換模組130(即,其可包括位於機器105和/或主機110之一或更多模組)來初始轉換處理,其可初始在實體機器105之實體磁碟(們)上的一或更多卷(如,卷115)之快照作業。一般而言,轉換模組130能至少包含任何適當寫入器及要求器可用以建立一實體磁碟卷的一種一致影子複製。如前所述,舉例而言,可在一卷影子複製服務中提供此種寫入器及要求器。因此,舉例而言,可藉由將一信號傳送至一實體磁碟之一或更多卷的每一者(如,卷115)中的所有應用程式寫入器來開始轉換模組130之轉換處理,以開始其資料之快照作業。如圖所示,舉例而言,卷115包括至少卷資料125、以及啟動記錄120。
當由轉換模組130接收此訊息時,卷115上之每一應用程式寫入器可將記憶體中之資料清除至實體磁碟,和/或凍結任何檔案系統或卷日誌。對於並未使用一應用程式寫入器之應用程式,轉換模組130能指令(如,經由預設、或藉由來自一使用者或管理者之命令)以關閉應用程式,且因而可確保在快照過程中不會進行任何寫入。相對應地,第1A圖闡明,之後轉換模組130可建立卷115上所有卷資料之一種單一時點快照(即,複製)。舉例而言,第1A圖闡明轉換模組130已經建立卷115(即,「快照卷」)之一快照117,在此情形中,其中快照117至少包含卷資料127及啟動記錄120。
可以理解,當進行快照或執行快照(及複製)作業時可執行多種最佳化,以確保利用有效率之方式來複製並轉移資料。舉例而言,轉換模組130能識別卷115之何種部份正在使用中(即,包括資料)以及何種部份為自由的。因此,快照作業僅可用以複製卷(們)或實體磁碟之已使用部份,而非整個卷(們)或整個實體磁碟。此外,可進一步利用快照作業以避免在一虛擬化環境中可能較沒有用處(或完全無用)之某些檔案。
特別是,舉例而言,快照作業更可用以將此類檔案識別成包括於一卷差異區域、頁檔案、壞叢集、冬眠檔案等中之檔案。因此,當建立快照117或執行位元組磁區轉移時可避免這些檔案,且更可減少需要轉移至虛擬機器主機110的資料量。可以理解,在一種廣泛的作業環境中,這些類型之檔案及最佳化可和其他類型檔案、使用或自由空間計算、及與其相似者不同。
在任何事件中,且作為說明,快照117中之資料127一般而言可和卷115上之原始資料125不同,主要示因為在快照作業中(和/或之後)時間的改變所造成。舉例而言,由於在快照作業中,實體機器105仍然運行,卷資料125可能持續改變,例如若一使用者正持續對某些應用程式資料進行寫入。因此,卷資料127(即,「卷資料127」)可表示卷115上之資料125的一種較早之一致時點,其大致上為轉換模組130初始快照處理之該時點。
雖然如此,第1A圖亦闡明快照117上之啟動記錄120和卷115之運行資料上者相同。亦即,可以理解,由於應用程式通常無法存取啟動記錄,在快照處理中啟動記錄(如,120)可能不會改變。特別是,一般而言會由作業系統來改變啟動記錄,且通常是在一種少見的基礎上,如果會發生的話。同樣地,第1A圖闡明在此種情形中,啟動記錄120和其在快照作業之前相同。
在建立快照117之前、過程中、或不久之後,轉換模組130亦可在對應於實體機器105實體磁碟(此處未顯示)之虛擬機器主機110設置一或更多虛擬硬碟("VHD")檔案140。舉例而言,第1A圖闡明轉換模組130傳送訊息150以建立可寫入虛擬硬碟檔案140。在一種實作中,這亦可包括首先傳送一訊息以建立一特定固定大小之一VHD檔案(們)(如,140),且之後傳送一獨立訊息以使得VHD檔案為可寫入。(轉換模組130亦可傳送一訊息以建立(可寫入或以其他方法)一種動態大小之VHD檔案,其可隨著加入之資料而增加大小。
一般而言,可將每一VHD檔案用以對應至一電腦系統之一單一實體磁碟,且可在新建立之VHD檔案中將一實體磁碟內之每一卷表示成一類。然而,在某些情形中一VHD檔案可表示一單一卷而非一整個實體磁碟。雖然如此,在實體磁碟實施例中一實體磁碟具有多重卷(雖然僅顯示單一卷115),新VHD亦可含有對應於多重卷之資料。當然,就這方面而言有某些彈性存在。舉例而言,若實體機器105之一使用者擁有之一卷係分散於多重分割(和/或映射之卷等)間,使用者可決定僅將一種分割專屬於目的地虛擬硬碟檔案中之快照資料。相似地,使用者可決定僅將至少包含多重卷之一實體磁碟的一卷傳送至一虛擬硬碟檔案。
因此,VHD檔案之大小一般而言會和關於轉移之來源(如,實體磁碟、特別實體磁碟卷、實體磁碟內之資料等)資料所需之大小一樣大。同樣地,可以理解,當將一現存虛擬機器複製到一較大儲存空間時,亦可進一步運用此處所述之技術。舉例而言,一管理者,當識別到一虛擬機器之卷儲存能力逐漸縮減時,可藉由利用上述之相同處理將其快照資料傳輸(如,複製)到新VHD檔案(們)中,以建立額外、較大的VHD檔案(們)、快照虛擬機器資料、以及實質上「重新虛擬化」虛擬機器。
因此,本發明之實作不僅包括「實體至虛擬」機器轉換,亦包括「虛擬至虛擬」機器轉換。特別是,及在某些情形中,亦可將本發明之實作更概括地稱為將一「機器」轉換成一「虛擬機器」。亦即,可理解一「機器」應包括「實體」電腦系統(如,一桌上型電腦其具有相關聯之硬體及作業系統(們))及「虛擬」電腦系統(如,以一種獨一電腦系統(們)之形式裝置於一虛擬機器主機上之一電腦系統)二者。
在任何事件中,當建立虛擬硬碟檔案140時,轉換模組130可將檔案140掛載成一實體磁碟,而使得檔案140能經由例如網路通訊來接收快照117之資料。(可以理解,在此處所述之某些實作中,甚至可能不需要掛載。)因此,第1A圖亦闡明轉換模組130傳送訊息155以掛載虛擬硬碟檔案140。在額外或替代性實作中,訊息155能包括一指令以便將VHD檔案140掛載於正在轉換之實體機器105上的虛擬機器主機110之任一者上,或任何地方只要其和在掛載VHD檔案140之機器以及轉換中之實體機器(即,在此情形中為105)問有網路連線。
掛載檔案140之部份可包括將一或更多裝置識別符,如一實體磁碟之裝置ID和檔案建立關聯。舉例而言,可指令虛擬機器主機110掛載虛擬硬碟檔案140而使得可經由一磁碟路徑\\.\device\Harddisk 145\識別之。特別是,第1B圖闡明可將VHD 140識別為「磁碟機145」。接著,轉換模組130亦可識別每一快照(如,117)之一裝置識別符(和/或掛載點,舉例而言)。最後,轉換模組130能利用經識別之任何快照及任何相對應之VHD檔案的裝置識別符來轉移快照內容。
一般而言,轉換模組130可利用任何數目之資料轉移機制來轉移快照117內容。在一種實作中,舉例而言,轉換模組130能以一種每一位元組之基礎經由磁碟機145將快照117轉移成到檔案140中。然而,在額外或替代性實作中,轉換模組130能藉由識別並轉移「位元組磁區」將快照117轉移至檔案140。一般而言,位元組磁區至少包含個別位元組之一種固定序列(具有任何任意大小)。在至少一種實作中,轉移位元組磁區,而分個別位元組,可大幅增加透過一網路轉移快照117之速度。
舉例而言,數十億位元組的資料通常可能耗費數個小時才能透過傳統網路轉亦通訊協定轉移至虛擬機器主機110,但在某些情形中利用位元組磁區轉移機制可能僅需數分鐘即可完成。在任何事件中,第1B圖闡明在此種情形中,轉換模組130可轉移位元組(或位元組磁區)「1601 」、「1602 」等,且可將這些位元組/位元組磁區經由磁碟機145直接轉移至可寫入虛擬硬碟檔案140。如第1B圖所示,當完成資料轉移時,虛擬硬碟檔案140可具備全部的啟動記錄120,且可包括快照117中擷取之其他卷資料127。
除了資料轉移,虛擬硬碟檔案140在虛擬機器主機110可能不必然可啟動,因為在虛擬機器主機110的脈絡中啟動資料及驅動器可能沒有用處。其原因之一在於存在於虛擬機器環境中(和/或虛擬機器主機110內)之「虛擬硬體」可能和實體機器105之硬體不同。舉例而言,此種組件如實體機器105上之核心及硬體抽象化層("HAL"),舉例而言,可能以一種一雙處理器系統為基礎。此外,虛擬機器主機110能將不同網路卡驅動器、處理器架構、實體磁碟(如,連接至機器之儲存器)、實體磁碟識別器、作業系統驅動器、及磁碟機等仿真成在轉換中之來源機器(如,實體機器105)可能無法以其他方示發現之主機代管的虛擬機器。當由虛擬主機將一實體磁碟卷轉換成一虛擬機器時亦可能存在此種差異。
因此,轉移之啟動記錄120能夠以位於實體機器105的作業系統特徵為基礎,且該特徵不必然適用於虛擬機器主機110之適當虛擬化環境內。這些及其他理由表示一管 理者可能需要隨著特定作業環境(們)之不同進行多種不同修改。相對應地,轉換模組130亦可修改虛擬硬碟檔案140使其可在虛擬機器主機110啟動。在某些情形中,這可以包括以快照資料為基礎之指令以更新用於將建立之虛擬機器的核心及HAL一以及其他驅動器及註冊表設定。
因此,舉例而言,第1C圖闡明轉換模組130亦可將訊息165及相對應之引數傳送至虛擬機器主機110以修改作業資訊。(在某些情形中,甚至可在實體機器(在於一VHD檔案之中進行轉移之前)進行對於虛擬機器之作業資訊(如,啟動扇區及註冊表資訊)的這些修改)。在一種實作中,其可包括以轉換模組130檢查卷快照117之啟動記錄、及利用以虛擬機器之新磁碟及卷組態為基礎之新啟動資訊(如,修改之啟動資訊、或來自暫存磁碟之新啟動資訊)取代先前轉移之啟動記錄120。在另一種步驟中,轉換模組130亦可檢查轉移之卷快照117的註冊表資訊(此處未顯示),並利用對虛擬機器110適當之形式以存在於虛擬機器主機110上之新硬體及驅動器為基礎,更新該轉移之註冊表資訊。
此種更新亦可包括改變系統二進制,例如核心及HAL驅動器,由多處理器改變成一種單一處理器硬體組態。此外,此種更新可包括加入對虛擬機器主機110獨一之電腦及磁碟識別資訊、加入對虛擬機器主機110獨一之任何適當磁碟或檔案驅動器、以及改變註冊表資訊以順應適當網路驅動器、儲存驅動器等等。此種更新能更包括以虛擬裝置之驅動器取代實體裝置之驅動器、將用於在虛擬環境中沒有相對應虛擬裝置之硬體的驅動器去能、以及將依賴在虛擬環境中沒有相對應虛擬裝置之裝置的服務及應用程式去能。
此外,轉換模組130更能建立用於預定之虛擬機器(如,175)的這些和/或其他適當組態值,而使得所產生之虛擬機器(如,175)可利用和在原始實體機器105相同之偏好設定(如,記憶體,CPU等)來作業。相似地,虛擬機器主機110之一管理者亦可(或替代性地)針對所產生之虛擬機器修改這些偏好設定。再者,管理者甚至可以由暫存磁碟建立此類作業資訊(即,組態值,偏好設定等)。在任一種情形中,可以理解,多種實體能夠進行任何適當數目之組態改變,以確保所產生之虛擬機器可啟動,且可正確地在虛擬機器常駐(如,虛擬機器主機110)上作業。
在適當地修改/建立適當啟動記錄(即,由120至123),系統註冊表資訊、驅動器資訊、和/或其他組態或偏好資訊之後,轉換模組130接著能夠移除虛擬硬碟檔案140之掛載(即,「解除掛載」),而使得其不再能夠以一磁碟之形式存取。舉例而言,第1C圖闡明轉換模組130將訊息170傳送至虛擬機器主機110、指令虛擬機器主機110移除虛擬硬碟檔案140之掛載。在移除此掛載之後,可利用虛擬硬碟檔案(們)140作為虛擬機器175,其資料大致上和開始快照作業時卷115之資料相同。
特別是,新虛擬機器175所管理之卷(們)內的資料在每一種適當的態樣中皆為一致(如,應用程式一致、檔案系統一致、和/或損壞一致等)。因此,實體機器105之一先前使用者現在能夠在虛擬機器主機110啟動虛擬機器175且其利用虛擬機器(包括存取先前資料)之形式就如同(或比假設情形更為理想)使用者在利用實體機器105一般。此外,可以理解,VHD檔案一般而言為可攜帶的。舉例而言,在至少一種實作中,終端使用者能將虛擬機器175轉移至任何所想之位置(即,另一種虛擬機器主機),其可僅藉由將與虛擬機器175相關聯之虛擬機器檔案(們)(如,VHD檔案(們)等)轉移至所想位置並執行任何必須之作業資訊更新。
在另一種實作中,甚至可在實體機器105本身建立一或更多VHD檔案(如,140),且之後將之傳送/轉移至適當虛擬機器主機(如,110)。舉例而言,位於實體機器105之一使用者能在該實體機器建立一VHD檔案(如,140),並將快照內容轉移至在實體機器之目標資料的VHD檔案中。這是可供使用者用以避免掛載VHD檔案(即,在虛擬機器主機110)之至少一種方法,若有需要的話。在任一種情形中,之後使用者能將VHD檔案及相對應之快照內容傳送/轉移至一適當目的地(如,虛擬機器主機110),並改變在目的地之相對應作業資訊。或者是,使用者甚至可在將VHD檔案及快照內容傳送至新目的地之前在來源(如,實體機器105)改變VHD檔案及快照內容之作業資訊。
在某些情形中,並非建立一VHD「檔案」,而是同樣地利用一模組(如,轉換模組130)由位在實體機器105中可有效用於無傳輸之部份(如,位元組磁區)的快照資料及VHD元資料所建立的記憶體進行串流。可根據適當VHD格式/內容規格以一VHD格式來格式化欲串流之資料。因此,在轉移至目的地(如,虛擬機器主機110)之後,可接著將串流儲存成一VHD檔案,因為串流之資料係以VHD格式產生。這也是另一種可避免掛載VHD檔案之方法。
相對應地,第1A-1C圖闡明多種概要圖式及組件,可根據本發明之實作利用其建立實體機器卷資料之一快照以及由該資料建立一新虛擬機器資料。除了上述說明之外,亦可以方法之流程圖來描述本發明之實作,其至少包含一或更多動作可用以達成一特定結果。舉例而言,第2圖之流程圖由實體機器105及虛擬機器主機110之角度闡明將一機器例如一實體機器或一不同虛擬機器轉換成一虛擬機器之方法。下文參照第1A至1C圖之機制內的組件來描述第2圖之方法。
舉例而言,第2圖由實體機器105之角度闡明一種方法,其可在一虛擬機器主機將一實體機器轉換成一虛擬機器而不會在一或更多實體機器卷上造成顯著停機時間,其至少包含一動作200以識別實體機器之硬體組態。動作200包括識別用於一機器之一或更多卷的一或更多硬體組態設定。舉例而言,第1A圖闡明轉換模組130,其可在初始快照處理之前識別卷115上之硬體(和/或軟體)組態設定。其可包括識別啟動記錄120及卷資料125因為其位於卷115上之實體機器105,且更能包括識別資料是否可用於一多處理器環境中、作業系統支援之檔案中的不相容性、是否有應納入考量之儲存器及網路驅動器等等。
此外,第2圖由實體機器105之角度闡明的方法能至少包含一動作210以建立一或更多卷之一快照。動作210包括建立對應於一或更多機器卷的一或更多一致快照。舉例而言,第1A圖闡明轉換模組130可建立卷115之快照117,其包括與先前相同之啟動記錄120,以及卷資料127。在至少一種實作中,轉換模組130能調用卷115上涉及寫入器之可用快照處理,或僅關閉不能使用該寫入器之應用程式(或其他寫入處理)。因此,可確保在快照處理之後,一單一實例之快照117內的資料為一致(如,應用程式一致)。
第2圖亦由實體機器105之角度闡明方法,其能至少包含一動作220以將快照(們)傳送至一已掛載的虛擬磁碟檔案。動作220包括將一或更多一致快照傳送至一已掛載的虛擬硬碟檔案。舉例而言,轉換模組130可針對在實體機器105進行之每一快照擷取裝置識別符,並進一步針對在虛擬機器主機110已掛載的之每一虛擬硬碟檔案擷取任何裝置識別符。當擷取適當裝置識別符時,第1B圖闡明轉換模組130能將快照117之卷資料127轉移至虛擬硬碟檔案140中,例如利用位元組(或位元組磁區)轉移/複製機制。
第2圖更由實體機器105之角度闡明方法,其能至少包含一動作230以將啟動記錄(們)傳送至已掛載的虛擬磁碟檔案。動作230包括將一或更多一致快照之一啟動記錄傳送至已掛載的虛擬硬碟檔案,而使得可在虛擬機器主機修改一或更多一致快照之啟動記錄。舉例而言,第1B圖闡明轉換模組130亦可將啟動記錄120傳送至虛擬硬碟檔案140。第1C圖亦闡明轉換模組130能將用以修改啟動記錄120之訊息165傳送至記錄123,而使得啟動記錄123對虛擬機器主機110之作業環境為一致的。在一種實作中,僅能由暫存磁碟建立新虛擬機器之新啟動記錄,而非僅僅傳送及修改。
除了上述之外,第2圖由虛擬機器主機110之角度闡明一方法,其可在一虛擬機器主機將一機器(即,實體機器或先前虛擬機器)轉換成一虛擬機器而不會在一或更多機器卷上造成顯著停機時間,其至少包含一動作240以建立一虛擬硬碟檔案。動作240包括建立一虛擬硬碟檔案其具有一檔案大小。舉例而言,第1A圖闡明虛擬機器主機110接收訊息150其可指令虛擬機器主機110建立一可寫入虛擬硬碟檔案,以及接收一指令以使得新虛擬硬碟檔案可寫入。作為回應,虛擬機器主機110可建立虛擬硬碟檔案140並使得其可寫入。如前所述,在此處,虛擬硬碟檔案大小可以是靜態或動態。舉例而言,可將虛擬硬碟檔案140設定為1千億字元,以便順應卷115資料之5百億字 元。或者是,轉換模組130可設定虛擬硬碟檔案140隨著額外資料轉移而動態地成長。
第2圖亦由虛擬機器主機110之角度闡明方法,其能至少包含一動作250以掛載虛擬硬碟檔案。動作250包括在一虛擬機器主機掛載虛擬硬碟檔案,而使得虛擬硬碟檔案以一種可存取實體磁碟之形式呈現。舉例而言,第1A圖闡明虛擬機器主機110接收一訊息155以掛載虛擬硬碟檔案140。在一種實作中,可指令虛擬機器主機110將檔案140和一特定裝置識別符建立關聯,且之後將該識別器掛載成一實體裝置。之後可如同一磁碟機145來檢視並存取虛擬硬碟檔案140。
此外,由虛擬機器主機110之角度的方法能至少包含一動作260以接收一或更多快照。動作260包括接收對應於一或更多實體機器卷之一或更多一致快照的資料。舉例而言,如第1B圖所示,虛擬機器主機110可利用任何適當轉移機制(即,不論是任何網路轉移通訊協定上之每一位元組轉移或每一位元組磁區轉移)接收卷資料127及啟動記錄120。
再者,第2圖由虛擬機器主機110之角度闡明方法,其能至少包含一動作270以修改啟動記錄。動作270包括修改用於一或更多一致快照之作業資訊,而使得一或更多一致快照適用於位於虛擬機器主機之一作業系統。如第1C圖所示,舉例而言,虛擬機器主機110可接收訊息165以修改作業資訊。舉例而言,訊息165能包括一或更多要求 以識別適當虛擬機器主機110類別,並以一種適當方式將啟動記錄120改變成啟動記錄123。訊息165(或另一種此處未顯示之訊息)亦可包括一或更多要求以改變註冊表和/或作業偏好資訊。
此種對於一作業本質之改變可包括,舉例而言,任何數目之硬體及作業系統組態(如,處理器、硬體驅動器、磁碟機/識別器及儲存驅動器/識別器、網路驅動器等之數目)。可能需要考量此種改變以確保虛擬機器之新作業系統可和虛擬環境相容且可適當地作用。一作業本質之改變更能包括各種註冊表調處,例如驅動器及其他硬體之使用、正在取代和/或註冊為二進制之驅動器的身份識別、對核心和/或HAL資訊之更新等等。一作業本質之改變還更能包括用於虛擬機器之各種組態偏好設定,例如關於記憶體和/或CPU之要求。
此外,第2圖由虛擬機器主機110之角度闡明方法,其能至少包含一動作280以移除虛擬硬碟檔案掛載。動作280包括移除硬碟檔案之掛載,而使得虛擬硬碟檔案無法以一實體磁碟之形式供存取。舉例而言,虛擬機器主機110可接收訊息170,其要求虛擬機器主機110移除虛擬硬碟檔案140之掛載。之後虛擬機器主機110之後能將虛擬硬碟檔案解除掛載,而使得檔案140不再可透過本機或一網路以一主機層級磁碟機之形式存取。因此,虛擬磁碟檔案140能以虛擬機器175啟動,其可含有對一單一實例而言在時間上一致之資料,且已就緒可在虛擬機器主機110作業。特別是,且由一終端使用者之角度而言,虛擬機器175-就差不多所有意圖及目的而言-大致上為進行快照作業之前的實體機器105之相同形式(即,相同資料、或其資料子集(們))。
相對應地,第1A-1C圖及第2圖提供了多種組件及機制以用於有效率地將一機器(如,一實體機器或先前虛擬機器)轉換成一虛擬機器。特別是,圖式及相對應之文字描述在至少一態樣中如何完成本發明之實作而不必然需要再啟動一轉換中之機器,和/或不必然需要再啟動至一ADS或PXE環境中。同樣地,上述組件及機制使得研傳統磁碟及網路轉移速度下能夠相對快速地建立實體機器。
如此處所述,可以理解,可改變並修改本發明之實作以用於一廣泛之最佳化、及廣泛之硬體及作業系統環境。舉例而言,本發明之實作可輕易用以將任何類型之機器轉換成一新虛擬機器。對於一先前虛擬機器,舉例而言,一使用者可能想要對於其卷已經超過最大容量之一虛擬機器建立更多儲存空間。相對應地,使用者能夠建立大於先前虛擬機器VHD檔案之一或更多VHD檔案、快照先前虛擬機器資料、並及將該虛擬機器快照資料轉移至較大VHD檔案。更進一步而言,更可將此處所述之轉換處理分割成此處所述以外之多重獨立步驟。舉例而言,若一使用者有一方法將一卷影像轉移至一目標機器,使用者能夠僅調用一修復作業以「虛擬化」影像或與其相似者,而使得可在目標機器啟動該影像。
除了上述之外,可以輕易了解,本發明之實作亦可運用於一廣泛之磁碟組態。舉例而言,其上裝置了機器卷115之實體磁碟(們)可以示一作業系統中之一基本或動態磁碟之任何一或更多者,且更可擁有多種分割和/或卷。雖然如此,此處所述之程序、組件、及機制可運用於虛擬機器中之此種變形,如同其在先前機器(如,實體機器或先前虛擬機器)中一般。特別是,可將與一實體動態或基本磁碟相關聯之特徵轉移至虛擬機器主機,而使得新虛擬機器可如同先前和基本或動態磁碟性質一般動作。相對應地,可廣泛運用此處所述之組件、模組、及機制,以確保能夠由一先前機器不間斷地轉換至該先前機器之一種新的虛擬化形式。
本發明之具體實施例可至少包含一特殊用途或一般用途電腦,其包括各種電腦硬體,如下文將詳述。本發明之範圍內的具體實施例亦包括電腦可讀取媒體其可用以攜帶或其上儲存了電腦可執行指令或資料結構。此種電腦可讀取媒體可以是任何可用媒體其能供一種一般用途或特殊用途電腦存取。
作為實施例且非限制,此種電腦可讀取媒體可至少包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁儲存或其他磁性儲存裝置、或任何其他媒體其能夠用以攜帶或儲存屬於電腦可執行指令或資料結構形式之任何所需程式碼且其可供一種一般用途或特殊用途電腦存取。當透過一網路絡另一種通訊連接(不論是有線、無線、或有線或無線之一組合)將資訊轉移至或提供給一電腦時,電腦可適當地將該連線視為一種電腦可讀取媒體。因此,可將任何此類連線適當地稱為一電腦可讀取媒體。上述之組合亦可包括於電腦可讀取媒體之範圍內。
電腦可執行指令至少包含,舉例而言,指令及資料其可導致一種一般用途電腦、特殊用途電腦、或特殊用途處理裝置執行某些功能或功能群組。雖然此處以專屬於結構功能和/或方法學動作之語言來描述本發明之標的物,可以理解,申請專利範圍中所界定之標的無不必然限於上述之特定功能或動作。反之,所揭露之上述特定功能及動作為實作申請專利範圍之示範性形式。
能夠以其他形式實作本發明,而不致悖離其精神或主要特徵。從任何角度而言,所述具體實施例僅為說明性質且非限制性。因而本發明之範圍係由申請專利範圍而非上述說明所界定。應將所有屬於申請專利範圍之等價物之意義及範圍內的改變包括於申請專利範圍內。
100...示範性電腦化環境
105...實體機器
110...虛擬機器主機
115...實體機器卷
117...快照
120、123...啟動記錄
125、127...卷資料
130...轉換模組
135...卷
140...虛擬機器硬碟檔案
145...磁碟機
150...實體機器
155、165...訊息
1601 、1602 、1603-n ...位元組(位元組磁區)
175...虛擬機器
為了描述可達成本發明之上述及其他優點及功能的方式,關於上文簡述之本發明的更具體詳細說明將參照附隨圖式中闡明之本發明之特定具體實施例來進行說明。有鑑於這些圖式僅描繪本發明之典型具體實施例,且因而不應將其視為對本發明範圍之限制,可利用附隨圖式更具體且詳細地描述並解釋本發明,其中:第1A圖為一摘要概要圖式,闡明依照本發明之一實作,在一虛擬機器主機取得一或更多實體磁碟卷(們)之一或更多快照以及建立一或更多虛擬硬碟檔案;第1B圖闡明第1A圖之摘要概要圖式,其中利用有效率之轉移機制將實體磁碟卷(們)之一或更多快照的資料轉移至建立之虛擬硬碟檔案中;第1C圖闡明第1A-1B圖之摘要概要圖式,其中依照本發明之一實作修改含有轉移之快照資料的虛擬硬碟檔案以建立一可啟動虛擬機器;以及第2圖為流程圖,由一實體機器及一虛擬機器主機之角度闡明用以將一或更多機器轉換成相對應之一或更多虛擬機器的方法。
100...示範性電腦化環境
105...實體機器
110...虛擬機器主機
115...實體機器卷
117...快照
120...啟動記錄
125、127...卷資料
130...轉換模組
135...卷
140...虛擬機器硬碟檔案
150...實體機器
155...訊息

Claims (20)

  1. 一種在包括有一經設置以進行主機代管一或更多虛擬機器之虛擬機器主機的電腦化環境下之一機器(其包括一或更多卷(volume))中用以將該機器轉換成該虛擬機器主機內之一虛擬機器之方法,該方法包含下列動作:識別一或更多硬體組態設定,其可用於一機器之一或更多卷;當該一或多個機器卷為活動時,建立一或更多一致快照(consistent snapshots),該些快照係對應於該一或更多機器卷;傳送該一或更多一致快照至一已掛載的虛擬硬碟檔案;以及傳送該一或更多一致快照之一啟動紀錄至該已掛載的虛擬硬碟檔案,使得能在該虛擬機器主機中修改該一或更多一致快照之啟動紀錄以被適當的運用於在該虛擬機器中之一作業系統。
  2. 如申請專利範圍第1項所述之方法,其中藉由將該至少一快照以一組一或更多位元組磁區之形式轉移,而將該一或更多一致快照之至少一者傳送至該虛擬機器主機。
  3. 如申請專利範圍第1項所述之方法,其中該機器為一實體機器,且該實體機器及虛擬機器主機為相同之電腦 系統,使得該實體機器之一或更多卷可轉移至在該相同電腦系統內之實體機器的一不同磁碟裝置上。
  4. 如申請專利範圍第1項所述之方法,其中該一或更多機器卷至少包含安裝於一動態實體磁碟上之複數個機器卷。
  5. 如申請專利範圍第1項所述之方法,其中該建立一或更多一致快照之動作至少更包含下列動作:識別該一或更多機器卷上之已使用空間及自由空間;識別在快照或複製作業過程中已使用空間中欲避免的一或更多檔案,該欲避免之一或更多檔案包括下列一或更多者:一卷差異區域檔案、一頁檔案、一壞叢集及一冬眠檔案;以及將來自該一或更多機器卷之資料複製到一或更多虛擬硬碟檔案,使得該複製之資料僅包括下列之一者:(i)該經識別之已使用空間;或(ii)該經識別之已使用空間而不具有該欲避免之一或更多檔案。
  6. 如申請專利範圍第1項所述之方法,其中該識別一或更多硬體組態設定之動作更包含下列動作:識別該一或更多卷上之一或更多應用程式,其係經配 置用於涉及寫入器之快照處理;以及傳送一指令至每一經識別之應用程式,以開始涉及寫入器之快照處理。
  7. 如申請專利範圍第6項所述之方法,更包含下列動作:識別非配置用於涉及寫入器之快照處理的一或更多應用程式;以及關閉每一該經識別之一或更多應用程式,其係經設定非用於涉及寫入器之處理。
  8. 如申請專利範圍第1項所述之方法,更包含下列動作:傳送一或更多指令至該虛擬機器主機以建立一虛擬硬碟檔案;以及傳送一指令至該虛擬機器主機使得該虛擬硬碟檔案成為可寫入的。
  9. 如申請專利範圍第8項所述之方法,其中該虛擬硬碟檔案的大小為動態的,使得該虛擬硬碟檔案之大小可隨著時間改變。
  10. 如申請專利範圍第8項所述之方法,更包含下列 動作:傳送一或更多指令以掛載該虛擬硬碟檔案,因此建立前述已掛載的虛擬硬碟檔案;以及識別用於該已掛載的虛擬硬碟檔案之一裝置識別符。
  11. 如申請專利範圍第10項所述之方法,更包含以下動作:識別可用於該一或更多一致快照之一或更多裝置識別符。
  12. 如申請專利範圍第1項所述之方法,更包含下列動作:識別該虛擬機器主機之一或更多系統值;以及傳送一指令,其可依照該經識別之一或更多系統值修改用於該一或更多一致快照之資料的作業資訊;其中該修改作業資訊之指令包括一用以修改以下一或多者之指令:(i)啟動紀錄;(ii)系統註冊表資訊;(iii)一或更多驅動器;(iv)作業系統二進制;(v)核心二進制;或(vi)該虛擬機器之一或更多組態偏好設定。
  13. 如申請專利範圍第12項所述之方法,其中該修改作業資訊之指令包括下列一或多者:一或更多指令,以便以一或更多虛擬裝置之驅動器來取代一或更多實體裝置之驅動器;一或更多指令,以使在虛擬環境中欠缺相對應之虛擬裝置的硬體之裝置驅動器失效(disable);或一或更多指令,以使依賴不存在於該虛擬機器主機之一或更多裝置的一或更多服務失效。
  14. 如申請專利範圍第12項所述之方法,更包含一動作:將一或更多指令傳送至該虛擬機器主機以解除掛載該虛擬硬碟檔案,使得能夠以一虛擬機器之形式但無法以一實體磁碟之形式來存取該虛擬硬碟檔案。
  15. 一種在一電腦化環境之一經設定可代管一或更多包括一或更多卷(volume)的虛擬機器之虛擬機器主機中,用以在該虛擬機器主機上將一實體機器轉變成一虛擬機器的方法,該方法至少包含下列動作:建立一虛擬硬碟檔案,其具有一檔案大小;將該虛擬硬碟檔案掛載在一虛擬機器主機上,使得該虛擬硬碟檔案呈現為一可存取實體磁碟;接收對應於一或更多實體機器卷之一或更多一致快照,其中當該實體機器卷為活動時,構成該複數個快照; 修改於該一或更多一致快照中,相對應一啟動紀錄及一註冊設定之作業資訊,使得該一或更多一致快照適用於在該虛擬機器主機啟動一作業系統;以及解除掛載之該虛擬硬碟檔案,使得無法以一實體磁碟之形式存取該虛擬硬碟檔案。
  16. 如申請專利範圍第15項所述之方法,更包含一動作:將該一或更多一致快照儲存於該虛擬硬碟檔案中。
  17. 如申請專利範圍第15項所述之方法,更包含一動作:在一位元組塊層次上接收用於該一或更多一致快照之資料。
  18. 如申請專利範圍第15項所述之方法,更包含下列動作:接收一指令,使得該已建立之虛擬硬碟檔案成為可寫入的;以及將可供該已掛載的虛擬硬碟檔案用的一裝置識別符傳送至一實體電腦系統。
  19. 如申請專利範圍第15項所述之方法,更包含一動作:向該實體機器報告一或更多系統值,其中該一或更多系統值用於修改該一或更多一致快照之作業資訊。
  20. 一種位在一電腦化環境的一機器中之電腦程式產品,該電腦化環境包括一虛擬機器主機,其經配置用以代管一或更多虛擬機器,該機器包括一或更多卷(volume),該電腦程式產品於其上儲存電腦可執行碼,當執行時可使在該機器端之一或更多處理器於該虛擬機器主機上實施將該機器轉變成一虛擬機器的方法,該方法至少包含下列動作:識別一或更多硬體組態設定,其可用於一機器之一或更多卷;當該一或更多機器卷為活動時,建立一或更多一致快照(consistent snapshots),其係對應於該一或更多機器卷;傳送該一或更多一致快照至一已掛載的虛擬硬碟檔案;以及傳送該一或更多一致快照之一啟動紀錄至該已掛載的虛擬硬碟檔案,使得能在該虛擬機器主機上修改該一或更多一致快照之該啟動紀錄。
TW096108079A 2006-05-08 2007-03-08 將機器轉換至虛擬機器的方法及電腦程式產品 TWI428830B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/430,676 US7653794B2 (en) 2006-05-08 2006-05-08 Converting physical machines to virtual machines

Publications (2)

Publication Number Publication Date
TW200813839A TW200813839A (en) 2008-03-16
TWI428830B true TWI428830B (zh) 2014-03-01

Family

ID=38662463

Family Applications (2)

Application Number Title Priority Date Filing Date
TW096108079A TWI428830B (zh) 2006-05-08 2007-03-08 將機器轉換至虛擬機器的方法及電腦程式產品
TW102143477A TWI547875B (zh) 2006-05-08 2007-03-08 將機器轉換至虛擬機器的方法及電腦程式產品

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW102143477A TWI547875B (zh) 2006-05-08 2007-03-08 將機器轉換至虛擬機器的方法及電腦程式產品

Country Status (18)

Country Link
US (1) US7653794B2 (zh)
EP (1) EP2021939B1 (zh)
JP (2) JP5026509B2 (zh)
KR (2) KR101465928B1 (zh)
CN (2) CN102541658B (zh)
AU (1) AU2007248886B2 (zh)
BR (1) BRPI0711336A8 (zh)
CA (1) CA2648761C (zh)
ES (1) ES2632512T3 (zh)
HK (1) HK1172718A1 (zh)
IL (2) IL194679A (zh)
MX (1) MX2008014244A (zh)
MY (1) MY149997A (zh)
NO (1) NO342885B1 (zh)
RU (2) RU2446450C2 (zh)
TW (2) TWI428830B (zh)
WO (1) WO2007130209A1 (zh)
ZA (1) ZA200808579B (zh)

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617501B2 (en) * 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
US8347063B2 (en) * 2005-08-19 2013-01-01 Intel Corporation Method and system for device address translation for virtualization
US7904949B2 (en) 2005-12-19 2011-03-08 Quest Software, Inc. Apparatus, systems and methods to provide authentication services to a legacy application
US8087075B2 (en) 2006-02-13 2011-12-27 Quest Software, Inc. Disconnected credential validation using pre-fetched service tickets
US8577940B2 (en) * 2006-03-20 2013-11-05 Parallels IP Holdings GmbH Managing computer file system using file system trees
US8321377B2 (en) 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US7617373B2 (en) * 2006-05-23 2009-11-10 International Business Machines Corporation Apparatus, system, and method for presenting a storage volume as a virtual volume
US8429712B2 (en) 2006-06-08 2013-04-23 Quest Software, Inc. Centralized user authentication system apparatus and method
US8086710B2 (en) 2006-10-30 2011-12-27 Quest Software, Inc. Identity migration apparatus and method
US7689859B2 (en) * 2006-12-20 2010-03-30 Symantec Operating Corporation Backup system and method
US8656386B1 (en) 2007-03-13 2014-02-18 Parallels IP Holdings GmbH Method to share identical files in a common area for virtual machines having the same operating system version and using a copy on write to place a copy of the shared identical file in a private area of the corresponding virtual machine when a virtual machine attempts to modify the shared identical file
US20100107163A1 (en) * 2007-03-20 2010-04-29 Sanggyu Lee Movable virtual machine image
US20080235361A1 (en) * 2007-03-21 2008-09-25 David Crosbie Management layer method and apparatus for dynamic assignment of users to computer resources
US8566502B2 (en) * 2008-05-29 2013-10-22 Vmware, Inc. Offloading storage operations to storage hardware using a switch
US8239646B2 (en) 2007-07-31 2012-08-07 Vmware, Inc. Online virtual machine disk migration
US8245217B2 (en) 2007-10-12 2012-08-14 Microsoft Corporation Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US8407688B2 (en) * 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US7865711B2 (en) * 2007-12-03 2011-01-04 Microsoft Corporation Efficient method for operating system deployment
US8181174B2 (en) * 2007-12-28 2012-05-15 Accenture Global Services Limited Virtual machine configuration system
US20090217296A1 (en) * 2008-02-26 2009-08-27 Alexander Gebhart Benefit analysis of implementing virtual machines
US8560593B2 (en) 2008-03-27 2013-10-15 Dell Software Inc. System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment
US8365167B2 (en) * 2008-04-15 2013-01-29 International Business Machines Corporation Provisioning storage-optimized virtual machines within a virtual desktop environment
US8364983B2 (en) * 2008-05-08 2013-01-29 Microsoft Corporation Corralling virtual machines with encryption keys
US8266099B2 (en) * 2008-05-29 2012-09-11 Vmware, Inc. Offloading storage operations to storage hardware using a third party server
US8745336B2 (en) * 2008-05-29 2014-06-03 Vmware, Inc. Offloading storage operations to storage hardware
US20090328030A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Installing a management agent with a virtual machine
US20100042719A1 (en) * 2008-08-12 2010-02-18 Junji Kinoshita Content access to virtual machine resource
US8150801B2 (en) * 2008-08-20 2012-04-03 Microsoft Corporation Recovery of a computer that includes virtual disks
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8572608B2 (en) * 2008-10-22 2013-10-29 Vmware, Inc. Methods and systems for converting a related group of physical machines to virtual machines
CN101408856A (zh) * 2008-11-21 2009-04-15 清华大学 一种用于容灾备份的系统和方法
US9454368B2 (en) 2009-01-21 2016-09-27 Vmware, Inc. Data mover permitting data transfer without transferring data between application and operating system
JP5166307B2 (ja) * 2009-01-30 2013-03-21 株式会社立花エレテック 接続機器利用システムおよびその方法
US9134922B2 (en) 2009-03-12 2015-09-15 Vmware, Inc. System and method for allocating datastores for virtual machines
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
US20110010710A1 (en) * 2009-07-10 2011-01-13 Microsoft Corporation Image Transfer Between Processing Devices
US9778946B2 (en) * 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
US9043454B2 (en) * 2009-08-26 2015-05-26 Red Hat Israel, Ltd. Auto suspense of virtual machine on client disconnection
US8589913B2 (en) * 2009-10-14 2013-11-19 Vmware, Inc. Tracking block-level writes
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8161077B2 (en) * 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8856080B2 (en) * 2009-10-30 2014-10-07 Microsoft Corporation Backup using metadata virtual hard drive and differential virtual hard drive
US9106591B2 (en) * 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US9262306B2 (en) * 2010-01-27 2016-02-16 Hewlett Packard Enterprise Development Lp Software application testing
US8751738B2 (en) 2010-02-08 2014-06-10 Microsoft Corporation Background migration of virtual storage
US8751780B2 (en) 2010-02-08 2014-06-10 Microsoft Corporation Fast machine booting through streaming storage
US8204860B1 (en) * 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
JP5636695B2 (ja) * 2010-03-02 2014-12-10 日本電気株式会社 フォールトトレラントシステム及び仮想マシン構築方法
KR20110106716A (ko) 2010-03-23 2011-09-29 삼성전자주식회사 프로그램 컴파일러, 설치 장치, 및 설치 방법
US8775781B2 (en) 2010-03-25 2014-07-08 Microsoft Corporation Intelligent boot device selection and recovery
CN102214126A (zh) * 2010-04-02 2011-10-12 英业达股份有限公司 卷影复制服务的供应程序的对象的创建方法
US8996667B2 (en) 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
US9767274B2 (en) * 2011-11-22 2017-09-19 Bromium, Inc. Approaches for efficient physical to virtual disk conversion
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US8548944B2 (en) 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
US20120054742A1 (en) * 2010-09-01 2012-03-01 Microsoft Corporation State Separation Of User Data From Operating System In A Pooled VM Environment
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
US8694745B2 (en) * 2010-09-15 2014-04-08 Symantec Corporation Physical to virtual disks creation (P2V) method, by harvesting data from critical sectors
JP2012068790A (ja) 2010-09-22 2012-04-05 Internatl Business Mach Corp <Ibm> Osのイメージの選択装置、選択方法、及び選択プログラム
JP5492731B2 (ja) 2010-10-06 2014-05-14 株式会社日立製作所 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
US9069620B2 (en) 2010-10-20 2015-06-30 Microsoft Technology Licensing, Llc Creating and deploying service-ready virtual hard disks
US9092149B2 (en) 2010-11-03 2015-07-28 Microsoft Technology Licensing, Llc Virtualization and offload reads and writes
WO2012063311A1 (ja) * 2010-11-08 2012-05-18 株式会社日立製作所 計算機の制御方法、計算機システム及び記憶媒体
JP5907983B2 (ja) 2010-11-23 2016-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation マイグレーション方法、コンピュータ・プログラム、およびシステム
US8468174B1 (en) 2010-11-30 2013-06-18 Jedidiah Yueh Interfacing with a virtual database system
US8495352B2 (en) 2010-12-08 2013-07-23 International Business Machines Corporation System and method for instantiation of distributed applications from disk snapshots
GB2499963B (en) 2010-12-09 2014-03-26 Ibm Computer-readable storage mediums for encrypting and decrypting a virtual disc
WO2012079864A1 (en) 2010-12-13 2012-06-21 International Business Machines Corporation Upgrade of software images based on streaming technique
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
JP5672075B2 (ja) * 2011-03-03 2015-02-18 日本電気株式会社 計算機システム、仮想環境マイグレーション方法および仮想環境マイグレーションプログラム
US9146765B2 (en) 2011-03-11 2015-09-29 Microsoft Technology Licensing, Llc Virtual disk storage techniques
US8725782B2 (en) 2011-04-25 2014-05-13 Microsoft Corporation Virtual disk storage techniques
US9519496B2 (en) * 2011-04-26 2016-12-13 Microsoft Technology Licensing, Llc Detecting and preventing virtual disk storage linkage faults
US9069467B2 (en) 2011-06-01 2015-06-30 Microsoft Technology Licensing, Llc Isolation of virtual machine I/O in multi-disk hosts
US20130007726A1 (en) 2011-06-30 2013-01-03 Indrajit Poddar Virtual machine disk image installation
KR101493827B1 (ko) * 2011-07-04 2015-02-17 주식회사 케이티 물리서버를 가상 서버로 마이그레이션하는 장치 및 그 방법
DE102011107169A1 (de) * 2011-07-13 2013-01-17 Kuka Roboter Gmbh Steuerung eines Roboter
US9158561B2 (en) 2011-08-18 2015-10-13 Vmware, Inc. Systems and methods for modifying an operating system for a virtual machine
US8595460B2 (en) 2011-08-26 2013-11-26 Vmware, Inc. Configuring object storage system for input/output operations
CN102323943A (zh) * 2011-09-02 2012-01-18 北京天地云箱科技有限公司 基于虚拟机的数据存储方法及系统
US20130066838A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Efficient data recovery
EP2570920A1 (en) * 2011-09-16 2013-03-20 France Télécom System and method for cross-platform application execution and display
US9461881B2 (en) * 2011-09-30 2016-10-04 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
US9009318B2 (en) * 2011-11-03 2015-04-14 Microsoft Corporation Offline resource allocation algorithms
US9817582B2 (en) 2012-01-09 2017-11-14 Microsoft Technology Licensing, Llc Offload read and write offload provider
JP5684170B2 (ja) * 2012-02-28 2015-03-11 株式会社東芝 情報処理装置、クライアント管理システムおよびクライアント管理方法
US9055067B1 (en) * 2012-03-26 2015-06-09 Amazon Technologies, Inc. Flexible-location reservations and pricing for network-accessible resource capacity
TWI456944B (zh) * 2012-05-02 2014-10-11 Quanta Comp Inc 管理方法及其系統
US9952879B2 (en) 2012-08-30 2018-04-24 Microsoft Technology Licensing, Llc Application pre-layout in byte-addressable persistent random access memory
US9740500B2 (en) 2012-08-30 2017-08-22 Microsoft Technology Licensing, Llc Layout system for operating systems using BPRAM
US9778860B2 (en) 2012-09-12 2017-10-03 Microsoft Technology Licensing, Llc Re-TRIM of free space within VHDX
US8788461B2 (en) 2012-10-04 2014-07-22 Delphix Corp. Creating validated database snapshots for provisioning virtual databases
US9071585B2 (en) 2012-12-12 2015-06-30 Microsoft Technology Licensing, Llc Copy offload for disparate offload providers
US9251201B2 (en) 2012-12-14 2016-02-02 Microsoft Technology Licensing, Llc Compatibly extending offload token size
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US9378035B2 (en) 2012-12-28 2016-06-28 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US20140196039A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
US10025674B2 (en) * 2013-06-07 2018-07-17 Microsoft Technology Licensing, Llc Framework for running untrusted code
US9383986B2 (en) 2013-06-18 2016-07-05 Disney Enterprises, Inc. Safe low cost web services software deployments
US9841983B2 (en) * 2013-06-28 2017-12-12 Vmware, Inc. Single click host maintenance
US9262448B2 (en) * 2013-08-12 2016-02-16 International Business Machines Corporation Data backup across physical and virtualized storage volumes
US9639384B2 (en) * 2013-08-20 2017-05-02 Vmware, Inc. Method and system for fast provisioning of virtual desktop
US11042309B1 (en) 2013-08-23 2021-06-22 Acronis International Gmbh Recovery of virtual machine files using disk attachment
US9594583B2 (en) 2013-11-12 2017-03-14 Red Hat, Inc. Lightweight snapshots for virtual disks
CN104809020B (zh) * 2013-11-20 2018-05-11 华为技术有限公司 一种生成快照的方法、系统和装置
CN103946807B (zh) 2013-11-20 2016-03-09 华为技术有限公司 一种生成快照的方法、系统和装置
CN103761168B (zh) * 2014-01-26 2017-06-13 上海爱数信息技术股份有限公司 一种基于nfs卷挂载备份虚拟机的方法
US20150269029A1 (en) * 2014-03-20 2015-09-24 Unitrends, Inc. Immediate Recovery of an Application from File Based Backups
US9454439B2 (en) 2014-05-28 2016-09-27 Unitrends, Inc. Disaster recovery validation
US9448834B2 (en) 2014-06-27 2016-09-20 Unitrends, Inc. Automated testing of physical servers using a virtual machine
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9684567B2 (en) * 2014-09-04 2017-06-20 International Business Machines Corporation Hypervisor agnostic interchangeable backup recovery and file level recovery from virtual disks
CN104298559B (zh) * 2014-09-30 2018-03-02 深信服科技股份有限公司 物理主机系统虚拟化的方法及装置
TWI608420B (zh) 2014-10-20 2017-12-11 緯創資通股份有限公司 虛擬機器監控方法及其系統
CN104331375B (zh) * 2014-10-29 2018-08-07 中国建设银行股份有限公司 共享虚拟化资源池环境下的共享虚拟资源管理方法和装置
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9798567B2 (en) 2014-11-25 2017-10-24 The Research Foundation For The State University Of New York Multi-hypervisor virtual machines
US20160162302A1 (en) * 2014-12-07 2016-06-09 Strato Scale Ltd. Fast initiation of workloads using memory-resident post-boot snapshots
WO2016197069A1 (en) 2015-06-05 2016-12-08 Nutanix, Inc. Architecture for managing i/o and storage for a virtualization environment using executable containers and virtual machines
CN105573791A (zh) * 2015-12-15 2016-05-11 国云科技股份有限公司 一种linux虚拟机实现网卡热插拔的方法
CN105740042B (zh) * 2016-01-15 2019-07-02 北京京东尚科信息技术有限公司 虚拟机内存的管理方法和管理系统
EP3286632A4 (en) * 2016-02-12 2018-06-13 Hewlett-Packard Enterprise Development LP Creating operating system volumes
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US10133593B1 (en) * 2016-03-31 2018-11-20 Amazon Technologies, Inc. Virtual machine migration
CN107800730B (zh) * 2016-08-30 2021-01-29 阿里巴巴集团控股有限公司 一种虚拟磁盘的扩容方法以及装置
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10649679B2 (en) * 2016-11-23 2020-05-12 Nutanix, Inc. Containerized application extensions in distributed storage systems
CN106708603B (zh) * 2016-12-28 2019-04-26 平安科技(深圳)有限公司 虚拟机快速恢复方法及装置
JP6897136B2 (ja) 2017-02-10 2021-06-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10761911B2 (en) 2017-02-13 2020-09-01 Nutanix, Inc. Asynchronous application interactions in distributed systems
US10949308B2 (en) 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US20180276085A1 (en) 2017-03-24 2018-09-27 Commvault Systems, Inc. Virtual machine recovery point generation
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10853195B2 (en) 2017-03-31 2020-12-01 Commvault Systems, Inc. Granular restoration of virtual machine application data
US10754829B2 (en) * 2017-04-04 2020-08-25 Oracle International Corporation Virtual configuration systems and methods
CN107463404A (zh) * 2017-08-03 2017-12-12 浪潮(北京)电子信息产业有限公司 一种向虚拟机文件系统中增加配置文件的方法和系统
US10860242B1 (en) * 2017-10-06 2020-12-08 EMC IP Holding Company LLC Method for automatic instant access mount point cleanup
KR102003721B1 (ko) * 2018-01-10 2019-07-26 성균관대학교산학협력단 Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치
CN110347483B (zh) 2018-04-08 2021-05-11 中兴通讯股份有限公司 物理机到虚拟机迁移方法、装置及存储介质
US11016798B2 (en) 2018-06-01 2021-05-25 The Research Foundation for the State University Multi-hypervisor virtual machines that run on multiple co-located hypervisors
US10887382B2 (en) * 2018-12-18 2021-01-05 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
US11080082B2 (en) 2019-08-02 2021-08-03 Red Hat, Inc. Cross-hypervisor virtual machine conversion
CN110515697A (zh) * 2019-08-16 2019-11-29 济南浪潮数据技术有限公司 一种虚拟机迁移方法、装置、存储介质及计算机设备
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
CN113609075B (zh) * 2021-08-18 2024-10-18 济南浪潮数据技术有限公司 一种创建快照的方法、系统、存储介质及设备
US12014186B2 (en) * 2022-03-25 2024-06-18 Sap Se Reducing downtime during operating system patching
US20240211251A1 (en) * 2022-12-22 2024-06-27 Red Hat, Inc. Device to build programs on alternative cpu architectures and a method thereof

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475156A (en) * 1982-09-21 1984-10-02 Xerox Corporation Virtual machine control
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
US4835685A (en) * 1985-05-06 1989-05-30 Computer X, Inc. Virtual single machine with message-like hardware interrupts and processor exceptions
US4787026A (en) * 1986-01-17 1988-11-22 International Business Machines Corporation Method to manage coprocessor in a virtual memory virtual machine data processing system
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US5996026A (en) * 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
US6052781A (en) 1997-02-21 2000-04-18 Savvy Frontiers Property Trust Multiple user computer including anti-concurrent user-class based disjunctive separation of plural hard drive operation
US6445704B1 (en) * 1997-05-02 2002-09-03 Cisco Technology, Inc. Method and apparatus for virtualizing a locally initiated outbound connection from a connection manager
US6256637B1 (en) * 1998-05-05 2001-07-03 Gemstone Systems, Inc. Transactional virtual machine architecture
US6496847B1 (en) 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
ES2249450T3 (es) * 2000-07-05 2006-04-01 ERNST &amp; YOUNG LLP Metodo y aparato para proporcionar servicios informaticos.
CN1224914C (zh) * 2000-08-25 2005-10-26 四国电力株式会社 远程控制服务器、中央服务器以及由它们构筑的系统
US6789156B1 (en) 2001-05-22 2004-09-07 Vmware, Inc. Content-based, transparent sharing of memory units
US6880002B2 (en) * 2001-09-05 2005-04-12 Surgient, Inc. Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources
US7213065B2 (en) 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US6938250B2 (en) * 2002-06-12 2005-08-30 Microsoft Corporation Image-based software installation
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7448034B2 (en) * 2003-07-30 2008-11-04 International Business Machines Corporation Build time determination and installation of drivers on cloned systems
US7373451B2 (en) * 2003-12-08 2008-05-13 The Board Of Trustees Of The Leland Stanford Junior University Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7577959B2 (en) * 2004-06-24 2009-08-18 International Business Machines Corporation Providing on-demand capabilities using virtual machines and clustering processes
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
US7441092B2 (en) * 2006-04-20 2008-10-21 Microsoft Corporation Multi-client cluster-based backup and restore

Also Published As

Publication number Publication date
JP2012155768A (ja) 2012-08-16
EP2021939A4 (en) 2010-11-24
CN102541658A (zh) 2012-07-04
ES2632512T3 (es) 2017-09-13
EP2021939B1 (en) 2017-04-19
BRPI0711336A8 (pt) 2017-01-17
AU2007248886B2 (en) 2011-11-03
KR101376952B1 (ko) 2014-03-20
HK1172718A1 (zh) 2013-04-26
BRPI0711336A2 (pt) 2011-08-30
US7653794B2 (en) 2010-01-26
NO20084228L (no) 2008-10-22
JP5496254B2 (ja) 2014-05-21
MY149997A (en) 2013-11-15
CN101443748A (zh) 2009-05-27
RU2446450C2 (ru) 2012-03-27
TW200813839A (en) 2008-03-16
WO2007130209A1 (en) 2007-11-15
IL223026A (en) 2014-12-31
MX2008014244A (es) 2008-11-18
CN102541658B (zh) 2014-09-24
JP5026509B2 (ja) 2012-09-12
AU2007248886A1 (en) 2007-11-15
IL223026A0 (en) 2012-12-31
JP2009536762A (ja) 2009-10-15
NO342885B1 (no) 2018-08-20
RU2011147372A (ru) 2013-05-27
IL194679A (en) 2014-08-31
RU2008144202A (ru) 2010-05-20
TW201415371A (zh) 2014-04-16
KR20090025204A (ko) 2009-03-10
CN101443748B (zh) 2012-02-08
ZA200808579B (en) 2011-11-30
EP2021939A1 (en) 2009-02-11
US20070260831A1 (en) 2007-11-08
KR101465928B1 (ko) 2014-11-26
KR20140000720A (ko) 2014-01-03
TWI547875B (zh) 2016-09-01
CA2648761A1 (en) 2007-11-15
CA2648761C (en) 2015-06-02

Similar Documents

Publication Publication Date Title
TWI428830B (zh) 將機器轉換至虛擬機器的方法及電腦程式產品
US9697130B2 (en) Systems and methods for storage service automation
US9286098B1 (en) Using master file template area to increase density of virtual machines in a computer system
US8775696B2 (en) Storage area network access for virtual machines
US20120144391A1 (en) Provisioning a virtual machine
US20090265706A1 (en) Computing machine migration
JP2006011541A (ja) 計算機および共用記憶装置を含む計算機システムにおける情報記録方法
CN110806911B (zh) 一种云桌面管控方法、装置及系统
WO2013088302A1 (en) Deployment of a software image on multiple targets with streaming technique
US20080120403A1 (en) Systems and Methods for Provisioning Homogeneous Servers
JP2012128839A (ja) ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
US7506115B2 (en) Incremental provisioning of software
US20060047927A1 (en) Incremental provisioning of software
AU2012200600B2 (en) &#34;Converting machines to virtual machines&#34;

Legal Events

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