虛擬機(jī)的遷移?大家可能只聽過(guò)動(dòng)物遷移,虛擬機(jī)的遷移可能還有不太了解的,小編就帶大家簡(jiǎn)單了解一下。
虛擬機(jī)遷移技術(shù)為
服務(wù)器虛擬化提供了便捷的方法。目前流行的虛擬化工具如 VMware,Xen,HyperV,KVM 都提供了各自的遷移組件。遷移服務(wù)器可以為用戶節(jié)省管理資金、維護(hù)費(fèi)用和升級(jí)費(fèi)用。在數(shù)據(jù)及系統(tǒng)遷移方面,英方自主研發(fā)的i2Move可以實(shí)現(xiàn)無(wú)停機(jī)的遷移,比如從其它
云平臺(tái)遷移到云平臺(tái)或從傳統(tǒng)物理機(jī)、傳統(tǒng)虛擬機(jī)遷移到云平臺(tái)。本期英方周末,我們?yōu)榇蠹規(guī)?lái)了云計(jì)算專家 顧炯撰寫的一篇關(guān)于虛擬機(jī)遷移的文章供各位品鑒。
前段時(shí)間和一個(gè)資深一直主管IT維護(hù)、開發(fā)、建設(shè)的專家討論IT系統(tǒng)的“云化”。她認(rèn)為IT系統(tǒng)遷移到資源池,需要很多大顆粒度的虛擬機(jī),比如8C64G、16G128G。我建議她用高配置的虛擬機(jī)還不如直接用物理機(jī)來(lái)承載這些業(yè)務(wù),被她拒絕了。因?yàn)樗X得云化必須使用虛擬機(jī),將來(lái)業(yè)務(wù)都承載在虛擬機(jī)上以后就可以不部署HA,直接利用“遷移”的功能保障。
反思我的公眾賬號(hào),一開始就是雙活的、SDN、SDS的,卻忘記了寫寫最基本的東西?,F(xiàn)在,資深I(lǐng)T專家都是這樣理解云計(jì)算、理解虛擬化,于是決定寫點(diǎn)基礎(chǔ)的東西,講講我的理念。不全對(duì),批評(píng)指正。
遷移(vMotion)是虛擬機(jī)帶來(lái)的最重要的特性。
先要明確遷移是一項(xiàng)資源管理技術(shù),不能替代原來(lái)的高可靠性技術(shù)如HA等。遷移可以分為熱遷移和冷遷移。如果你的某臺(tái)物理服務(wù)器或VM突然宕機(jī)了,監(jiān)控這些虛擬機(jī)的心跳突然消失,管理平臺(tái)會(huì)啟動(dòng)遷移,將這些虛擬機(jī)遷移到其他物理機(jī)上。這種情況下的遷移,也稱為冷遷移。熱遷移是將一個(gè)正常的處于服務(wù)提供中的虛擬機(jī)從一臺(tái)物理服務(wù)器搬家到另一臺(tái)物理服務(wù)器的技術(shù)。不管是冷遷移還是熱遷移都無(wú)助于應(yīng)用訪問(wèn)進(jìn)行故障切換和快速恢復(fù)的。遷移的目的是盡可能方便的為維護(hù)人員提供資源調(diào)度、轉(zhuǎn)移手段,當(dāng)物理
服務(wù)器維護(hù)關(guān)機(jī)重啟,當(dāng)物理服務(wù)器出現(xiàn)繁忙、當(dāng)數(shù)據(jù)中心需要擴(kuò)容重新安排資源,這種時(shí)候遷移就會(huì)有用武之地了。
要了解“遷移”是怎么實(shí)現(xiàn)的,我們必須要了解虛擬機(jī)的組成。虛擬機(jī)是在某臺(tái)物理機(jī)上分配了虛擬的CPU、內(nèi)存、網(wǎng)卡并獲取了相應(yīng)的I/O設(shè)備,但是虛擬機(jī)的“硬盤”不是從這臺(tái)物理機(jī)獲取的,而是從連接在這臺(tái)物理服務(wù)器上的存儲(chǔ)上獲取的。這個(gè)存儲(chǔ)是一個(gè)共享存儲(chǔ),可以連接很多臺(tái)的物理服務(wù)器。虛擬機(jī)的“硬盤”實(shí)際上是這個(gè)共享存儲(chǔ)上的一個(gè)
虛機(jī)文件。
設(shè)想一下在物理服務(wù)器上的遷移工作是怎么完成的:
1、需要將原始物理服務(wù)器上關(guān)機(jī);
2、復(fù)制硬盤;
3、硬盤裝入其他物理機(jī);
4、重新啟動(dòng)。
整個(gè)過(guò)程對(duì)外提供的服務(wù)中斷會(huì)達(dá)到小時(shí)的級(jí)別,過(guò)程很復(fù)雜,還有很大的限制,比如兩臺(tái)物理服務(wù)器的配置要完全一樣,不然驅(qū)動(dòng)是不匹配的。
在虛擬機(jī)環(huán)境下,物理服務(wù)器上的虛擬機(jī)們都使用共享存儲(chǔ)來(lái)保存虛機(jī)文件,這樣就節(jié)省了上述步驟2中的時(shí)間, 遷移只需在兩臺(tái)物理服務(wù)器間傳遞當(dāng)前的服務(wù)狀態(tài)信息,包括內(nèi)存和TCP等上層連接表項(xiàng),狀態(tài)同步的拷貝時(shí)間相對(duì)較短,而且同步時(shí)原始虛擬機(jī)還可以提供服務(wù)使其不會(huì)中斷。同步時(shí)間跟虛擬機(jī)當(dāng)前忙閑情況及遷移網(wǎng)絡(luò)帶寬有關(guān),原始虛擬機(jī)的內(nèi)存一直不停變化或帶寬較低會(huì)導(dǎo)致遷移時(shí)間較長(zhǎng),有可能還會(huì)導(dǎo)致遷移出現(xiàn)概率性失敗。當(dāng)狀態(tài)同步完成后,原始物理服務(wù)器上的虛擬機(jī)會(huì)關(guān)閉,而同時(shí)新服務(wù)器上的虛擬機(jī)激活,此時(shí)會(huì)有個(gè)較短的業(yè)務(wù)中斷時(shí)間,一般從網(wǎng)絡(luò)上看會(huì)丟掉2-3個(gè)包,可以達(dá)到毫秒或秒級(jí)。對(duì)于業(yè)務(wù)來(lái)說(shuō)可以認(rèn)為是不“中斷”的。遷移的過(guò)程是由管理平臺(tái)一鍵化或自動(dòng)完成的,維護(hù)人員處理起來(lái)輕松了許多。
遷移是一個(gè)很好的特性,但是遷移對(duì)業(yè)務(wù)來(lái)說(shuō)也是一種風(fēng)險(xiǎn)。一般情況下遷移的動(dòng)作安排在業(yè)務(wù)量最少的時(shí)候進(jìn)行。有的時(shí)候?yàn)榱私鉀Q物理機(jī)繁忙的問(wèn)題,一般是將這臺(tái)物理機(jī)上最不忙的虛擬機(jī)遷移到其他物理機(jī)上。
一般情況,我們建議在資源池內(nèi)要建設(shè)3個(gè)獨(dú)立網(wǎng)絡(luò):管理、業(yè)務(wù)和vMotion網(wǎng)絡(luò),如果網(wǎng)絡(luò)資源限制,可以將管理和業(yè)務(wù)合設(shè),而確保vMotion網(wǎng)絡(luò)獨(dú)立。這樣可以避免不同網(wǎng)絡(luò)爭(zhēng)用帶寬,造成網(wǎng)絡(luò)瓶頸,確保遷移流量快速完成。
還有一種遷移叫作存儲(chǔ)遷移(StoragevMotion),使用的場(chǎng)景是當(dāng)存儲(chǔ)資源出現(xiàn)瓶頸,需要進(jìn)行存儲(chǔ)文件的遷移。這種遷移本質(zhì)上是通過(guò)這臺(tái)虛擬機(jī)進(jìn)行不同存儲(chǔ)間存儲(chǔ)文件的復(fù)制和數(shù)據(jù)的同步,當(dāng)二個(gè)存儲(chǔ)文件一致后,將這個(gè)虛擬機(jī)掛接到另外一個(gè)存儲(chǔ)上。這個(gè)過(guò)程也是不需要中斷業(yè)務(wù)的熱遷移。
當(dāng)然還有將計(jì)算、存儲(chǔ)一起遷移的方式,就是將上述的方法結(jié)合起來(lái),小編就不多講了。