- 相關(guān)推薦
KVM虛擬化集群技術(shù)概述
一、 虛擬化集群介紹、設(shè)計(jì)思路及架構(gòu)
使用虛擬化集群的目標(biāo)是克服單機(jī)虛擬化的局限性,利用技術(shù)手段提高虛擬機(jī)可用性,最終達(dá)到業(yè)務(wù)不中斷或者減少中斷時(shí)間,確保業(yè)務(wù)數(shù)據(jù)更安全的目標(biāo)。
1. 虛擬化集群介紹
1)什么是虛擬化集群
虛擬機(jī)集群最顯著的特征是有共享存儲(chǔ),因?yàn)橛辛斯蚕泶鎯?chǔ),虛擬機(jī)就可以實(shí)現(xiàn)非常快速的在線遷移,并在虛擬化層配置高可用。筆者在生產(chǎn)環(huán)境使用的集群有兩種存儲(chǔ)方式,基于商業(yè)存儲(chǔ)和基于開源分布式文件系統(tǒng)。
2)虛擬化集群的高可用和基于應(yīng)用層高可用的區(qū)別
高可用是經(jīng)常用到的運(yùn)維技術(shù),在系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫、Web業(yè)務(wù)等各個(gè)應(yīng)用層面都有使用。高可用技術(shù)是指至少有主備兩個(gè)節(jié)點(diǎn),當(dāng)主節(jié)點(diǎn)故障的時(shí)候,迅速切換到備用節(jié)點(diǎn)。為了避免備用節(jié)點(diǎn)誤判,有時(shí)候還有第三個(gè)節(jié)點(diǎn),或者主節(jié)點(diǎn)和備用節(jié)點(diǎn)共同能訪問到的存儲(chǔ)空間,用于做仲裁判斷。應(yīng)用層面的高可用還有一個(gè)特點(diǎn),就是一般都有浮動(dòng)IP,當(dāng)切換發(fā)生的時(shí)候,IP從主節(jié)點(diǎn)漂移到備用節(jié)點(diǎn)。應(yīng)用層面的高可用一般切換時(shí)間比較快,從幾毫米到幾秒中,同時(shí)應(yīng)用層面的高可用一般需要專用軟件,比如常用的Keepalived,Heartbeat等。
虛擬化層面的高可用是虛擬機(jī)系統(tǒng)層面的高可用,即當(dāng)一臺(tái)計(jì)算節(jié)點(diǎn)故障的時(shí)候,在另外一臺(tái)計(jì)算節(jié)點(diǎn)上自動(dòng)將故障節(jié)點(diǎn)上的虛擬機(jī)啟動(dòng)起來。注意如果虛擬機(jī)上的業(yè)務(wù)不能做到開機(jī)自啟動(dòng),即使虛擬機(jī)自動(dòng)啟動(dòng)了,并不能保證業(yè)務(wù)層面的自動(dòng)恢復(fù)!
另外還有一個(gè)問題,就是即使虛擬機(jī)啟動(dòng)起來了,當(dāng)啟動(dòng)到一半虛擬機(jī)的系統(tǒng)卡住了,也不能及時(shí)恢復(fù)業(yè)務(wù)!
虛擬化層的高可用一般業(yè)務(wù)恢復(fù)實(shí)際是系統(tǒng)重啟的時(shí)間,加上業(yè)務(wù)開機(jī)自啟動(dòng)的時(shí)間,通常是分鐘級(jí)別。
雖然虛擬化層高可用有業(yè)務(wù)不能恢復(fù)的風(fēng)險(xiǎn),業(yè)務(wù)恢復(fù)時(shí)間也相對(duì)比較長,但是虛擬化層高可用有個(gè)非常巨大的優(yōu)勢(shì),就是不需要在應(yīng)用層面配置,大大的拓寬了高可用的適用范圍,使原來在應(yīng)用層難以使用高可用技術(shù)的應(yīng)用,也能做到高可用,尤其是在某些專用的軟件領(lǐng)域。
其實(shí)虛擬機(jī)層高可用和應(yīng)用層面高可用并不矛盾,在虛擬機(jī)的系統(tǒng)里面,也可以配置應(yīng)用層面的高可用,做這樣的配置的時(shí)候,注意主備節(jié)點(diǎn)放置到不同宿主機(jī)上!
3)虛擬化集群后端存儲(chǔ)的使用
最早的時(shí)候,筆者在生產(chǎn)環(huán)境使用的集群都是以機(jī)柜為單位的小集群,主要因?yàn)楣P者一直搭建的是私有云,在IDC機(jī)房里面機(jī)柜都是要計(jì)算費(fèi)用的,為了充分利用資源,合理節(jié)省成本,筆者私有云一個(gè)設(shè)計(jì)思想就是能夠按照機(jī)柜,靈活擴(kuò)展或者伸縮。
后來隨著虛擬化的規(guī)模擴(kuò)大,也進(jìn)行了一些基于開源分布式文件系統(tǒng)集群的搭建,基于開源分布式文件系統(tǒng)的集群,規(guī)?梢愿螅瑪U(kuò)展性更好,適用于KVM的開源分布式文件系統(tǒng)在第9章、第10章都有詳細(xì)的介紹。開源的虛擬化管理平臺(tái),本書第11章、第12章、第13章有詳細(xì)介紹,所以本章不再介紹開源分布式文件系統(tǒng)及管理平臺(tái)。
2. 使用虛擬化集群的優(yōu)勢(shì)
虛擬化集群相對(duì)于單機(jī)虛擬化,有以下幾點(diǎn)優(yōu)勢(shì):
q 快速的在線遷移(Live Migration),設(shè)備、系統(tǒng)維護(hù)造成的業(yè)務(wù)計(jì)劃內(nèi)停機(jī)時(shí)間減少到零。
q 高可用(HA),一臺(tái)計(jì)算節(jié)點(diǎn)故障,上面的虛擬機(jī)可以很快在其他計(jì)算節(jié)點(diǎn)上啟動(dòng)運(yùn)行起來,極大縮短計(jì)劃外停機(jī)時(shí)間。
q 動(dòng)態(tài)資源調(diào)度,業(yè)務(wù)負(fù)載發(fā)生變化引起計(jì)算節(jié)點(diǎn)壓力分布不均勻時(shí),可手動(dòng)或者自動(dòng)平衡物理機(jī)負(fù)載。也可在整體壓力較低的時(shí)間段,將虛擬機(jī)集中在部分計(jì)算節(jié)點(diǎn)上,將不用的計(jì)算節(jié)點(diǎn)臨時(shí)關(guān)閉,達(dá)到節(jié)能的目標(biāo)。
q 業(yè)務(wù)快速部署,集群將資源池化,通過和管理平臺(tái)結(jié)合,在集群的容量范圍內(nèi),業(yè)務(wù)部署的速度非?。
q 數(shù)據(jù)更安全,后端存儲(chǔ)采用冗余度更高的商業(yè)存儲(chǔ),或者分布式文件系統(tǒng),數(shù)據(jù)可靠性可以達(dá)到99.99%以上。
q 網(wǎng)絡(luò)速度、可靠性更高,集群網(wǎng)絡(luò)采用冗余架構(gòu),網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)連接都是雙冗余,網(wǎng)絡(luò)速度更高,可靠性也更高,單臺(tái)網(wǎng)絡(luò)設(shè)備、單根網(wǎng)線、單個(gè)網(wǎng)卡故障都不會(huì)引起網(wǎng)絡(luò)中斷。
提示:
1)什么是計(jì)劃內(nèi)停機(jī)與計(jì)劃外停機(jī)
計(jì)劃內(nèi)停機(jī)是指可預(yù)期可計(jì)劃的停機(jī),比如定期的維護(hù),提前通告的維護(hù)。計(jì)劃外停機(jī)是指突發(fā)事件引起的停機(jī)事件,比如硬件故障,網(wǎng)絡(luò)DDOS攻擊等。一般計(jì)劃內(nèi)停機(jī)因?yàn)槭翘崆邦A(yù)知的,會(huì)做好預(yù)防措施,不會(huì)有數(shù)據(jù)丟失,對(duì)業(yè)務(wù)的損失是比較小的。計(jì)劃外停機(jī)則因?yàn)槭峭话l(fā)事件,對(duì)業(yè)務(wù)的損失要大很多。運(yùn)維的重要職責(zé)之一就是通過技術(shù)手段減少計(jì)劃外和計(jì)劃內(nèi)停機(jī)時(shí)間,對(duì)虛擬化來說,虛擬化集群能夠做到在線虛擬機(jī)遷移,并且是全冗余設(shè)計(jì),需要計(jì)劃內(nèi)硬件和軟件維護(hù)的時(shí)候,可以做到計(jì)劃內(nèi)停機(jī)時(shí)間為零。當(dāng)宿主機(jī)發(fā)生緊急硬件故障的時(shí)候,虛擬機(jī)可以很快在其他宿主機(jī)上開起來,所以虛擬化集群也能有效降低計(jì)劃外停機(jī)。
2)在線遷移并不是災(zāi)備手段
在線遷移實(shí)際遷移的是虛擬機(jī)的內(nèi)存,當(dāng)宿主機(jī)發(fā)生故障的時(shí)候,虛擬機(jī)的內(nèi)存信息已經(jīng)丟失了,這時(shí)候是不能再去做虛擬機(jī)的在線遷移的。所以在線遷移解決的是有計(jì)劃的維護(hù)問題,比如要升級(jí)宿主機(jī)內(nèi)存,可以將宿主機(jī)上的虛擬機(jī)在線遷移到其他宿主機(jī)上,內(nèi)存升級(jí)完成后,在將虛擬機(jī)在線遷移回來。
3. 集群設(shè)計(jì)及架構(gòu)
1)虛擬化集群設(shè)計(jì)
為保證虛擬機(jī)的盡量的在線時(shí)間,靈活的擴(kuò)展,虛擬化集群的設(shè)計(jì)需要滿足以下要求:
q 有共享存儲(chǔ),虛擬機(jī)能夠在線遷移;
q 通過增加計(jì)算節(jié)點(diǎn)、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備可以橫向擴(kuò)展;
q 沒有單點(diǎn)故障,計(jì)算節(jié)點(diǎn)有多個(gè),商業(yè)存儲(chǔ)為雙控制器,分布式文件系統(tǒng)鏡像寫多份,網(wǎng)絡(luò)設(shè)備冗余;
q 性能滿足要求,并且通過增加設(shè)備,性能可以擴(kuò)展
2)虛擬化集群的架構(gòu)
一套虛擬化集群體系包括以下組成部分:
q 若干計(jì)算節(jié)點(diǎn),承載虛擬機(jī)的計(jì)算、內(nèi)存、網(wǎng)絡(luò)資源;
q 管理節(jié)點(diǎn)及管理平臺(tái),管理虛擬機(jī)的鏡像,虛擬機(jī)生成、維護(hù)、銷毀的生命周期,虛擬機(jī)的調(diào)度;
q 后端存儲(chǔ),存儲(chǔ)虛擬機(jī)鏡像存放;
q 網(wǎng)絡(luò)設(shè)備。
二、虛擬化集群技術(shù)方案
1. 前端計(jì)算
虛擬化集群前端計(jì)算節(jié)點(diǎn)可以使用普通機(jī)架式服務(wù)器,也可以使用刀片服務(wù)器。
1)機(jī)架式服務(wù)器做為計(jì)算節(jié)點(diǎn)的優(yōu)缺點(diǎn)
機(jī)架式服務(wù)器做為計(jì)算節(jié)點(diǎn)的優(yōu)點(diǎn)是:
q 架構(gòu)簡單,安裝配置方便;
q 擴(kuò)展節(jié)點(diǎn)數(shù)量和升級(jí)較為容易;
q 成本有一定的優(yōu)勢(shì)。
缺點(diǎn)是:
q 隨著節(jié)點(diǎn)數(shù)量的增多,占用的機(jī)柜空間也在增大,單機(jī)柜服務(wù)器密度低;
q 網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,每臺(tái)服務(wù)器有公網(wǎng)、私網(wǎng)、存儲(chǔ)網(wǎng);
q 交換機(jī)端口數(shù)量多,接線容易出錯(cuò)。
2)刀片服務(wù)器做為計(jì)算節(jié)點(diǎn)的優(yōu)缺點(diǎn)
使用刀片服務(wù)器作為計(jì)算節(jié)點(diǎn)的優(yōu)點(diǎn)是:
q 刀片服務(wù)器內(nèi)置交換機(jī),可以靈活的配置網(wǎng)絡(luò);
q 刀片服務(wù)器連線簡單,占有交換機(jī)端口數(shù)量少,網(wǎng)絡(luò)非常簡潔;
q 單位機(jī)柜服務(wù)器密度大;
q 功耗低;
q 刀片服務(wù)器冗余電源和風(fēng)扇,冗余交換模塊,是全冗余的架構(gòu)。
使用刀片服務(wù)器的缺點(diǎn)是:
q 成本較高;
q 配置復(fù)雜,安裝配置需要專業(yè)的知識(shí);
q 往往需要改造機(jī)柜電源,并受限于機(jī)柜最高電流。
另外目前還有一種多節(jié)點(diǎn)服務(wù)器,就是在1U或者2U的空間里面,能夠容納2到4臺(tái)服務(wù)器,這些服務(wù)器很像是刀片服務(wù)器,共享電源和機(jī)框,但是網(wǎng)絡(luò)接口獨(dú)立。多節(jié)點(diǎn)服務(wù)器密度介于機(jī)架式服務(wù)器和刀片服務(wù)器之間,使用上和機(jī)架式服務(wù)器完全一樣。
服務(wù)器的配置選型,根據(jù)筆者的經(jīng)驗(yàn),選擇比較高的配置,雖然初期投入高,但是長遠(yuǎn)看,因?yàn)槟軌蛉菁{更多的虛擬機(jī),其實(shí)是節(jié)省成本的。宿主機(jī)在運(yùn)行一段時(shí)間后,往往會(huì)發(fā)現(xiàn)內(nèi)存是瓶頸,所以一開始配置的時(shí)候,內(nèi)存盡量配置大一些。具體宿主機(jī)如何選型在第15章已經(jīng)有詳細(xì)的介紹,本章就不重復(fù)介紹了。
3. 后端存儲(chǔ)技術(shù)方案
虛擬化集群的后端存儲(chǔ)可以使用商業(yè)存儲(chǔ)和分布式文件系統(tǒng),商業(yè)存儲(chǔ)有三類:NAS、IP SAN、FC SAN。
1)NAS共享存儲(chǔ)
NAS(NETWORK ATTACHED STORAGE )即網(wǎng)絡(luò)附加存儲(chǔ),網(wǎng)絡(luò)上直接掛接的存儲(chǔ)設(shè)備,相當(dāng)于一個(gè)網(wǎng)絡(luò)文件共享服務(wù)器。
測(cè)試環(huán)境可以用一臺(tái)普通的主機(jī)模擬NAS,只要這臺(tái)主機(jī)有自己的磁盤和文件系統(tǒng),并且對(duì)外提供訪問文件系統(tǒng)的接口。最常見的NAS有Linux下的NFS和windows下的CIFS。
2)IP SAN共享存儲(chǔ)
SAN(STORAGE AREA NETWORK)即存儲(chǔ)區(qū)域網(wǎng)絡(luò),主要是基于TCP/IP的網(wǎng)絡(luò)來實(shí)現(xiàn)數(shù)據(jù)存取,即傳輸介質(zhì)為IP網(wǎng)絡(luò)。通過IP網(wǎng)絡(luò)將計(jì)算計(jì)算節(jié)點(diǎn)和存儲(chǔ)設(shè)備連接起來,計(jì)算節(jié)點(diǎn)通過發(fā)送Block I/O的請(qǐng)求到存儲(chǔ)設(shè)備,最常見的就是用ISCSI技術(shù),計(jì)算節(jié)點(diǎn)通過SCSI協(xié)議發(fā)出讀取數(shù)據(jù)的請(qǐng)求,并用TCP/IP包封裝SCSI包,就可以再TCP/IP網(wǎng)絡(luò)中進(jìn)行傳輸,即SCSI over TCP/IP。
測(cè)試環(huán)境也可以用普通服務(wù)器模擬ISCSI存儲(chǔ)。
3)FC存儲(chǔ)
FC(Fibre Channel 光纖通道)SAN類似于IP SAN,只是以光纖作為傳輸介質(zhì),性能較高,目前使用最廣。計(jì)算節(jié)點(diǎn)上安裝光纖接口的HBA(Host BusAdapter,提供服務(wù)器內(nèi)部的I/O通道與存儲(chǔ)系統(tǒng)的I/O通道之間的物理連接)卡,為了冗余HBA卡一般有兩塊,分別接兩臺(tái)光纖交換機(jī),存儲(chǔ)一般有兩個(gè)控制器,也分別接兩臺(tái)光纖交換機(jī),達(dá)到全容易的目標(biāo)。FC SAN計(jì)算節(jié)點(diǎn)直接將I/O請(qǐng)求通過FC網(wǎng)絡(luò)發(fā)送到存儲(chǔ)設(shè)備,性能非常高。
4)生產(chǎn)環(huán)境如何選擇存儲(chǔ)類型
在實(shí)際部署的生產(chǎn)環(huán)境中,選擇存儲(chǔ)類型,取決于以下幾個(gè)因素:
q 業(yè)務(wù)性能及可靠性需求
q 預(yù)算
q 運(yùn)維對(duì)技術(shù)熟悉程度
一般來說,對(duì)性能要求非常高的業(yè)務(wù),使用FC SAN存儲(chǔ),F(xiàn)C SAN存儲(chǔ)也是成本最高的一種方案。如果業(yè)務(wù)性能需要稍低,可以使用NAS、IP SAN的存儲(chǔ),NAS、IP SAN的存儲(chǔ)是性價(jià)比比較高的方式。如果業(yè)務(wù)主要是CPU消耗型的,可以考驗(yàn)使用分布式文件系統(tǒng),本書第9章介紹的DRBD、GlusterFS,第10章介紹的CEPH,工作都很穩(wěn)定,但是性能相對(duì)比較低,很適合CPU消耗型的虛擬機(jī)。
關(guān)于NFS和ISCSI,業(yè)內(nèi)一直有爭(zhēng)論,NFS配置簡單,但是因?yàn)槭菓?yīng)用層的協(xié)議,有人認(rèn)為性能低,其實(shí)商業(yè)存儲(chǔ)做了許多優(yōu)化,性能也不見得比ISCSI差。如何選擇主要取決于預(yù)算、運(yùn)維的技術(shù)習(xí)慣、具體的存儲(chǔ)品牌型號(hào),筆者生產(chǎn)環(huán)境喜歡使用ISCSI存儲(chǔ)。
【KVM虛擬化集群技術(shù)概述】相關(guān)文章:
eda技術(shù)概述09-12
土地估價(jià)概述09-25
婚禮禮儀概述10-29
IBMV7000虛擬存儲(chǔ)數(shù)據(jù)恢復(fù)技術(shù)解決方案04-29
淺析建筑漫游動(dòng)畫制作中的虛擬現(xiàn)實(shí)技術(shù)10-05
新加坡留學(xué)的福利概述06-13
濕地相關(guān)知識(shí)概述08-29
有限合伙企業(yè)概述07-19
跆拳道的概述09-15