日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux服务器集群系统(二)--转

發(fā)布時間:2025/4/5 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux服务器集群系统(二)--转 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

引用地址:http://www.linuxvirtualserver.org/zh/lvs2.html

LVS集群的體系結(jié)構(gòu)

章文嵩?(wensong@linux-vs.org)?
2002 年 4 月

本文主要介紹了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)必須是高性能的、高可靠的,尤其當訪問負載不斷增 長時,系統(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ù)器的故障,從而將一組服務(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)度器(load balancer),它是整個集群對外面的前端機,負責將客戶的請求發(fā)送到一組服務(wù)器上執(zhí)行,而客戶認為服務(wù)是來自一個IP地址(我們可稱之為虛擬IP地址)上的。
  • 服務(wù)器池(server pool),是一組真正執(zhí)行客戶請求的服務(wù)器,執(zhí)行的服務(wù)有WEB、MAIL、FTP和DNS等。
  • 共享存儲(shared storage),它為服務(wù)器池提供一個共享的存儲區(qū),這樣很容易使得服務(wù)器池擁有相同的內(nèi)容,提供相同的服務(wù)。

調(diào)度器是服務(wù)器集群系統(tǒng)的唯一入口點(Single Entry Point),它可以采用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)度;當這個請求的其 他報文到達,也會被轉(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ù)目增加而線性增長。

共享存儲通常是數(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)就像訪問本地文件系統(tǒng)一樣,同時分布式文件系統(tǒng)可提 供良好的伸縮性和可用性。此外,當不同服務(wù)器上的應(yīng)用程序同時讀寫訪問分布式文件系統(tǒng)上同一資源時,應(yīng)用程序的訪問沖突需要消解才能使得資源處于一致狀 態(tài)。這需要一個分布式鎖管理器(Distributed Lock Manager),它可能是分布式文件系統(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)絡(luò),主要為避免當系統(tǒng)規(guī)模擴大時互聯(lián)網(wǎng)絡(luò)成為整個系統(tǒng)的瓶頸。

Graphic Monitor是為系統(tǒng)管理員提供整個集群系統(tǒng)的監(jiān)視器,它可以監(jiān)視系統(tǒng)的狀態(tài)。Graphic Monitor是基于瀏覽器的,所以無論管理員在本地還是異地都可以監(jiān)測系統(tǒng)的狀況。為了安全的原因,瀏覽器要通過HTTPS(Secure HTTP)協(xié)議和身份認證后,才能進行系統(tǒng)監(jiān)測,并進行系統(tǒng)的配置和管理。

2.1. 為什么使用層次的體系結(jié)構(gòu)

層次的體系結(jié)構(gòu)可以使得層與層之間相互獨立,每一個層次提供不同的功能,在一個層次可以重用不同的已有軟件。例如,調(diào)度器層提供了負載平衡、可伸縮 性和高可用性等,在服務(wù)器層可以運行不同的網(wǎng)絡(luò)服務(wù),如Web、Cache、Mail和Media等,來提供不同的可伸縮網(wǎng)絡(luò)服務(wù)。明確的功能劃分和清晰 的層次結(jié)構(gòu)使得系統(tǒng)容易建設(shè),以后整個系統(tǒng)容易維護,而且系統(tǒng)的性能容易被擴展。

2.2. 為什么是共享存儲

共享存儲如分布式文件系統(tǒng)在這個LVS集群系統(tǒng)是可選項。當網(wǎng)絡(luò)服務(wù)需要有相同的內(nèi)容,共享存儲是很好的選擇,否則每臺服務(wù)器需要將相同的 內(nèi)容復(fù)制到本地硬盤上。當系統(tǒng)存儲的內(nèi)容越多,這種無共享結(jié)構(gòu)(Shared-nothing Structure)的代價越大,因為每臺服務(wù)器需要一樣大的存儲空間,任何的更新需要涉及到每臺服務(wù)器,系統(tǒng)的維護代價會非常高。

