kvm虛擬機遷移

1、遷移簡介

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

2、熱遷移

KVM 虛擬機的熱遷移 ---Live Migration:
服務器虛擬化技術是當前的熱點,而虛擬機的「熱遷移( LiveMigration )」技術則是虛擬化技術當中的熱點

熱遷移(又叫動態遷移、實時遷移),即虛擬機保存( save ) / 恢復(restore) :將整個虛擬機的運行狀態完整保存下來,同時能夠快速的恢復到原有硬件平臺甚至是不一樣硬件平臺上。恢復之後,虛擬機仍舊平滑運行,用戶不會察覺到任何差異

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

3、熱遷移的應用   

  1. 虛擬機的熱遷移技術最初是被用於雙機容錯或者負載均衡:當宿主機出現軟硬件故障致使服務異常時,虛擬機可漂移到另外主機上,或者在集羣中依據工做負載量的大小,選擇更換宿主機與否來保證自身良好的服務提供性   數據庫

  2. 系統硬件維護:當前不少操做系統都可以穩定支持 7×24 運行,可是硬件卻須要按期的進行維護。若是使用虛擬機的動態遷移技術,將虛擬機從須要維護的物理機器遷移到另一主器,等維護完成後,在將其遷回到原來的物理機器。全部的系統服務和應用程序在遷移 & 恢復後仍舊正常運行,用戶不會察覺到因爲硬件維護形成的中斷。最終實現了咱們服務不受硬件維護干擾的 7*24 小時的工做願望
  3. 數據庫備份:對於一些大型、關鍵的數據庫應用,備份是一項重要但複雜的工做。虛擬機的保存/ 恢復能夠將數據庫運行在虛擬機中,如需備份就保存虛擬機,這樣數據庫中的全部數據、狀態都作了備份。若是數據庫崩潰了,就能夠經過恢復虛擬機來恢復整個數據庫
  4. 環境重現:進行性能測試或程序調試時,都須要重現當時複雜龐大而且與實時徹底一致的網絡環境 , 不只僅是重啓、配置軟件,並且經常須要必定的運行時間。咱們能夠將各服務安裝到獨立的各個虛擬機,而後利用各個獨立虛擬機部署咱們所需的工做環境,能夠大大縮短環境重現時間
  5. 計算機共享: 在一些公共場合用戶須要共享計算機,可是因爲不一樣的系統配置和軟件須要花費大量的時間來配置和恢復。這時使用虛擬機的保存 /恢復能夠很好地解決這個問題。或者也能夠,在物理機上運行多個邏輯虛擬機幫助咱們分配給每個須要者一個獨立,安全,穩定的環境。當由於宿主機出現問題影響虛擬機使用時,咱們可讓該虛擬機漂移到其餘宿主機以此來保持正常工做vim

4、熱遷移的優點   

  1. 首先是可伸縮性比較強, IT 管理者能夠在合理時間段讓運行某些關鍵業務的服務器適當減小工做量,以便進行更新操做系統,給應用程序打補丁等。而到了服務高峯期,又能夠彈性地進行大負載量的運算。虛擬機遷移過程徹底透明,幾乎不影響使用
  2. 其次,如今的數據中心都追求環保節能, 工做量負載大的應用程序必然會令服務器能耗增長,有了虛擬機熱遷移技術,當一臺物理服務器負載過大時,系統管理員能夠將其上面的虛擬機遷移到其餘服務器,可有效減低數據中心服務器的整體能耗,再經過冷卻系統將數據中心的溫度保持在正常水平安全

5、熱遷移的侷限

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

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

  1. 總體遷移時間:從源主機中遷移操做開始到目的主機上客戶機服務處於不可用狀態的時間,此時源主機上客戶機已經暫停服務,目的主機上的客戶機還未恢復服務
  2. 服務器停機時間:在遷移過程當中,源主機和目的主機上的客戶機都處於不可用狀態的時間,此時源主機上客戶機已暫停,目的目的主機上客戶還未恢復服務
  3. 對服務的性能影響:不只包括遷移後的客戶機中應用程序的性能與遷移前相對比是否有所下降,還包括遷移後對目的主機上的其餘服務的性能影響

Kvm 動態遷移,也有以下幾個建議和注意事項:
  1. 源宿主機和目的宿主機直接儘可能用網絡共享的存儲系統來保存客戶機磁盤鏡像。例如 NFS , ISCSI , Glusterfs 等。
  2. 爲了提升動態遷移的成功率,儘可能在同類型 cpu的主機上面進行動態遷移,儘管 kvm 動態遷移也支持從 Intel 平臺遷移到 amd 平臺。但,從安全性,穩定度考慮不建議這樣去操做!!!
  3. 64 位的客戶機只能運行在 64 宿主機之間的遷移,而 32 位客戶機能夠在32 宿主機和 64 位宿主機之間遷移
  4. 動態遷移的源宿主機和目的宿主機對 NX 位的設置是相同,要麼同爲關閉狀態,要麼同爲打開狀態。在 Intel 平臺上的 linux 系統中,用「 cat/proc/cpuinfo |grep nx 」 命令能夠查看是否有 NX的支持。
NX ,全名爲「 No eXecute」,即「禁止運行」,是應用在 CPU 的一種技術,用做把存儲器區域分隔爲只供存儲處理器指令集,或只供數據使用。任何使用 NX 技術的存儲器,表明僅供數據使用,所以處理器的指令集並不能在這些區域存儲。這種技術可防止大多數的緩衝溢出攻擊,即一些惡意程序,把自身的惡意指令集放在其餘程序的數據存儲區並運行,從而把整臺計算機控制。
  5. 在進行動態遷移時,被遷移客戶機的名稱是惟一的,在目的宿主機上不能有與源宿主機被遷移客戶機同名的客戶機存在。
  6. 目的宿主機和源宿主機的軟件儘量的相同。也就是同爲 Vmware ,KVM , Xen 等。網絡

7、v2v遷移實踐

實驗環境準備:
一、兩臺主機之間能相互解析主機名(兩臺主機編輯文件)
# vim /etc/hosts
  192.168.83.13 node1
  192.168.83.32 node2
二、關閉防火牆和selinux
三、下載nfs服務
  # yum -y isntall nfs-utils rcphind
四、配置 / 開啓 NFS 服務共享 NFS Server 上的目錄: /nfsdate
五、編輯虛機配置文件
  # virsh edit vm1
  將文件默認保存路徑改爲共享目錄的路徑
六、備份一份虛機的配置文件,而後取消定義域,而且從新定義
  # cp /etc/libvirt/qemu/vm1.xml /root
  # virsh undefine vm2
  # virsh define vm2
七、目標主機進行掛載,掛載點須要和共享文件的路徑一致
  # mount -t nfs 192.168.83.13:/nfsdate /nfsdate
八、到virt-manager中去遷移正在運行的虛機,遷移的目標主機須要在源主機中添加了virsh遠程管理架構

8、冷遷移

一、虛機必須關機
二、將鏡像文件拷貝到目標主機上去
  # scp /var/lib/libvirt/images/vm2.qcow2 192.168.83.23:/var/lib/libvirt/images
三、將啓動配置文件拷貝到目標主機
  # scp /etc/libvirt/qemu/vm2.xml 192.168.83.23:/root
四、在目標主機中定義域
  # virsh define /root/vm2.xml負載均衡

相關文章
相關標籤/搜索