kvm虛擬遷移(5)

一、遷移簡介

遷移:
系統的遷移是指把源主機上的操作系統和應用程序移動到目的主機,並且能夠在目的主機上正常運行。在沒有虛擬機的時代,物理機之間的遷移依靠的是系統備份和恢復技術。在源主機上實時備份操作系統和應用程序的狀態,然後把存儲介質連接到目標主機上,最後在目標主機上恢復系統。隨著虛擬機技術的發展,系統的遷移更加靈活和多樣化。
最終我們遷移的目的就是:
簡化系統維護管理
高系統負載均衡
增強系統錯誤容忍度
優化系統電源管理

二、熱遷移 ---Live Migration
KVM 虛擬機的熱遷移 ---Live Migration:
服務器虛擬化技術是當前的熱點,而虛擬機的“熱遷移( Live Migration )”技術則是虛擬化技術當中的熱點。
熱遷移(又叫動態遷移、實時遷移),即虛擬機保存( save ) / 恢復 (restore) :將整個虛擬機的運行狀態完整保存下來,同時可以快速的恢復到原有硬件平臺甚至是不同硬件平臺上。恢復以後,虛擬機仍舊平滑運行,用戶不會察覺到任何差異。


遷移的種類:
P2P :物理機之間的遷移
V2P :虛擬機遷到物理機
P2V :物理機遷到虛擬機
V2V :虛擬機遷到虛擬機


三、熱遷移的應用

1. 虛擬機的熱遷移技術最初是被用於雙機容錯或者負載均衡:當宿主機出現軟硬件故障導致服務異常時,虛擬機可漂移到另外主機上,或者在集群中依據工作負載量的大小,選擇更換宿主機與否來保證自身良好的服務提供性。
2. 系統硬件維護:當前很多操作系統都能夠穩定支持 7×24 運行,但是硬件卻需要定期的進行維護。如果使用虛擬機的動態遷移技術,將虛擬機從需要維護的物理機器遷移到另外一主器,等維護完成後,在將其遷回到原來的物理機器。所有的系統服務和應用程序在遷移 & 恢復後仍舊正常運行,用戶不會察覺到由於硬件維護造成的中斷。最終實現了我們服務不受硬件維護干擾的 7*24 小時的工作願望。
3. 數據庫備份:對於一些大型、關鍵的數據庫應用,備份是一項重要但複雜的工作。虛擬機的保存/ 恢復可以將數據庫運行在虛擬機中,如需備份就保存虛擬機,這樣數據庫中的所有數據、狀態都做了備份。如果數據庫崩潰了,就可以通過恢復虛擬機來恢復整個數據庫。



4. 環境重現:進行性能測試或程序調試時,都需要重現當時複雜龐大並且與實時完全一致的網絡環境 , 不僅僅是重啟、配置軟件,而且常常需要一定的運行時間。我們可以將各服務安裝到獨立的各個虛擬機,然後利用各個獨立虛擬機部署我們所需的工作環境,可以大大縮短環境重現時間。
5. 計算機共享: 在一些公共場合用戶需要共享計算機,但是由於不同的系統配置和軟件需要花費大量的時間來配置和恢復。這時使用虛擬機的保存 /恢復可以很好地解決這個問題。或者也可以,在物理機上運行多個邏輯虛擬機幫助我們分配給每一個需要者一個獨立,安全,穩定的環境。當因為宿主機出現問題影響虛擬機使用時,我們可以讓該虛擬機漂移到其他宿主機以此來保持正常工作。

四、熱遷移的優勢
1. 首先是可伸縮性比較強, IT 管理者可以在合理時間段讓運行某些關鍵業務的服務器適當減少工作量,以便進行更新操作系統,給應用程序打補丁等。而到了服務高峰期,又可以彈性地進行大負載量的運算。虛擬機遷移過程完全透明,幾乎不影響使用。


