|
1、題記 由于生產(chǎn)上的需要,最近在學(xué)習(xí)和研究 LVS(Linux Virtual Server),HA(High Available)等相關(guān)技術(shù)。 為遵循論壇資源共享,共同學(xué)習(xí),努力進(jìn)步的原則,我把所得資料及實(shí)際中的簡(jiǎn)單應(yīng)用過(guò)程記錄于此,與各位共勉。
2、LVS簡(jiǎn)介
2.1、LVS的體系結(jié)構(gòu)
這里簡(jiǎn)單介紹通用的體系結(jié)構(gòu),其體系結(jié)構(gòu)如下圖所示。 LVS集群采用IP負(fù)載均衡技術(shù)和基于內(nèi)容請(qǐng)求分發(fā)技術(shù)。調(diào)度器具有很好的吞吐率,將請(qǐng)求均衡地轉(zhuǎn)移到不同的服務(wù)器上執(zhí)行,且調(diào)度器自動(dòng)屏蔽掉服務(wù)器的故障,從而將一組服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器。整個(gè)服務(wù)器集群的結(jié)構(gòu)對(duì)客戶是透明的,而且無(wú)需修改客戶端和服務(wù)器端的程序。為此,在設(shè)計(jì)時(shí)需要考慮系統(tǒng)的透明性、可伸縮性、高可用性和易管理性。一般來(lái)說(shuō),LVS集群采用三層結(jié)構(gòu),其主要組成部分為: a.負(fù)載調(diào)度器(load balancer),它是整個(gè)集群對(duì)外面的前端機(jī),負(fù)責(zé)將客戶的請(qǐng)求發(fā)送到一組服務(wù)器上執(zhí)行,而客戶認(rèn)為服務(wù)是來(lái)自一個(gè)IP地址(我們可稱之為虛擬IP地址)上的。 b.服務(wù)器池(server pool),是一組真正執(zhí)行客戶請(qǐng)求的服務(wù)器,執(zhí)行的服務(wù)有WEB、MAIL、FTP和DNS等。 c.共享存儲(chǔ)(shared storage),它為服務(wù)器池提供一個(gè)共享的存儲(chǔ)區(qū),這樣很容易使得服務(wù)器池?fù)碛邢嗤膬?nèi)容,提供相同的服務(wù)。 調(diào)度器是服務(wù)器集群系統(tǒng)的唯一入口點(diǎn)(Single Entry Point),它可以采用IP負(fù)載均衡技術(shù)、基于內(nèi)容請(qǐng)求分發(fā)技術(shù)或者兩者相結(jié)合。在IP負(fù)載均衡技術(shù)中,需要服務(wù)器池?fù)碛邢嗤膬?nèi)容提供相同的服務(wù)。當(dāng)客戶請(qǐng)求到達(dá)時(shí),調(diào)度器只根據(jù)服務(wù)器負(fù)載情況和設(shè)定的調(diào)度算法從服務(wù)器池中選出一個(gè)服務(wù)器,將該請(qǐng)求轉(zhuǎn)發(fā)到選出的服務(wù)器,并記錄這個(gè)調(diào)度;當(dāng)這個(gè)請(qǐng)求的其他報(bào)文到達(dá),也會(huì)被轉(zhuǎn)發(fā)到前面選出的服務(wù)器。在基于內(nèi)容請(qǐng)求分發(fā)技術(shù)中,服務(wù)器可以提供不同的服務(wù),當(dāng)客戶請(qǐng)求到達(dá)時(shí),調(diào)度器可根據(jù)請(qǐng)求的內(nèi)容選擇服務(wù)器執(zhí)行請(qǐng)求。因?yàn)樗械牟僮鞫际窃贚inux操作系統(tǒng)核心空間中將完成的,它的調(diào)度開(kāi)銷很小,所以它具有很高的吞吐率。 服務(wù)器池的結(jié)點(diǎn)數(shù)目是可變的。當(dāng)整個(gè)系統(tǒng)收到的負(fù)載超過(guò)目前所有結(jié)點(diǎn)的處理能力時(shí),可以在服務(wù)器池中增加服務(wù)器來(lái)滿足不斷增長(zhǎng)的請(qǐng)求負(fù)載。對(duì)大多數(shù)網(wǎng)絡(luò)服務(wù)來(lái)說(shuō),請(qǐng)求間不存在很強(qiáng)的相關(guān)性,請(qǐng)求可以在不同的結(jié)點(diǎn)上并行執(zhí)行,所以整個(gè)系統(tǒng)的性能基本上可以隨著服務(wù)器池的結(jié)點(diǎn)數(shù)目增加而線性增長(zhǎng)。 共享存儲(chǔ)通常是數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)文件系統(tǒng)或者分布式文件系統(tǒng)。服務(wù)器結(jié)點(diǎn)需要?jiǎng)討B(tài)更新的數(shù)據(jù)一般存儲(chǔ)在數(shù)據(jù)庫(kù)系統(tǒng)中,同時(shí)數(shù)據(jù)庫(kù)會(huì)保證并發(fā)訪問(wèn)時(shí)數(shù)據(jù)的一致性。靜態(tài)的數(shù)據(jù)可以存儲(chǔ)在網(wǎng)絡(luò)文件系統(tǒng)(如NFS/CIFS)中,但網(wǎng)絡(luò)文件系統(tǒng)的伸縮能力有限,一般來(lái)說(shuō),NFS/CIFS服務(wù)器只能支持3~6個(gè)繁忙的服務(wù)器結(jié)點(diǎn)。對(duì)于規(guī)模較大的集群系統(tǒng),可以考慮用分布式文件系統(tǒng),如AFS、GFS、Coda和 Intermezzo等。分布式文件系統(tǒng)可為各服務(wù)器提供共享的存儲(chǔ)區(qū),它們?cè)L問(wèn)分布式文件系統(tǒng)就像訪問(wèn)本地文件系統(tǒng)一樣,同時(shí)分布式文件系統(tǒng)可提供良好的伸縮性和可用性。此外,當(dāng)不同服務(wù)器上的應(yīng)用程序同時(shí)讀寫(xiě)訪問(wèn)分布式文件系統(tǒng)上同一資源時(shí),應(yīng)用程序的訪問(wèn)沖突需要消解才能使得資源處于一致?tīng)顟B(tài)。這需要一個(gè)分布式鎖管理器(Distributed Lock Manager),它可能是分布式文件系統(tǒng)內(nèi)部提供的,也可能是外部的。開(kāi)發(fā)者在寫(xiě)應(yīng)用程序時(shí),可以使用分布式鎖管理器來(lái)保證應(yīng)用程序在不同結(jié)點(diǎn)上并發(fā)訪問(wèn)的一致性。 負(fù)載調(diào)度器、服務(wù)器池和共享存儲(chǔ)系統(tǒng)通過(guò)高速網(wǎng)絡(luò)相連接,如100Mbps交換網(wǎng)絡(luò)、Myrinet和Gigabit網(wǎng)絡(luò)等。使用高速的網(wǎng)絡(luò),主要為避免當(dāng)系統(tǒng)規(guī)模擴(kuò)大時(shí)互聯(lián)網(wǎng)絡(luò)成為整個(gè)系統(tǒng)的瓶頸。 Graphic Monitor是為系統(tǒng)管理員提供整個(gè)集群系統(tǒng)的監(jiān)視器,它可以監(jiān)視系統(tǒng)的狀態(tài)。Graphic Monitor是基于瀏覽器的,所以無(wú)論管理員在本地還是異地都可以監(jiān)測(cè)系統(tǒng)的狀況。為了安全的原因,瀏覽器要通過(guò)HTTPS(Secure HTTP)協(xié)議和身份認(rèn)證后,才能進(jìn)行系統(tǒng)監(jiān)測(cè),并進(jìn)行系統(tǒng)的配置和管理。
附件: 您所在的用戶組無(wú)法下載或查看附件 | T61: T9300, 2Gx2, WSXGA+, 3945ABG, BT, DVD/RW DL, Slackware. T23: 1333G, 512Mx2, SXGA+, Atheros 802.11ABG, DVD/CD-RW. | |