共享存儲為服務(wù)器組提供統(tǒng)一的存儲空間,這使得系統(tǒng)的內(nèi)容維護工作比較輕松,如Webmaster只需要更新共享存儲中的頁面,對所有 的服務(wù)器都有效。分布式文件系統(tǒng)提供良好的伸縮性和可用性,當分布式文件系統(tǒng)的存儲空間增加時,所有服務(wù)器的存儲空間也隨之增大。對于大多數(shù) Internet服務(wù)來說,它們都是讀密集型(Read-intensive)的應(yīng)用,分布式文件系統(tǒng)在每臺服務(wù)器使用本地硬盤作Cache(如 2Gbytes的空間),可以使得訪問分布式文件系統(tǒng)本地的速度接近于訪問本地硬盤。

此外,存儲硬件技術(shù)的發(fā)展也促使從無共享的集群向共享存儲的集群遷移。存儲區(qū)域網(wǎng)(Storage Area Networks)技術(shù)解決了集群的每個結(jié)點可以直接連接/共享一個龐大的硬盤陣列,硬件廠商也提供多種硬盤共享技術(shù),如光纖通道(Fiber Channel)、共享SCSI(Shared SCSI)。InfiniBand是一個通用的高性能I/O規(guī)范,使得存儲區(qū)域網(wǎng)中以更低的延時傳輸I/O消息和集群通訊消息,并且提供很好的伸縮性。 InfiniBand得到絕大多數(shù)的大廠商的支持,如Compaq、Dell、Hewlett-Packard、IBM、Intel、Microsoft 和SUN Microsystems等,它正在成為一個業(yè)界的標準。這些技術(shù)的發(fā)展使得共享存儲變得容易,規(guī)模生產(chǎn)也會使得成本逐步降低。

2.3. 高可用性

集群系統(tǒng)的特點是它在軟硬件上都有冗余。系統(tǒng)的高可用性可以通過檢測節(jié)點或服務(wù)進程故障和正確地重置系統(tǒng)來實現(xiàn),使得系統(tǒng)收到的請求能被存活的結(jié)點處理。

通常,我們在調(diào)度器上有資源監(jiān)測進程來時刻監(jiān)視各個服務(wù)器結(jié)點的健康狀況。當服務(wù)器對ICMP ping不可達時或者探測她的網(wǎng)絡(luò)服務(wù)在指定的時間沒有響應(yīng)時,資源監(jiān)測進程通知操作系統(tǒng)內(nèi)核將該服務(wù)器從調(diào)度列表中刪除或者失效。這樣,新的服務(wù)請求就 不會被調(diào)度到壞的結(jié)點。資源監(jiān)測進程能通過電子郵件或傳呼機向管理員報告故障。一旦監(jiān)測進程到服務(wù)器恢復(fù)工作,通知調(diào)度器將其加入調(diào)度列表進行調(diào)度。另 外,通過系統(tǒng)提供的管理程序,管理員可發(fā)命令隨時可以將新機器加入服務(wù)來提高系統(tǒng)的處理性能,也可以將已有的服務(wù)器切出服務(wù),以便對服務(wù)器進行系統(tǒng)維護。