2. 其次,現在的數據中心都追求環保節能, 工作量負載大的應用程序必然會令服務器能耗增加,有了虛擬機熱遷移技術,當一臺物理服務器負載過大時,系統管理員可以將其上面的虛擬機遷移到其他服務器,可有效減低數據中心服務器的總體能耗,再通過冷卻系統將數據中心的溫度保持在正常水平。

五、熱遷移的侷限

進行虛擬機的熱遷移也有不少的限制。例如,
VMotion 在進行遷移之前,管理軟件會檢測目標服務器的 X86 架構是否與原服務器兼容。包括存儲設備以及處理器,虛擬機必須放到共享的存儲裡, CPU 的類型也要一樣,不僅不能一個是英特爾,一個是 AMD ,甚至相同廠商不同產品線的CPU 也不行,比如英特爾至強和奔騰

六、衡量虛擬機遷移的效率

1. 整體遷移時間:從源主機中遷移操作開始到目的主機上客戶機服務處於不可用狀態的時間,此時源主機上客戶機已經暫停服務,目的主機上的客戶機還未恢復服務。


2. 服務器停機時間:在遷移過程中,源主機和目的主機上的客戶機都處於不可用狀態的時間,此時源主機上客戶機已暫停,目的目的主機上客戶還未恢
復服務。
3. 對服務的性能影響:不僅包括遷移後的客戶機中應用程序的性能與遷移前相對比是否有所降低,還包括遷移後對目的主機上的其他服務的性能影響。

Kvm 動態遷移,也有如下幾個建議和注意事項:
1. 源宿主機和目的宿主機直接儘量用網絡共享的存儲系統來保存客戶機磁盤鏡像。例如 NFS , ISCSI , Glusterfs 等。

2. 為了提高動態遷移的成功率,儘量在同類型 cpu的主機上面進行動態遷移,儘管 kvm 動態遷移也支持從 Intel 平臺遷移到 amd 平臺。 但,從安全性,穩定度考慮不建議這樣去操作!!!

3. 64 位的客戶機只能運行在 64 宿主機之間的遷移,而 32 位客戶機可以在 32 宿主機和 64 位宿主機之間遷移。

4. 在進行動態遷移時,被遷移客戶機的名稱是唯一的,在目的宿主機上不能有與源宿主機被遷移客戶機同名的客戶機存在。

5. 目的宿主機和源宿主機的軟件儘可能的相同。也就是同為 Vmware , KVM , Xen 等。

七、v2v遷移實踐

安裝前準備工作:
遷移需要識別 source&target 主機的主機名所以需要我們搭建 DNS Ser 或者將 IP& 域名 & 主機名的對應條目寫入到 hosts 文件中去。
實驗環境:
Source Ser ---- VM
Target Ser
NFS Server 共享存儲服務器
實驗步驟:
(1)NFS Server
1. 安裝 / 配置 / 開啟 NFS 服務共享 NFS Server 上的目錄: /nfsdate
2. 編輯 hosts 文件

(2)Source Server
1. 掛載 NFS Ser 的 /nfsdate 目錄到本地的 /nfsdate 目錄上
2. 安裝 VM
3. 編輯 hosts 文件
(3)Target Server
1. 掛載 NFS Ser 的 /nfsdate 目錄到本地的 /nfsdate 目錄上
2. 編輯 hosts 文件
(4)完成以上實驗環境搭建,我們來 Live Migration

1. 分別在兩臺機器上查看當前運行在本地的虛擬機
# Virsh list –all
確定將 source 上的 vm 掛載到 target ,並且確實在 target host 上沒有同名的主機。
2.source host


#Virsh migrate --live VMname qemu+ssh://Target-IP/system
#virsh list –all
查看本地運行的虛擬機來驗證是否遷移成功
3.Target Host
#virsh list –all
查看 Target Host 上運行的虛擬機,驗證是否遷移成功
當然,遷移工作也可以在我們的 V-manager 上得以實現。

kvm虛擬遷移(5)


分享到:


相關文章: