Hyper-V 3 虛擬機快照
作者:王淑江?0?2?0?2?0?2發(fā)布日期:2012-7-9 注:本作品第一出版權歸屬微軟 TechNet 中文網(wǎng)或其指定的第三方,轉(zhuǎn)載時請務必以超鏈接形式標明文章原始出處、作者信息和本聲明,謝謝!
Hyper-V 3 虛擬機快照之一:快照應用介紹 什么是快照 快照可以記錄某個時間點虛擬機操作系統(tǒng)的完整狀態(tài),通過“Microsoft Volume Shadow Copy Service(卷影復制服務)”技術抓取當前系統(tǒng)狀態(tài),可以把虛擬機某個時刻的所有狀態(tài)(內(nèi)存、磁盤、網(wǎng)絡、文件等)抓取為一個鏡像文件,在以后的任何時間,可以通過快照恢復當時的實際狀態(tài)。就如同照相機的“照相”功能一樣,固定某個時間點的狀態(tài)。 什么情況下使用快照 在Hyper-V中,快照使用非常方便,任何時候都可用,而且操作簡單,易于創(chuàng)建和應用??煺站拖褚粋€數(shù)碼相機,其幕后的技術復雜難懂,但是操作簡單易用。在什么情況下需要用到快照呢?
在以上應用中,建議首先創(chuàng)建一個快照,然后進行系統(tǒng)測試。但是要注意,快照不等同于備份,不能作為一種常規(guī)備份的方法。 什么時間可以創(chuàng)建快照 任何時刻都可以為虛擬機創(chuàng)建快照,快照創(chuàng)建完成后會自動嵌入該虛擬機的快照樹中。在快照屬性中,可以查看快照的詳細信息??煺罩刑摂M機設置是只讀的。一個快照樹示例如圖1所示。 圖1 快照需要處理的數(shù)據(jù) 創(chuàng)建快照后,原有的虛擬磁盤文件(vhd或者vhdx)不能寫入數(shù)據(jù)。抓取快照之后,所有磁盤更新都會被寫入另一個后綴為“avhd或者avhdx”的快照文件。同時,還會對抓取時虛擬機的內(nèi)存進行備份。也就是說,在抓取快照時,將同時完成兩個任務(每一次抓取快照都會完成兩個任務): 第一,復制當時虛擬機內(nèi)存的一份拷貝,占用磁盤空間較少。 第二,新建一個后綴為“avhd或者avhdx”的快照文件進行差異備份,在這之后所有應該寫入磁盤的數(shù)據(jù)都會被寫入 avhd 或者 avhdx 文件中,保持原有 vhd 或者 vhdx 文件不變。 Vhdx 格式的虛擬硬盤創(chuàng)建的快照文件如圖2所示。 圖2 快照如何存儲 虛擬機一旦創(chuàng)建完畢即可創(chuàng)建快照。通常,快照創(chuàng)建過程只需幾秒鐘,而且虛擬機不需暫停、停止或關閉。快照由 Hyper-V 創(chuàng)建、執(zhí)行,完全獨立于運行虛擬機操作系統(tǒng)的類型和性能??煺障嚓P文件會自動儲存到 Hyper-V 服務器設置的默認路徑下。 快照如何應用 應用指的是將虛擬機從當前狀態(tài)切換到一個快照并啟用該快照。應用快照時,正在運行的虛擬機配置將被完全替代。因此,建議在應用原來的快照之前先創(chuàng)建一個新快照,以便今后還可以再返回到當前狀態(tài)。另外,如果虛擬機原來的狀態(tài)是關閉的,虛擬機返回后也處于關閉狀態(tài)。在 Windows Server 2012 中,應用快照時將提供兩個處理方法,在當前快照的基礎上創(chuàng)建一個快照后再應用快照以及丟棄當前的操作然后立即切換到目標快照。在實際工作中,建議以第一種方法處理快照,如圖3所示。 圖3 快照轉(zhuǎn)移:輸入和輸出虛擬機 移動虛擬機時可能希望隨時攜帶虛擬機快照。最簡單的方法是利用 Hyper-V 的 Export 命令。也可以在終端服務器上使用 Import 命令恢復虛擬機,以及所有相關文件和設置。這兩個操作都可以通過腳本或 Hyper-V 管理控制臺執(zhí)行。如圖4所示。 圖4 快照應用建議 通常,應該在做任何可能有風險的更改之前,為虛擬機創(chuàng)建快照。例如,如果要應用操作系統(tǒng)更新或補丁,但又希望可以輕松地撤銷它們,那么就在應用之前創(chuàng)建一個快照。同樣,當想更改虛擬機配置設置或關鍵的子操作系統(tǒng)服務時,先為虛擬機創(chuàng)建快照??煺詹⒉皇窃谌魏吻闆r下都適用。首先,快照不能取代備份。建議遵循虛擬機備份的最佳做法(用腳本或虛擬化工具進行手動備份)。 Hyper-V 3 虛擬機快照之二:創(chuàng)建和查看快照 第一部分概要介紹了快照實現(xiàn)的功能以及應用環(huán)境,第二部分介紹如何創(chuàng)建和查看快照。 虛擬機配置文件 測試環(huán)境中使用名稱為“Windows Server 2003 SP2”的虛擬機。“Windows Server 2003 SP2”虛擬機創(chuàng)建完成后,本例中虛擬硬盤存儲在“T:\Hyper-V\Virtual Hard Disks”文件夾(如圖1所示)中,虛擬機配置文件存儲在“T:\Hyper-V\Virtual Machines”文件夾中(如圖2所示)。 注意,vhd 和 vhdx 指的是虛擬硬盤, Windows Server 2008 R2 之前版本都支持vhd格式。Vhdx 是 Window 是 8之后支持的版本,最大虛擬硬盤可以超過128GB,最大64TB。avhd 和 avhdx 是快照硬盤文件。 圖1 圖2 “Windows Server 2003”虛擬機配置保存在“23CA7649-5E4A-4053-A772-C3BD6521F576”XML 文檔中,該文檔名稱是在創(chuàng)建虛擬機的過程自動生成,使用全球唯一標識符 GUID 作為虛擬機名稱。虛擬機使用的虛擬硬盤位置在 XML 配置文件中內(nèi)容如下: <controller0> 0?2?0?2?0?2?0?2?0?2 <drive0> 0?2?0?2?0?2?0?2?0?2?0?2?0?2 <pathname type="string">T:\Hyper-V\Virtual Hard Disks\Windows Server 2003 SP2.vhdx</pathname> 0?2?0?2?0?2?0?2?0?2?0?2?0?2 <pool_id type="string"></pool_id> 0?2?0?2?0?2?0?2?0?2?0?2?0?2 <type type="string">VHD</type> 0?2?0?2?0?2?0?2?0?2 </drive0> 0?2?0?2?0?2?0?2?0?2 <drive1> 0?2?0?2?0?2?0?2?0?2?0?2?0?2 <pathname type="string"></pathname> 0?2?0?2?0?2?0?2?0?2?0?2?0?2 <type type="string">NONE</type> 0?2?0?2?0?2?0?2?0?2 </drive1> 0?2?0?2?0?2 </controller0> 創(chuàng)建快照 Window Server 2012 中可以使用三種方法創(chuàng)建快照:Hyper-V 管理器、虛擬機連接器以及 Powershell 腳本。 1. Hyper-V 管理器 打開“Hyper-V 管理器”,右擊目標虛擬機(本例中使用的虛擬機為 WS2003),在彈出的快捷菜單中選擇“快照”命令,如圖3所示。 圖3 命令執(zhí)行后,創(chuàng)建當前虛擬機快照,快照名稱默認定義為:虛擬機名稱+當前日期+創(chuàng)建時間,例如 WS2003 - (2012/6/11 - 16:11:31))。創(chuàng)建完成的快照顯示在“快照(S)”面板中,如圖4所示。計算機真實運行狀態(tài)為“當前”,顯示狀態(tài)為“ 圖4 2. 虛擬機連接器創(chuàng)建快照 Hyper-V 管理器選擇目標虛擬機后,鼠標右鍵選擇“連接”命令打開虛擬機連接器,如圖5所示。 圖5 單擊菜單欄的“操作”菜單,在顯示的下拉菜單列表中選擇“快照”命令。命令執(zhí)行后,顯示如圖6所示的“快照名稱”對話框,文本框中鍵入第二個快照名稱。如果不想手動設置快照名稱,選擇“始終使用默認名稱”選項。單擊“是”按鈕,創(chuàng)建快照。 圖6 創(chuàng)建完成的快照(手動命名)在“Hyper-V”管理器中顯示在樹形列表中,如圖7所示。 圖7 3. Powershell 腳本創(chuàng)建快照 在以前的版本可以使用“Set-VMSnapshot”命令創(chuàng)建快照,在 Windows Server 2012 中打開“Windows Power shell ISE”后,沒有發(fā)現(xiàn)該命令。測試結(jié)果如圖8所示。 圖8 查看快照 1. 快照創(chuàng)建后,Hyper-V 將自動創(chuàng)建一組文件:
以名稱為“Windows Server 2003 SP2”虛擬機為例說明。創(chuàng)建的虛擬機文結(jié)構如圖9所示: 圖9 2. AVHD 或 AVHDX 文件 AVHD 或 AVHDX 文件是快照磁盤文件。當創(chuàng)建一個快照時,Hyper-V 會創(chuàng)建格式如“虛擬機名稱+‘_’+ GUID(隨機生成)”的快照文件,例如“Windows Server 2003 SP2”虛擬機創(chuàng)建的一個快照文件為“Windows Server 2003 SP2_043015E9-D39F-466A-8FB9-8CEFFC299D31.avhdx”,如圖10所示。“Windows Server 2003 SP2”是虛擬機名稱,“043015E9-D39F-466A-8FB9-8CEFFC299D31”是GUID??煺瘴募褂玫?GUID 和原虛擬機使用的 GUID 名稱不同。 圖10 創(chuàng)建快照后,將修改“Windows?0?2 Server 2003”虛擬機 XML 配置文件,原虛擬機磁盤文件為“T:\Hyper-V\Virtual Hard Disks\Windows Server 2003 SP2.avhdx”,修改為“T:\Hyper-V\Virtual Hard Disks\Windows Server 2003 SP2_043015E9-D39F-466A-8FB9-8CEFFC299D31.avhdx”,快照文件作為虛擬機使用的虛擬磁盤文件。修改后的內(nèi)容如下: <controller0> 0?2?0?2?0?2?0?2?0?2 <drive0> 0?2?0?2?0?2?0?2?0?2?0?2?0?2 <pathname type="string">T:\Hyper-V\Virtual Hard Disks\Windows Server 2003 SP2_043015E9-D39F-466A-8FB9-8CEFFC299D31.avhdx</pathname> 0?2?0?2?0?2?0?2?0?2?0?2?0?2 <pool_id type="string"></pool_id> 0?2?0?2?0?2?0?2?0?2?0?2?0?2 <type type="string">VHD</type> 0?2?0?2?0?2?0?2?0?2 </drive0> </controller0> 原虛擬機使用的虛擬磁盤文件不能寫入內(nèi)容,操作系統(tǒng)產(chǎn)生的所有數(shù)據(jù)存儲到 avhdx 快照文件中。每新建一個快照,“drive0”的值都將配置為最新的快照文件名稱。換而言之,在同一時刻只有一個快照文件可用。 3. XML文件 創(chuàng)建快照時,Hyper-V復制虛擬機的XML配置文件,并且使用一個新生成的GUID命名,生成快照的XML配置文件。例如名稱為“Windows Server 2003 SP2”的虛擬機,創(chuàng)建一個快照后,生成新的快照配置文件“90B12240-A547-484B-B848-4E6AB1551027”,如圖11所示。 圖11 4. 虛擬機狀態(tài)文件 快照在虛擬機關閉狀態(tài)生成,將不會生成VSV文件,但與快照配置文件同名的文件夾將自動生成。 在虛擬機運行時創(chuàng)建快照,將生成一個以“VSV”為后綴的虛擬機狀態(tài)文件,存放在與快照配置文件同名的文件夾中,VSV文件的名稱與快照配置文件同名。如圖12所示。 圖12 5. 內(nèi)存鏡像文件 快照在虛擬機關閉時創(chuàng)建,不會創(chuàng)建內(nèi)存鏡像文件(以BIN為后綴的文件),但與快照配置文件同名的文件夾將自動生成。 在虛擬機運行時創(chuàng)建快照,將生成一個以“BIN”為后綴的內(nèi)存鏡像文件,存放在與快照配置文件同名的文件夾中,BIN文件的名稱與快照配置文件同名。 Hyper-V 3 虛擬機快照之三: 應用和刪除快照 第二部分介紹了如何創(chuàng)建和查看快照,本部分介紹如何還原快照和刪除快照。 還原快照 當系統(tǒng)崩潰、操作中出現(xiàn)錯誤或者誤刪文件時,可以使用快照還原功能還原到之前正常狀態(tài),前提是在更改或者更新之前創(chuàng)建了快照。 測試環(huán)境中,名稱為“Windows Server 2003 SP2”的虛擬機創(chuàng)建4個快照,使用“Get-VMSnapshot -VMName "Windows Server 2003 SP2"”命令查看快照狀態(tài)以及快照的父快照,如圖1所示,每個快照名稱都是用漢字名稱表示。 圖1 1. 還原 0?2“還原”功能只能將虛擬機正在運行的狀態(tài)還原到前一個時間點。“還原”功能不支持任意時間點的還原。本例中名稱為“Windows Server 2003 SP2”虛擬機創(chuàng)建了四個快照,如圖2所示。虛擬機當前的狀態(tài)位于快照樹的最底層,即第5層。 圖2 第1步,右擊名稱為“Windows Server 2003”的虛擬機,在彈出的快捷菜單中選擇“還原”命令,如圖3所示 圖3 第二步,命令執(zhí)行后,打開“還原虛擬機”對話框。提示“您確實要將此虛擬機還原到其以前的快照嗎?”,即還原到上一個時間點。如圖4所示。 圖4 第3步,單擊“還原”按鈕,首先關閉虛擬機操作系統(tǒng),然后啟動還原過程。還原完成后,即可恢復到上次快照(第四層)的狀態(tài)。 2. 應用 “還原”功能只能還原到上一個時間點的快照。如果虛擬機創(chuàng)建了多個快照,通過“應用”功能可以恢復到任意時間點的快照。上例的虛擬機中創(chuàng)建多個快照,本例中將快照恢復到第二個時間點。 第1步,選擇需要將快照恢復到第二個時間點,即“第二個快照”,右擊該快照,在彈出的快捷菜單中選擇“應用”命令,如圖5示。 圖5 第2步,命令執(zhí)行后,顯示如圖6所示的“應用快照”對話框。 圖6 第3步,該對話框提供2個功能:應用和獲取快照并應用。
還原成功后,虛擬機的當前狀態(tài)遷移到第三層,如圖7所示 圖7 刪除快照 刪除快照可以節(jié)省磁盤空間,便于管理。當快照不再需要時,即可刪除快照。 刪除快照命令執(zhí)行后,Hyper-V有一個合并磁盤的過程,是將正在刪除的快照硬盤文件與父快照的硬盤文件合并。 1. 虛擬機關閉時刪除快照 虛擬機“Windows Server 2003 SP2”處于關機狀態(tài),虛擬機已經(jīng)創(chuàng)建5個快照,本例中將刪除第5個快照。 第一步,選擇需要刪除的快照,鼠標右鍵選擇“刪除快照”命令,如圖8所示 圖8 第二步,命令執(zhí)行后,顯示如圖9所示的對話框,單擊“刪除”按鈕,刪除選擇的快照。 圖9 2. 虛擬機運行時刪除快照 名稱為“Windows Server 2003 SP2”的虛擬機創(chuàng)正在運行,刪除名稱為“第三個快照”的快照。右擊“第三個快照”,在彈出的快捷菜單中選擇“刪除快照”命令。命令執(zhí)行后,打開“刪除快照”對話框。單擊“刪除”按鈕,首先立即執(zhí)行快照文件合并過程,在“虛擬機”狀態(tài)欄的“任務狀態(tài)”列,顯示文件合并狀態(tài)為“正在進行合并”,直到合并完成。在以前版本中,必須等到關閉虛擬機操作系統(tǒng)時才執(zhí)行合并操作。 3. 刪除快照樹 刪除快照樹,刪除所有快照。 第1步,右擊目錄樹中的第一個快照,在彈出的快捷菜單中選擇“刪除快照子樹”命令,如圖10所示。 圖10 第2步,命令執(zhí)行后,打開“刪除快照樹”對話框。單擊“刪除”按鈕,執(zhí)行刪除操作。刪除完成后,立即執(zhí)行快照文件合并過程直到成功。如圖11所示。 圖11 Hyper-V 3 虛擬機快照之四:導入/導出快照 當移動包含快照的虛擬機時,不但要導出虛擬機的原始硬盤文件,也要導出快照文件。如果包含多層級快照,需要注意快照之間的合并。如果要整體導出快照樹,需要選擇最底層的快照?;蛘邎?zhí)行完整的虛擬機導出功能。 在實際應用中,建議不要創(chuàng)建多層級和不同層級且有不同深度的快照樹(如圖1所示),這樣的快照應用對管理員來說是個災難。好的習慣是創(chuàng)建快照并測試通過后,盡快執(zhí)行合并功能,以減少快照數(shù)量和深度.雖然在Windows 8中提供多種導入導出虛擬機模式,但是建議導出帶有快照的虛擬機還是使用Hyper-V管理器完成。 圖1 導出快照 “Hyper-V 管理器”提供快照“導出”功能,使用該功能可以導出已經(jīng)創(chuàng)建的快照,本例中名稱為“Windows Server 2003 SP2”的虛擬機創(chuàng)建了四個快照,導出名稱為“第三個快照”的快照。 第1步,關閉虛擬機。右擊名稱為“第三個快照”的快照,在彈出的快捷菜單中選擇“導出”命令,如圖2所示。 圖2 第2步,命令執(zhí)行后,顯示如圖3所示的“導出虛擬機”對話框。設置存儲導出虛擬機的目標文件夾。單擊“瀏覽”按鈕,選擇目標文件夾,或者在“位置”文本框中鍵入存儲導出虛擬機快照的目標文件夾,如圖3所示。 圖3 第3步,單擊“導出”按鈕,開始導出虛擬機,導出狀態(tài)如圖4所示,“虛擬機”面板中的“任務狀態(tài)”列顯示導出狀態(tài)。 圖4 第四步,導出完成后,在目標文件夾中顯示快照導出后的文件結(jié)構,如圖5所示,導出文件組中包括:config.xml 文件、虛擬機使用的所有虛擬硬盤、虛擬機狀態(tài)文件、虛擬機鏡像文件以及exp文件(虛擬機配置文件)。 圖5 導入快照 在宿主機中,使用“導入虛擬機”功能可以導入已經(jīng)導出的快照。 第1步,右擊宿主機,在彈出的快捷菜單中選擇“導入虛擬機”命令,啟動“導入虛擬機”向?qū)?,打開“開始之前”對話框。如圖6所示。 圖6 第2步,單擊“下一步”按鈕,打開“定位文件夾”對話框。設置存儲導出的虛擬機目標文件夾。如圖7所示。 圖7 第三步,單擊“下一步”按鈕,打開“選擇虛擬機”對話框。選擇需要導入的虛擬機。名稱顯示為“第三個快照”。如圖8所示。 圖8 第四步,單擊“下一步”按鈕,打開“選擇導入類型”對話框,如圖9所示。提供三種導入方式。
圖9 第五步,單擊“下一步”按鈕,打開“正在完成向?qū)А睂υ捒?。顯示導入虛擬機摘要信息。如圖10所示。 圖10 第六步,單擊“完成”按鈕,開始導入虛擬機直至完成。完成后的狀態(tài)如圖11所示。注意虛擬機的狀態(tài)為“已保存”。啟動虛擬機后,首先執(zhí)行還原,然后正常打開虛擬機。 圖11 復制虛擬機 虛擬機關機后,可以復制整個虛擬機目錄作為備份。當虛擬機出現(xiàn)故障,或者宿主機故障后,可以通過復制的虛擬機恢復虛擬機。 虛擬機故障 確認是虛擬機故障,可以用備份目錄完整覆蓋原目錄。如果原虛擬機已經(jīng)創(chuàng)建過快照,已經(jīng)創(chuàng)建的快照將無效。 宿主機故障 宿主機(安裝 Hyper-V 的物理服務器)出現(xiàn)故障,重新安裝Hyper-V服務。對使用導出功能導出的虛擬機,直接導入即可。如果只有虛擬機,可以使用手動方式導入。導入過程參考【導入快照】操作過程。注意,在導入過程中,可能出現(xiàn)快照文件無法找到的情況,將 Hyper-V 默認文件夾重新定位到新文件夾即可。 Hyper-V 3 虛擬機快照之五:快照應用中發(fā)現(xiàn)的問題 對部署在虛擬機的應用來說,快照保存系統(tǒng)狀態(tài)功能是管理員的得力助手,但是快照在實際應用中存在以下問題。 不能恢復指定文件 不能恢復指定的目標文件。由于誤操作,虛擬機中某個重要文件或者文件夾丟失時,如果使用快照恢復,只能恢復到創(chuàng)建快照時的系統(tǒng)狀態(tài),不能象 Ntbackup 和 Windows Server Backup 工具一樣能夠還原出特定文件,必須還原全部的快照內(nèi)容。 占用過多的磁盤空間 存儲的快照文件是發(fā)生快照之后虛擬機上產(chǎn)生的新數(shù)據(jù)寫入到一個獨立的磁盤增量文件中,做的快照越多,服務器上的存儲空間被占用的越來越多。所以需要管理員經(jīng)常確認過期和不需要的快照,并且將其刪除以防止存儲空間不足,這給日常管理和維護增加很大難度。 增加系統(tǒng)負載 當創(chuàng)建多層級快照后,Hyper-V 需要檢查快照樹才能找到最新數(shù)據(jù),需要計算機分配額外的資源管理快照,將增加計算機負載,降低系統(tǒng)性能。 刪除快照 Windows Server 2012 中,快照刪除后立即執(zhí)行快照合并,如果快照文件過大,需要一段時間才能完成合并工作,合并期間虛擬機不提供外部訪問功能。刪除快照建議在飛工作時段完成。 快照不能代替?zhèn)浞?/strong> 快照不能代替?zhèn)浞莸脑颍?/p>
刪除快照后,但是空間沒有立即釋放 最佳解決方法:關閉虛擬機;或者強制停止虛擬機。虛擬機關閉、停止或置于保存狀態(tài)前,已刪除的虛擬機快照文件不會從物理存儲中移除。刪除快照文件可能需要花費一段時間,具體取決于快照的大小和數(shù)量。另外,需要確認存儲空間是否夠用。 如何存儲快照 快照是后綴名為 avhd 或者 avhdx 的文件,默認情況下,快照文件與虛擬硬盤位于相同的文件夾中。因此,磁盤IO性能將決定快照文件的性能,建議將快照文件和虛擬機硬盤文件部署在不同的物理磁盤中,增強讀寫性能,從而能提高虛擬機的運行效率??煺瘴募恢每梢酝ㄟ^“Hyper-V 設置”調(diào)整。 0?2 0?2 如果您對征文大賽有任何建議或需要幫助,敬請發(fā)送郵件至 chinamva@microsoft.com 與我們聯(lián)系。 |
|