1. 虛擬遷移遷移: ? ? ? ?系統(tǒng)的遷移是指把源主機上的操作系統(tǒng)和應(yīng)用程序移動到目的主機,并且能夠在目的主機上正常運行。在沒有虛擬機的時代,物理機之間的遷移依靠的是系統(tǒng)備份和恢復(fù)技術(shù)。在源主機上實時備份操作系統(tǒng)和應(yīng)用程序的狀態(tài),然后把存儲介質(zhì)連接到目標(biāo)主機上,最后在目標(biāo)主機上恢復(fù)系統(tǒng)。隨著虛擬機技術(shù)的發(fā)展,系統(tǒng)的遷移更加靈活和多樣化。 ? 最終我們遷移的目的就是: ? ? ? ?簡化系統(tǒng)維護管理; ??? ?高系統(tǒng)負載均衡; ??? ?增強系統(tǒng)錯誤容忍度; ??? 優(yōu)化系統(tǒng)電源管理。 2. 熱遷移KVM 虛擬機的熱遷移Live Migration: ? ? 服務(wù)器虛擬化技術(shù)是當(dāng)前的熱點,而虛擬機的“熱遷移( Live Migration )”技術(shù)則是虛擬化技術(shù)當(dāng)中的熱點。 熱遷移(又叫動態(tài)遷移、實時遷移),即虛擬機保存( save ) / 恢復(fù) (restore) :將整個虛擬機的運行狀態(tài)完整保存下來,同時可以快速的恢復(fù)到原有硬件平臺甚至是不同硬件平臺上?;謴?fù)以后,虛擬機仍舊平滑運行,用戶不會察覺到任何差異。 ? 遷移的種類: P2P :物理機之間的遷移; V2P :虛擬機遷到物理機; P2V :物理機遷到虛擬機; V2V :虛擬機遷到虛擬機。 ?3. 熱遷移的應(yīng)用1> 虛擬機的熱遷移技術(shù)最初是被用于雙機容錯或者負載均衡:當(dāng)宿主機出現(xiàn)軟硬件故障導(dǎo)致服務(wù)異常時,虛擬機可漂移到另外主機上,或者在集群中依據(jù)工作負載量的大小,選擇更換宿主機與否來保證自身良好的服務(wù)提供性。 2> 系統(tǒng)硬件維護:當(dāng)前很多操作系統(tǒng)都能夠穩(wěn)定支持 7×24 運行,但是硬件卻需要定期的進行維護。如果使用虛擬機的動態(tài)遷移技術(shù),將虛擬機從需要維護的物理機器遷移到另外一主器,等維護完成后,在將其遷回到原來的物理機器。所有的系統(tǒng)服務(wù)和應(yīng)用程序在遷移 & 恢復(fù)后仍舊正常運行,用戶不會察覺到由于硬件維護造成的中斷。最終實現(xiàn)了我們服務(wù)不受硬件維護干擾的 7*24 小時的工作愿望。 3> 數(shù)據(jù)庫備份:對于一些大型、關(guān)鍵的數(shù)據(jù)庫應(yīng)用,備份是一項重要但復(fù)雜的工作。虛擬機的保存/ 恢復(fù)可以將數(shù)據(jù)庫運行在虛擬機中,如需備份就保存虛擬機,這樣數(shù)據(jù)庫中的所有數(shù)據(jù)、狀態(tài)都做了備份。如果數(shù)據(jù)庫崩潰了,就可以通過恢復(fù)虛擬機來恢復(fù)整個數(shù)據(jù)庫。 4> 環(huán)境重現(xiàn):進行性能測試或程序調(diào)試時,都需要重現(xiàn)當(dāng)時復(fù)雜龐大并且與實時完全一致的網(wǎng)絡(luò)環(huán)境 , 不僅僅是重啟、配置軟件,而且常常需要一定的運行時間。我們可以將各服務(wù)安裝到獨立的各個虛擬機,然后利用各個獨立虛擬機部署我們所需的工作環(huán)境,可以大大縮短環(huán)境重現(xiàn)時間。 5> 計算機共享: 在一些公共場合用戶需要共享計算機,但是由于不同的系統(tǒng)配置和軟件需要花費大量的時間來配置和恢復(fù)。這時使用虛擬機的保存 /恢復(fù)可以很好地解決這個問題?;蛘咭部梢裕谖锢頇C上運行多個邏輯虛擬機幫助我們分配給每一個需要者一個獨立,安全,穩(wěn)定的環(huán)境。當(dāng)因為宿主機出現(xiàn)問題影響虛擬機使用時,我們可以讓該虛擬機漂移到其他宿主機以此來保持正常工作。 4. 熱遷移的優(yōu)勢1> 首先是可伸縮性比較強, IT 管理者可以在合理時間段讓運行某些關(guān)鍵業(yè)務(wù)的服務(wù)器適當(dāng)減少工作量,以便進行更新操作系統(tǒng),給應(yīng)用程序打補丁等。而到了服務(wù)高峰期,又可以彈性地進行大負載量的運算。虛擬機遷移過程完全透明,幾乎不影響使用。 2> 其次,現(xiàn)在的數(shù)據(jù)中心都追求環(huán)保節(jié)能, 工作量負載大的應(yīng)用程序必然會令服務(wù)器能耗增加,有了虛擬機熱遷移技術(shù),當(dāng)一臺物理服務(wù)器負載過大時,系統(tǒng)管理員可以將其上面的虛擬機遷移到其他服務(wù)器,可有效減低數(shù)據(jù)中心服務(wù)器的總體能耗,再通過冷卻系統(tǒng)將數(shù)據(jù)中心的溫度保持在正常水平。 5. 熱遷移的局限進行虛擬機的熱遷移也有不少的限制。例如, ??? ?VMotion 在進行遷移之前,管理軟件會檢測目標(biāo)服務(wù)器的 X86 架構(gòu)是否與原服務(wù)器兼容。包括存儲設(shè)備以及處理器,虛擬機必須放到共享的存儲里, CPU 的類型也要一樣,不僅不能一個是英特爾,一個是 AMD ,甚至相同廠商不同產(chǎn)品線的CPU 也不行,比如英特爾至強和奔騰。 6. 衡量虛擬機遷移的效率1> 整體遷移時間:從源主機中遷移操作開始到目的主機上客戶機服務(wù)處于不可用狀態(tài)的時間,此時源主機上客戶機已經(jīng)暫停服務(wù),目的主機上的客戶機還未恢復(fù)服務(wù)。 2> 服務(wù)器停機時間:在遷移過程中,源主機和目的主機上的客戶機都處于不可用狀態(tài)的時間,此時源主機上客戶機已暫停,目的目的主機上客戶還未恢 復(fù)服務(wù)。 3> 對服務(wù)的性能影響:不僅包括遷移后的客戶機中應(yīng)用程序的性能與遷移前相對比是否有所降低,還包括遷移后對目的主機上的其他服務(wù)的性能影響。 7. Kvm 動態(tài)遷移建議和注意事項1> 源宿主機和目的宿主機直接盡量用網(wǎng)絡(luò)共享的存儲系統(tǒng)來保存客戶機磁盤鏡像。例如 NFS , ISCSI , Glusterfs 等。 2> 為了提高動態(tài)遷移的成功率,盡量在同類型 cpu的主機上面進行動態(tài)遷移,盡管 kvm 動態(tài)遷移也支持從 Intel 平臺遷移到 amd 平臺。? 但,從安全性,穩(wěn)定度考慮不建議這樣去操作。 3> 64 位的客戶機只能運行在 64 宿主機之間的遷移,而 32 位客戶機可以在 32 宿主機和 64 位宿主機之間遷移。 4> 在進行動態(tài)遷移時,被遷移客戶機的名稱是唯一的,在目的宿主機上不能有與源宿主機被遷移客戶機同名的客戶機存在。 5> 目的宿主機和源宿主機的軟件盡可能的相同。也就是同為 Vmware , KVM , Xen 等。 8. V2V遷移實例遷移所用主機:192.168.16.3、192.168.16.13,從.13遷移虛擬機vm1至.3。 1> 修改主機名。主機名相同無法進行遷移 ? 192.168.16.3 [root@localhost ~]# hostnamectl set-hostname ajyone [root@localhost ~]# hostname ajyone 192.168.16.13 [root@localhost ~]# hostnamectl set-hostname ajytwo [root@localhost ~]# hostname ajytwo ? 2> 搭建nfs共享存儲 #192.168.16.13: [root@localhost ~]# mount /dev/cdrom /mnt mount: /dev/sr0 寫保護,將以只讀方式掛載 [root@localhost ~]# yum install nfs-utils rpcbind -y [root@localhost ~]# mkdir /nfsdata [root@localhost ~]# vim /etc/exports /nfsdata *(rw,sync) [root@localhost ~]# chown -R nfsnobody: /nfsdata [root@localhost ~]# systemctl restart rpcbind nfs [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0 [root@localhost ~]# showmount -e Export list for localhost.localdomain: /nfsdata * #192.168.16.3: [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0 [root@localhost ~]# yum install nfs-utils -y [root@localhost ~]# showmount -e 192.168.16.13 Export list for 192.168.16.13: /nfsdata * [root@localhost ~]# mkdir /nfsdata [root@localhost ~]# mount -t nfs 192.168.16.13:/nfsdata /nfsdata [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0 [root@localhost ~]# df -h 192.168.16.13:/nfsdata 27G 12G 16G 44% /nfsdata ? 3> 先進行冷遷移,將.8的vm3遷移至/nfsdata目錄下 [root@localhost ~]# virsh list --all Id 名稱 狀態(tài) ---------------------------------------------------- - centos7.0 關(guān)閉 - vm1 關(guān)閉 - vm2 關(guān)閉 - vm3 關(guān)閉 [root@localhost ~]# cd /etc/libvirt/qemu/ [root@localhost qemu]# ls centos7.0.xml networks vm1.xml vm2.xml vm3.xml [root@localhost qemu]# cp vm3.xml vm3.xml.bak [root@localhost qemu]# mv vm3.xml /root [root@localhost qemu]# virsh undefine vm3 域 vm3 已經(jīng)被取消定義 [root@localhost qemu]# cd /var/lib/libvirt/images/ [root@localhost images]# ls centos7.0.qcow2 CentOS-7-x86_64-DVD-1611.iso vm1.qcow2 vm3.qcow2 [root@localhost images]# mv vm3.qcow2 /nfsdata [root@localhost images]# cd /root [root@localhost ~]# ls vm3.xml [root@localhost ~]# vim vm3.xml <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/var/lib/libvirt/images/CentOS-7-x86_64-DVD-1611.iso'/> [root@localhost ~]# cd /nfsdata/ [root@localhost nfsdata]# ls vm3.qcow2 [root@localhost ~]# virsh define vm3.xml 定義域 vm3(從 vm3.xml) [root@localhost ~]# virsh start vm3 域 vm3 已開始 [root@localhost ~]# virsh list --all Id 名稱 狀態(tài) ---------------------------------------------------- 1 vm3 running - centos7.0 關(guān)閉 - vm1 關(guān)閉 - vm2 關(guān)閉 ? 4>編輯域名解析 #每臺主機都寫 [root@localhost ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.16.3 ajyone 192.168.16.13 ajytwo ? 5> 兩臺宿主機互連,準(zhǔn)備熱遷移 6> 進行遷移? ? ? 7> 遷移完成后,在.3打開遷移過去的終端vm3,查看終端業(yè)務(wù)是否停止 ? ?此時開機會提示對/nfsdata/vm3.qcow2無權(quán)限,無法打開,給權(quán)限即可 [root@localhost /]# cd /nfsdata/ [root@localhost nfsdata]# ls vm3.qcow2 [root@localhost nfsdata]# chmod 777 vm3.qcow2 [root@localhost nfsdata]# ll 總用量 1420100 -rwxrwxrwx. 1 root root 1454243840 6月 24 19:23 vm3.qcow2 [root@localhost nfsdata]# 然后再將該虛擬機遷移至192.168.16.13,查看界面是否改變,若沒有改變則表示熱遷移成功,即在不影響使用的情況下進行了遷移
窗口界面相同,遷移成功。 來源:https://www./content-4-266351.html |
|