KVM虛擬機器遷移概述

shuaishuai3409發表於2016-03-02

近期還在學習實驗室雲平臺,當前學到了虛擬機器遷移這塊。當使用者應用併發量改變時,相應雲平臺虛擬機器資源要做出動態調整。不僅要滿足SLA(給使用者提供可靠的服務),而且能提高均衡負載,降低能耗。
遷移時要考慮:

  1. 整體遷移時間要短。因為虛擬機器遷移會很消耗能源。
  2. 停機時間要短。物理機停機,才可進行虛擬機器遷移,但是會影響服務效能。所以考慮何種策略使得停機時間最短。
  3. 效能影響最小。滿足SLA,或者說使其違背率最小。

虛擬機器遷移分三種情況:P2V、V2V、V2P(P為物理機,V為虛擬機器)。其中V2V是核心,指不同物理機上的虛擬機器進行遷移。


P2V是指將物理機上的OS,應用軟體,磁碟資料等遷移到虛擬機器上,主要是因併發量大在本地增加虛擬機器時使用。可以採用virt-p2v等軟體進行遷移。


V2P是指將虛擬機器資源遷移到物理機上,這塊也不是重點,主要應用在配置物理機時,可以現在虛擬機器上進行配置,然後應用到物理機上。


V2V:主要分離線遷移和線上遷移。

離線遷移:掛起源虛擬機器,將系統狀態,磁碟資料等遷移到目標主機。適用於效能要求不高的使用者應用。

線上遷移:不像離線那樣掛起後在遷移,而是在執行中遷移。服務在源主機上進行,採用pre-copy策略,迴圈一次遷移當前記憶體到目標主機,下一週期遷移髒頁面(服務實時執行,不斷在讀寫記憶體資料,源資料改變時形成髒資料,需要將更新後的頁面再次發給目標主機),不斷迴圈,待時機成熟後(源和目記憶體差異達到標準),源主機掛起,控制權交給目標主機,服務在目標主機上執行。多應用於要求滿足SLA的應用,當前雲平臺基本都在進行線上遷移。


不管是線上還是離線,要考慮物理機之間是採用共享外存儲存還是本地儲存。像SAN(storage area network)和 NAS(network-attached storage)都是集中式共享外存儲存。

共享外存儲存,虛擬機器通過SAN網路共同使用當前外存資源,這樣在遷移時就不用遷移虛擬機器磁碟上的儲存資料。而本地儲存遷移時除了遷移系統狀態(cpu、記憶體等)時,還要遷移儲存在本地的虛擬機器映象(因為虛擬機器的檔案系統是建立在虛擬機器映象上面的)。

相關文章