現(xiàn)在前端的調(diào)度器有可能成為系統(tǒng)的單一失效點(Single Point of Failure)。一般來說,調(diào)度器的可靠性較高,因為調(diào)度器上運行的程序較少而且大部分程序早已經(jīng)遍歷過,但我們不能排除硬件老化、網(wǎng)絡(luò)線路或者人為誤 操作等主要故障。為了避免調(diào)度器失效而導(dǎo)致整個系統(tǒng)不能工作,我們需要設(shè)立一個從調(diào)度器作為主調(diào)度器的備份。兩個心跳(Heartbeat)進程[6]分 別在主、從調(diào)度器上運行,它們通過串口線和UDP等心跳線來相互定時地匯報各自的健康狀況。當從調(diào)度器不能聽得主調(diào)度器的心跳時,從調(diào)度器通過ARP欺騙 (Gratuitous ARP)來接管集群對外的Virtual IP Address,同時接管主調(diào)度器的工作來提供負載調(diào)度服務(wù)。當主調(diào)度器恢復(fù)時,這里有兩種方法,一是主調(diào)度器自動變成從調(diào)度器,二是從調(diào)度器釋放 Virtual IP Address,主調(diào)度器收回Virtual IP Address并提供負載調(diào)度服務(wù)。這里,多條心跳線可以使得因心跳線故障導(dǎo)致誤判(即從調(diào)度器認為主調(diào)度器已經(jīng)失效,其實主調(diào)度器還在正常工作)的概論 降到最低。

通常,當主調(diào)度器失效時,主調(diào)度器上所有已建立連接的狀態(tài)信息將丟失,已有的連接會中斷??蛻粜枰蛑匦逻B接,從調(diào)度器才會將新連接調(diào) 度到各個服務(wù)器上,這對客戶會造成一定的不便。為此,IPVS調(diào)度器在Linux 內(nèi)核中實現(xiàn)一種高效狀態(tài)同步機制,將主調(diào)度器的狀態(tài)信息及時地同步到從調(diào)度器。當從調(diào)度器接管時,絕大部分已建立的連接會持續(xù)下去。

3.可伸縮Web服務(wù)

基于LVS的Web集群的體系結(jié)構(gòu)如圖2所示:第一層是負載調(diào)度器,一般采用IP負載均衡技術(shù),可以使得整個系統(tǒng)有較高的吞吐率;第二層是 Web服務(wù)器池,在每個結(jié)點上可以分別運行HTTP服務(wù)或HTTPS服務(wù)、或者兩者都運行;第三層是共享存儲,它可以是數(shù)據(jù)庫,可以是網(wǎng)絡(luò)文件系統(tǒng)或分布 式文件系統(tǒng),或者是三者的混合。集群中各結(jié)點是通過高速網(wǎng)絡(luò)相連接的。

?

?
圖2:基于LVS的Web集群

?

對于動態(tài)頁面(如PHP、JSP和ASP等),需要訪問的動態(tài)數(shù)據(jù)一般存儲在數(shù)據(jù)庫服務(wù)器中。數(shù)據(jù)庫服務(wù)運行在獨立的服務(wù)器上,為所有Web服務(wù)器 共享。無論同一Web服務(wù)器上多個動態(tài)頁面訪問同一數(shù)據(jù),還是不同Web服務(wù)器上多個動態(tài)頁面訪問同一數(shù)據(jù),數(shù)據(jù)庫服務(wù)器有鎖機制使得這些訪問有序地進 行,從而保證數(shù)據(jù)的一致性。

對于靜態(tài)的頁面和文件(如HTML文檔和圖片等),可以存儲在網(wǎng)絡(luò)文件系統(tǒng)或者分布式文件系統(tǒng)中。至于選擇哪一種,看系統(tǒng)的規(guī)模和需求 而定。通過共享的網(wǎng)絡(luò)文件系統(tǒng)或者分布式文件系統(tǒng),Webmaster可以看到統(tǒng)一的文檔存儲空間,維護和更新頁面比較方便,對共享存儲中頁面的修改對所 有的服務(wù)器都有效。

在這種結(jié)構(gòu)下,當所有服務(wù)器結(jié)點超載時,管理員可以很快地加入新的服務(wù)器結(jié)點來處理請求,而無需將Web文檔等復(fù)制到結(jié)點的本地硬盤上。

