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