遷移:數據庫
系統的遷移是指把源主機上的操做系統和應用程序移動到目的主機,而且可以在目的主機上正常運行。在沒有虛擬機的時代,物理機之間的遷移依靠的是系統備份和恢復技術。在源主機上實時備份操做系統和應用程序的狀態,而後把存儲介質鏈接到目標主機上,最後在目標主機上恢復系統。隨着虛擬機技術的發展,系統的遷移更加靈活和多樣化。vim
最終咱們遷移的目的就是:安全
簡化系統維護管理服務器
高系統負載均衡網絡
加強系統錯誤容忍度架構
優化系統電源管理負載均衡
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 等。
7、v2v遷移實踐
安裝前準備工做:
遷移須要識別 source&target 主機的主機名因此須要咱們搭建 DNS Ser 或者將 IP& 域名 & 主機名的對應條目寫入到 hosts 文件中去。
實驗環境:
Source Ser ---- VM
Target Ser
NFS Server 共享存儲服務器
實驗步驟:
(1)首先在宿主機上配置NFS
第一步:下載
[root@ken ~]# yum install rpcbind nfs-utils -y
第二步:編輯配置文件
[root@ken ~]# vim /etc/exports
/nfsdate *(rw,sync)
第三步:更改屬主
[root@ken ~]# chown -R nfsnobody: /nfsdate
第四步:啓動nfs
[root@ken ~]# systemctl restart rpcbind
[root@ken ~]# systemctl restart nfs
第五步:客戶端掛載使用
[root@host1 ~]# yum install nfs-utils -y
[root@host1 ~]# showmount -e 192.168.5.5
[root@host1 ~]# mkdir /nfsdate
[root@host1 ~]# mount -t nfs 192.168.5.5:/nfsdate /nfsdate
(3)冷遷移
virst list --all
cd /etc/libvirt/qemu
cp vm3.xml /root
virsh undefine vm3
cd /var/lib/libvirt/images/
mv vm3.qcow2 /nfsdate
cd /nfsdate
ls
cd /root
ls
vim vm3.xml
<source file='/nfsdate/vm3.qcow2'/>
virsh define vm3.xml
virsh list --all
virsh start vm3
virsh console vm3
(4)熱遷移
1.首先進行連接
2.遷移