有些Web服務(wù)可能用到HTTP Cookie,它是將數(shù)據(jù)存儲在客戶的瀏覽器來追蹤和標識客戶的機制。使用HTTP Cookie后,來同一客戶的不同連接存在相關(guān)性,這些連接必須被發(fā)送到同一Web服務(wù)器。一些Web服務(wù)使用安全的HTTPS協(xié)議,它是HTTP協(xié)議加 SSL(Secure Socket Layer)協(xié)議。另有些Web服務(wù)可能使用安全的HTTPS協(xié)議,它是HTTP協(xié)議加SSL協(xié)議。當客戶訪問HTTPS服務(wù)(HTTPS的缺省端口為 443)時,會先建立一個SSL連接,來交換對稱公鑰加密的證書并協(xié)商一個SSL Key,來加密以后的會話。在SSL Key的生命周期內(nèi),后續(xù)的所有HTTPS連接都使用這個SSL Key,所以同一客戶的不同HTTPS連接也存在相關(guān)性。針對這些需要,IPVS調(diào)度器提供了持久服務(wù)的功能,它可以使得在設(shè)定的時間內(nèi),來自同一IP地 址的不同連接會被發(fā)送到集群中同一個服務(wù)器結(jié)點,可以很好地解決客戶連接的相關(guān)性問題。

4.可伸縮媒體服務(wù)

基于LVS的媒體集群的體系結(jié)構(gòu)如圖3所示:第一層是負載調(diào)度器,一般采用IP負載均衡技術(shù),可以使得整個系統(tǒng)有較高的吞吐率;第二層是 Web服務(wù)器池,在每個結(jié)點上可以運行相應(yīng)的媒體服務(wù);第三層是共享存儲,通過網(wǎng)絡(luò)文件系統(tǒng)/分布式文件系統(tǒng)存儲媒體節(jié)目。集群中各結(jié)點是通過高速網(wǎng)絡(luò)相 連接。

?

?
圖3:基于LVS的媒體集群

?

IPVS負載調(diào)度器一般使用直接路由方法(即VS/DR方法,將在以后文章中詳細敘述),來架構(gòu)媒體集群系統(tǒng)。調(diào)度器將媒體服務(wù)請求較均衡地分發(fā)到 各個服務(wù)器上,而媒體服務(wù)器將響應(yīng)數(shù)據(jù)直接返回給客戶,這樣可以使得整個媒體集群系統(tǒng)具有很好的伸縮性。

媒體服務(wù)器可以運行各種媒體服務(wù)軟件。目前,LVS集群對于Real Media、Windows Media和Apple Quicktime媒體服務(wù)都有很好的支持,都有真實的系統(tǒng)在運行。一般來說,流媒體服務(wù)都會使用一個TCP連接(如RTSP協(xié)議:Real-Time Streaming Protocol)進行帶寬的協(xié)商和流速的控制,通過UDP將流數(shù)據(jù)返回客戶。這里,IPVS調(diào)度器提供功能將TCP和UDP集中考慮,保證來自同一客戶 的媒體TCP和UDP連接會被轉(zhuǎn)發(fā)到集群中同一臺媒體服務(wù)器,使得媒體服務(wù)準確無誤地進行。

共享存儲是媒體集群系統(tǒng)中最關(guān)鍵的問題,因為媒體文件往往非常大(一部片子需要幾百兆到幾千兆的存儲空間),這對存儲的容量和讀的速度 有較高的要求。對于規(guī)模較小的媒體集群系統(tǒng),例如有3至6個媒體服務(wù)器結(jié)點,存儲系統(tǒng)可以考慮用帶千兆網(wǎng)卡的Linux服務(wù)器,使用軟件RAID和日志型 文件系統(tǒng),再運行內(nèi)核的NFS服務(wù),會有不錯的效果。對于規(guī)模較大的媒體集群系統(tǒng),最好選擇對文件分段(File Stripping)存儲和文件緩存有較好支持的分布式文件系統(tǒng);媒體文件分段存儲在分布式文件系統(tǒng)的多個存儲結(jié)點上,可以提高文件系統(tǒng)的性能和存儲結(jié)點 間的負載均衡;媒體文件在媒體服務(wù)器上自動地被緩存,可提高文件的訪問速度。否則,可以考慮自己在媒體服務(wù)器上開發(fā)相應(yīng)的工具,如緩存工具能定時地統(tǒng)計出 最近的熱點媒體文件,將熱點文件復(fù)制到本地硬盤上,并替換緩存中的非熱點文件,最后通知其他媒體服務(wù)器結(jié)點它所緩存的媒體文件以及負載情況;在媒體服務(wù)器 上有應(yīng)用層調(diào)度工具,它收到客戶的媒體服務(wù)請求,若所請求的媒體文件緩存在本地硬盤上,則直接轉(zhuǎn)給本地媒體服務(wù)進程服務(wù),否則先考慮該文件是否被其他媒體 服務(wù)器緩存;如該文件被其他服務(wù)器緩存并且該服務(wù)器不忙,則將請求轉(zhuǎn)給該服務(wù)器上的媒體服務(wù)進程處理,否則直接轉(zhuǎn)給本地媒體服務(wù)進程,從后端的共享存儲中 讀出媒體文件。

