對于檢查點的概念,可能我們都是熟知的這個功能不是Hyper-V中早就提供了嗎?注意,新推出的叫生産檢查點,那麼與之對應的功能就是标準檢查點了(Standard Checkpoint)。标準檢查點和生産檢查點?有神馬不同?顧名思義,現在推出的檢查點功能才适用于生産環境,而之前的檢查點功能隻是适用于開發測試環境,這就是最大的不同!也許你曾經因為在生産環境建立Hyper-V虛拟機快照出現過問題,那麼看看這個生産環境檢查點是否可以解決這些問題。
不知道之前是否注意到,在開機狀态運作的檢查點做虛拟機還原時還原的是打開狀态的虛拟機,這其實已經說明了這個快照是針對虛拟機記憶體做的記憶體瞬時快照,而并沒有對虛拟機磁盤狀态做相應的快照,這種情況下的狀态并不是一緻性快照;對于像SQL Server,Exchange等正在運作的部分應用在恢複時不能運作狀态與資料的一緻性是很有可能造成問題的,甚至需要進行備份恢複。當然這種情況可以通過關閉虛拟機進行一緻性快照得以避免,但這也失去了快照不需要關閉虛拟機的意義了。
那麼生産檢查點的不同就在于其提供了基于卷影拷貝服務(Volume Shadow Copy)做的一緻性快照,這種拷貝是確定所有記憶體中應用(微軟)髒資料寫盤後當機IO後所做的瞬時磁盤卷檢查點,這樣檢查點資料可以確定是一緻性可靠的可恢複狀态快照,這種技術在多數三方備份軟體或SAN拷貝中經常被用到,現在微軟在自己的虛拟機服務中把這個功能也加入進來了;當然也許你會問這個技術用到的VSS不是微軟系統的服務嗎,那麼對于Linux虛拟機呢?對于Linux環境,生産檢查點服務提供了檔案系統級别的資料一緻性,檔案系統緩存檢查點送出和IO當機來保證在檔案系統級别的一緻性。這樣的快照因為是在存儲級别的一緻性快照,自然也就不需要像之前的标準檢查點快照一樣拷貝記憶體裝置狀态等資訊了;當然恢複過程不包含記憶體狀态,是以都是從一個離線狀态啟動進行恢複,所有就會包括虛拟機啟動的系統加載記憶體過程而非标準快照中的直接記憶體快照恢複。
根據我們使用的系統是開發測試還是生産環境,我們可以通過虛拟機級别的設定來進行選擇采用哪種檢查點方式用于虛拟機的快照。如下圖所示:
如果你喜歡采用PowerShell來進行修改檢查點方式并操作檢查點都是可以的,對于運維的大型環境,熟悉使用這種方式也是必須的,
檢視虛拟機目前檢查點設定:
1
<code>Get-VM</code> <code>-Name <YourVMName> | Select -ExpandProperty CheckpointType</code>
設定虛拟機目前檢查點類型屬性:
<code>Set-VM</code> <code>Name <YourVMName> -CheckpointType ProductionOnly</code>
*注意:對于虛拟機的操作需要通過管理者權限的PowerShell會話環境進行操作。
本文轉自 翟老貓 51CTO部落格,原文連結:http://blog.51cto.com/3387405/1717120,如需轉載請自行聯系原作者