資源描述:
《詳解Linux服務(wù)器集群》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Linux服務(wù)器集群系統(tǒng)(二)LVS集群的體系結(jié)構(gòu)本文主要介紹了LVS集群的體系結(jié)構(gòu)。先給出LVS集群的通用體系結(jié)構(gòu),并討論了其的設(shè)計原則和相應(yīng)的特點;最后將LVS集群應(yīng)用于建立可伸縮的Web、Media、Cache和Mail等網(wǎng)絡(luò)服務(wù)。1.引言?在過去的十幾年中,Internet從幾個研究機構(gòu)相連為信息共享的網(wǎng)絡(luò)發(fā)展成為擁有大量應(yīng)用和服務(wù)的全球性網(wǎng)絡(luò),它正成為人們生活中不可缺少的一部分。雖然Internet發(fā)展速度很快,但建設(shè)和維護大型網(wǎng)絡(luò)服務(wù)依然是一項挑戰(zhàn)性的任務(wù),因為系統(tǒng)必須是高性能的、高可靠的,尤其當訪問負載不
2、斷增長時,系統(tǒng)必須能被擴展來滿足不斷增長的性能需求。由于缺少建立可伸縮網(wǎng)絡(luò)服務(wù)的框架和設(shè)計方法,這意味著只有擁有非常出色工程和管理人才的機構(gòu)才能建立和維護大型的網(wǎng)絡(luò)服務(wù)。針對這種情形,本文先給出LVS集群的通用體系結(jié)構(gòu),并討論了其的設(shè)計原則和相應(yīng)的特點;最后將LVS集群應(yīng)用于建立可伸縮的Web、Media、Cache和Mail等網(wǎng)絡(luò)服務(wù)。2.LVS集群的通用體系結(jié)構(gòu)?LVS集群采用IP負載均衡技術(shù)和基于內(nèi)容請求分發(fā)技術(shù)。調(diào)度器具有很好的吞吐率,將請求均衡地轉(zhuǎn)移到不同的服務(wù)器上執(zhí)行,且調(diào)度器自動屏蔽掉服務(wù)器的故障,從而將
3、一組服務(wù)器構(gòu)成一個高性能的、高可用的虛擬服務(wù)器。整個服務(wù)器集群的結(jié)構(gòu)對客戶是透明的,而且無需修改客戶端和服務(wù)器端的程序。?圖1:LVS集群的體系結(jié)構(gòu)為此,在設(shè)計時需要考慮系統(tǒng)的透明性、可伸縮性、高可用性和易管理性。一般來說,LVS集群采用三層結(jié)構(gòu),其體系結(jié)構(gòu)如圖1所示,三層主要組成部分為:·負載調(diào)度器(loadbalancer),它是整個集群對外面的前端機,負責(zé)將客戶的請求發(fā)送到一組服務(wù)器上執(zhí)行,而客戶認為服務(wù)是來自一個IP地址(我們可稱之為虛擬IP地址)上的?!し?wù)器池(serverpool),是一組真正執(zhí)行客戶請求
4、的服務(wù)器,執(zhí)行的服務(wù)有WEB、MAIL、FTP和DNS等?!す蚕泶鎯Γ╯haredstorage),它為服務(wù)器池提供一個共享的存儲區(qū),這樣很容易使得服務(wù)器池擁有相同的內(nèi)容,提供相同的服務(wù)。調(diào)度器是服務(wù)器集群系統(tǒng)的唯一入口點(SingleEntryPoint),它可以采用IP負載均衡技術(shù)、基于內(nèi)容請求分發(fā)技術(shù)或者兩者相結(jié)合。在IP負載均衡技術(shù)中,需要服務(wù)器池擁有相同的內(nèi)容提供相同的服務(wù)。當客戶請求到達時,調(diào)度器只根據(jù)服務(wù)器負載情況和設(shè)定的調(diào)度算法從服務(wù)器池中選出一個服務(wù)器,將該請求轉(zhuǎn)發(fā)到選出的服務(wù)器,并記錄這個調(diào)度;當這
5、個請求的其他報文到達,也會被轉(zhuǎn)發(fā)到前面選出的服務(wù)器。在基于內(nèi)容請求分發(fā)技術(shù)中,服務(wù)器可以提供不同的服務(wù),當客戶請求到達時,調(diào)度器可根據(jù)請求的內(nèi)容選擇服務(wù)器執(zhí)行請求。因為所有的操作都是在Linux操作系統(tǒng)核心空間中將完成的,它的調(diào)度開銷很小,所以它具有很高的吞吐率。服務(wù)器池的結(jié)點數(shù)目是可變的。當整個系統(tǒng)收到的負載超過目前所有結(jié)點的處理能力時,可以在服務(wù)器池中增加服務(wù)器來滿足不斷增長的請求負載。對大多數(shù)網(wǎng)絡(luò)服務(wù)來說,請求間不存在很強的相關(guān)性,請求可以在不同的結(jié)點上并行執(zhí)行,所以整個系統(tǒng)的性能基本上可以隨著服務(wù)器池的結(jié)點數(shù)目
6、增加而線性增長。共享存儲通常是數(shù)據(jù)庫、網(wǎng)絡(luò)文件系統(tǒng)或者分布式文件系統(tǒng)。服務(wù)器結(jié)點需要動態(tài)更新的數(shù)據(jù)一般存儲在數(shù)據(jù)庫系統(tǒng)中,同時數(shù)據(jù)庫會保證并發(fā)訪問時數(shù)據(jù)的一致性。靜態(tài)的數(shù)據(jù)可以存儲在網(wǎng)絡(luò)文件系統(tǒng)(如NFS/CIFS)中,但網(wǎng)絡(luò)文件系統(tǒng)的伸縮能力有限,一般來說,NFS/CIFS服務(wù)器只能支持3~6個繁忙的服務(wù)器結(jié)點。對于規(guī)模較大的集群系統(tǒng),可以考慮用分布式文件系統(tǒng),如AFS[1]、GFS[2.3]、Coda[4]和Intermezzo[5]等。分布式文件系統(tǒng)可為各服務(wù)器提供共享的存儲區(qū),它們訪問分布式文件系統(tǒng)就像訪問本地
7、文件系統(tǒng)一樣,同時分布式文件系統(tǒng)可提供良好的伸縮性和可用性。此外,當不同服務(wù)器上的應(yīng)用程序同時讀寫訪問分布式文件系統(tǒng)上同一資源時,應(yīng)用程序的訪問沖突需要消解才能使得資源處于一致狀態(tài)。這需要一個分布式鎖管理器(DistributedLockManager),它可能是分布式文件系統(tǒng)內(nèi)部提供的,也可能是外部的。開發(fā)者在寫應(yīng)用程序時,可以使用分布式鎖管理器來保證應(yīng)用程序在不同結(jié)點上并發(fā)訪問的一致性。負載調(diào)度器、服務(wù)器池和共享存儲系統(tǒng)通過高速網(wǎng)絡(luò)相連接,如100Mbps交換網(wǎng)絡(luò)、Myrinet和Gigabit網(wǎng)絡(luò)等。使用高速的網(wǎng)
8、絡(luò),主要為避免當系統(tǒng)規(guī)模擴大時互聯(lián)網(wǎng)絡(luò)成為整個系統(tǒng)的瓶頸。GraphicMonitor是為系統(tǒng)管理員提供整個集群系統(tǒng)的監(jiān)視器,它可以監(jiān)視系統(tǒng)的狀態(tài)。GraphicMonitor是基于瀏覽器的,所以無論管理員在本地還是異地都可以監(jiān)測系統(tǒng)的狀況。為了安全的原因,瀏覽器要通過HTTPS(SecureHTTP)協(xié)議和身份認證后,才能進行系