共享存儲的好處是媒體文件的管理人員看到統(tǒng)一的存儲空間,使得媒體文件維護工作比較方便。當客戶訪問不斷增加使得整個系統(tǒng)超載時,管理員可以很快地加入新的媒體服務(wù)器結(jié)點來處理請求。

Real公司以其高壓縮比的音頻視頻格式、Real媒體服務(wù)器和媒體播放器RealPlayer而聞名。Real公司正在使用以上結(jié)構(gòu)將由 20多臺服務(wù)器組成的LVS可伸縮Web和媒體集群,為其全球用戶提供Web和音頻視頻服務(wù)。Real公司的高級技術(shù)主管聲稱LVS擊敗所有他們嘗試過的 商品化負載均衡產(chǎn)品[7]。

5.可伸縮Cache服務(wù)

有效的網(wǎng)絡(luò)Cache系統(tǒng)可以大大地減少網(wǎng)絡(luò)流量、降低響應(yīng)延時以及服務(wù)器的負載。但是,若Cache服務(wù)器超載而不能及時地處理請求,反 而會增加響應(yīng)延時。所以,Cache服務(wù)的可伸縮性很重要,當系統(tǒng)負載不斷增長時,整個系統(tǒng)能被擴展來提高Cache服務(wù)的處理能力。尤其,在主干網(wǎng)上的 Cache服務(wù)可能需要幾個Gbps的吞吐率,單臺服務(wù)器(例如SUN目前最高端的Enterprise 10000服務(wù)器)遠不能達到這個吞吐率??梢?#xff0c;通過PC服務(wù)器集群實現(xiàn)可伸縮Cache服務(wù)是很有效的方法,也是性能價格比最高的方法。

基于LVS的Cache集群的體系結(jié)構(gòu)如圖4所示:第一層是負載調(diào)度器,一般采用IP負載均衡技術(shù),可以使得整個系統(tǒng)有較高的吞吐率; 第二層是Cache服務(wù)器池,一般Cache服務(wù)器放置在接近主干Internet連接處,它們可以分布在不同的網(wǎng)絡(luò)中。調(diào)度器可以有多個,放在離客戶接 近的地方。

?

?
圖4:基于LVS的Cache集群

?

IPVS負載調(diào)度器一般使用IP隧道方法(即VS/TUN方法,將在以后文章中詳細敘述),來架構(gòu)Cache集群系統(tǒng),因為Cache服務(wù)器可能被 放置不同的地方(例如在接近主干Internet連接處),而調(diào)度器與Cache服務(wù)器池可能不在同一個物理網(wǎng)絡(luò)中。采用VS/TUN方法,調(diào)度器只調(diào)度 Web Cache請求,而Cache服務(wù)器將響應(yīng)數(shù)據(jù)直接返回給客戶。在請求對象不能在本地命中的情況下,Cache服務(wù)器要向源服務(wù)器發(fā)請求,將結(jié)果取回,最 后將結(jié)果返回給客戶;若采用NAT技術(shù)的商品化調(diào)度器,需要四次進出調(diào)度器,完成這個請求。而用VS/TUN方法(或者VS/DR方法),調(diào)度器只調(diào)度一 次請求,其他三次都由Cache服務(wù)器直接訪問Internet完成。所以,這種方法對Cache集群系統(tǒng)特別有效。

Cache服務(wù)器采用本地硬盤來存儲可緩存的對象,因為存儲可緩存的對象是寫操作,且占有一定的比例,通過本地硬盤可以提高I/O的訪 問速度。Cache服務(wù)器間有專用的多播通道(Multicast Channel),通過ICP協(xié)議(Internet Cache Protocol)來交互信息。當一臺Cache服務(wù)器在本地硬盤中未命中當前請求時,它可以通過ICP查詢其他Cache服務(wù)器是否有請求對象的副本, 若存在,則從鄰近的Cache服務(wù)器取該對象的副本,這樣可以進一步提高Cache服務(wù)的命中率。

為150多所大學(xué)和地區(qū)服務(wù)的英國國家JANET Web Cache網(wǎng)在1999年11月用以上LVS結(jié)構(gòu)實現(xiàn)可伸縮的Cache集群[8],只用了原有50多臺相互獨立Cache服務(wù)器的一半,用戶反映網(wǎng)絡(luò)速 度跟夏天一樣快(學(xué)生放暑假)??梢?#xff0c;通過負載調(diào)度可以摸平單臺服務(wù)器訪問的毛刺(Burst),提高整個系統(tǒng)的資源利用率。

6.可伸縮郵件服務(wù)

隨著Internet用戶不斷增長,很多ISP面臨他們郵件服務(wù)器超載的問題。當郵件服務(wù)器不能容納更多的用戶帳號時,有些ISP買更高檔 的服務(wù)器來代替原有的,將原有服務(wù)器的信息(如用戶郵件)遷移到新服務(wù)器是很繁瑣的工作,會造成服務(wù)的中斷;有些ISP設(shè)置新的服務(wù)器和新的郵件域名,新 的郵件用戶放置在新的服務(wù)器上,如上海電信現(xiàn)在用不同的郵件服務(wù)器public1.sta.net.cn、public2.sta.net.cn到 public9.sta.net.cn放置用戶的郵件帳號,這樣靜態(tài)地將用戶分割到不同的服務(wù)器上,會造成郵件服務(wù)器負載不平衡,系統(tǒng)的資源利用率低,對 用戶來說郵件的地址比較難記。

?


圖5:基于LVS的可伸縮郵件集群

?

?

可以利用LVS框架實現(xiàn)高可伸縮、高可用的郵件服務(wù)系統(tǒng)。它的體系結(jié)構(gòu)如圖5所示:在前端是一個采用IP負載均衡技術(shù)的負載調(diào)度器;第二層 是服務(wù)器池,有LDAP(Light-weight Directory Access Protocol)服務(wù)器和一組郵件服務(wù)器。第三層是數(shù)據(jù)存儲,通過分布式文件系統(tǒng)來存儲用戶的郵件。集群中各結(jié)點是通過高速網(wǎng)絡(luò)相連接。

用戶的信息如用戶名、口令、主目錄和郵件容量限額等存儲在LDAP服務(wù)器中,可以通過HTTPS讓管理員進行用戶管理。在各個郵件服務(wù) 器上運行SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol version 3)、IMAP4(Internet Message Access Protocol version 4)和HTTP/HTTPS服務(wù)。SMTP接受和轉(zhuǎn)發(fā)用戶的郵件,SMTP服務(wù)進程查詢LDAP服務(wù)器獲得用戶信息,再存儲郵件。POP3和IMAP4通 過LDAP服務(wù)器獲得用戶信息,口令驗證后,處理用戶的郵件訪問請求。這里,需要有機制避免不同服務(wù)器上的SMTP、POP3和IMAP4服務(wù)進程對用戶 郵件的讀寫沖突。HTTP/HTTPS服務(wù)是讓用戶通過瀏覽器可以訪問郵件。

IPVS調(diào)度器將SMTP、POP3、IMAP4和HTTP/HTTPS請求流負載較均衡地分發(fā)到各郵件服務(wù)器上,從上面各服務(wù)的處理 流程來看,不管請求被發(fā)送到哪一臺郵件服務(wù)器處理,其結(jié)果是一樣的。這里,將SMTP、POP3、IMAP4和HTTP/HTTPS運行在各個郵件服務(wù)器 上進行集中調(diào)度,有利于提高整個系統(tǒng)的資源利用率。

系統(tǒng)中可能的瓶頸是LDAP服務(wù)器,對LDAP服務(wù)中B+樹的參數(shù)進行優(yōu)化,再結(jié)合高端的服務(wù)器,可以獲得較高的性能。若分布式文件系 統(tǒng)沒有多個存儲結(jié)點間的負載均衡機制,則需要相應(yīng)的郵件遷移機制來避免郵件訪問的傾斜。

這樣,這個集群系統(tǒng)對用戶來說就像一個高性能、高可靠的郵件服務(wù)器(例如上海電信只要用一個郵件域名 public.sta.net.cn就可以)。當郵件用戶不斷增長時,只要在集群中增加服務(wù)器結(jié)點和存儲結(jié)點。用戶信息的集中存儲使得用戶管理變得容易, 且集群系統(tǒng)有利于提高資源利用率。

7.小結(jié)

本文給出LVS集群的通用體系結(jié)構(gòu),并討論了它的設(shè)計原則和相應(yīng)的特點;最后將LVS集群應(yīng)用于建立可伸縮的Web、Media、 Cache和Mail網(wǎng)絡(luò)服務(wù),并指出了系統(tǒng)架設(shè)時應(yīng)注意的要點。我們將在后續(xù)的文章中詳細解釋LVS集群的技術(shù)、實現(xiàn)和應(yīng)用。?

參考文獻

  • J.H. Howard. An Overview of the Andrew File System. In Proceedings of the USENIX Winter Technical Conference, Dallas, TX, USA, February 1998.
  • Kenneth W. Preslan, Andrew P. Barry, Jonathan E. Brassow, Grant M. Erickson, Erling Nygaard, Christopher J. Sabol, Steven R. Soltis, David C. Teigland, and Matthew T. O'Keefe. A 64-bit, Shared Disk File System for Linux. In Proceeding of 16th IEEE Mass Storage Systems Symposium, San Diego, CA, USA. March 15-18, 1999.
  • Global File System Website.?http://www.globalfilesystem.org.
  • Coda File System Website.?http://www.coda.cs.cmu.edu.
  • InterMezzo File System Website.?http://www.inter-mezzo.org.
  • Alan Robertson, et al. Linux High Availability Project.?http://www.linux-ha.org.
  • Jerry Glomph Black. LVS testimonials from Real Networks. March 2000.?http://marc.theaimsgroup.com/?l=linux-virtual-server&m=95385809030794&w=2
  • Michael Sparks. Load Balancing the UK National JANET Web Cache Service Using Linux Virtual Servers. November 1999.?http://wwwcache.ja.net/JanetService/PilotService.html.
  • 關(guān)于作者

    章文嵩,開放源碼及 Linux內(nèi)核的開發(fā)者,著名的Linux集群項目--LVS(Linux Virtual Server)的創(chuàng)始人和主要開發(fā)人員。他目前工作于國家并行與分布式處理重點實驗室,主要從事集群技術(shù)、操作系統(tǒng)、對象存儲與數(shù)據(jù)庫的研究。他一直在自 由軟件的開發(fā)上花費大量時間,并以此為樂。

    轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/3578918.html

    《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的Linux服务器集群系统(二)--转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。