宗旨
使用集群技術和Linux作業系統實現一個高性能、高可用的伺服器。很好的可伸縮性(Scalability)
很好的可靠性(Reliability)
很好的可管理性(Manageability)
特點
可伸縮網路服務的幾種結構,它們都需要一個前端的負載調度器(或者多個進行主從備份)。我們先分析實現虛擬網路服務的主要技術,指出IP負載均衡技術是在負載調度器的實現技術中效率最高的。在已有的IP負載均衡技術中,主要有通過網路地址轉換(NetworkAddressTranslation)將一組伺服器構成一個高性能的、高可用的虛擬伺服器,我們稱之為VS/NAT技術(VirtualServerviaNetworkAddressTranslation)。在分析VS/NAT的缺點和網路服務的非對稱性的基礎上,我們提出了通過IP隧道實現虛擬伺服器的方法VS/TUN(VirtualServerviaIPTunneling),和通過直接路由實現虛擬伺服器的方法VS/DR(VirtualServerviaDirectRouting),它們可以極大地提高系統的伸縮性。VS/NAT、VS/TUN和VS/DR技術是LVS集群中實現的三種IP負載均衡技術。技術
技術簡介LVS集群採用IP負載均衡技術和基於內容請求分發技術。調度器具有很好的吞吐率,將請求均衡地轉移到不同的伺服器上執行,且調度器自動禁止掉伺服器的故障,從而將一組伺服器構成一個高性能的、高可用的虛擬伺服器。整個伺服器集群的結構對客戶是透明的,而且無需修改客戶端和伺服器端的程式。為此,在設計時需要考慮系統的透明性、可伸縮性、高可用性和易管理性。集群採用三層結構
一般來說,LVS集群採用三層結構,其主要組成部分為:
A、負載調度器(loadbalancer),它是整個集群對外面的前端機,負責將客戶的請求傳送到一組伺服器上執行,而客戶認為服務是來自一個IP位址(我們可稱之為虛擬IP位址)上的。
B、伺服器池(serverpool),是一組真正執行客戶請求的伺服器,執行的服務有WEB、MAIL、FTP和DNS等。
C、共享存儲(sharedstorage),它為伺服器池提供一個共享的存儲區,這樣很容易使得伺服器池擁有相同的內容,提供相同的服務。
調度器
調度器是伺服器集群系統的唯一入口點(SingleEntryPoint),它可以採用IP負載均衡技術、基於內容請求分發技術或者兩者相結合。
在IP負載均衡技術中,需要伺服器池擁有相同的內容提供相同的服務。當客戶請求到達時,調度器只根據伺服器負載情況和設定的調度算法從伺服器池中選出一個伺服器,將該請求轉發到選出的伺服器,並記錄這個調度;當這個請求的其他報文到達,也會被轉發到前面選出的伺服器。在基於內容請求分發技術中,伺服器可以提供不同的服務,當客戶請求到達時,調度器可根據請求的內容選擇伺服器執行請求。因為所有的操作都是在Linux作業系統核心空間中完成的,它的調度開銷很小,所以它具有很高的吞吐率。伺服器池的結點數目是可變的。當整個系統收到的負載超過目前所有結點的處理能力時,可以在伺服器池中增加伺服器來滿足不斷增長的請求負載。
對大多數網路服務來說,請求間不存在很強的相關性,請求可以在不同的結點上並行執行,所以整個系統的性能基本上可以隨著伺服器池的結點數目增加而線性增長。共享存儲通常是資料庫、網路檔案系統或者分散式檔案系統。伺服器結點需要動態更新的數據一般存儲在資料庫系統中,同時資料庫會保證並發訪問時數據的一致性。靜態的數據可以存儲在網路檔案系統(如NFS/CIFS)中,但網路檔案系統的伸縮能力有限,一般來說,NFS/CIFS伺服器只能支持3~6個繁忙的伺服器結點。對於規模較大的集群系統,可以考慮用分散式檔案系統,如AFS、GFS、Coda和Intermezzo等。分散式檔案系統可為各伺服器提供共享的存儲區,它們訪問分散式檔案系統就像訪問本地檔案系統一樣,同時分散式檔案系統可提供良好的伸縮性和可用性。
分散式鎖管理器
此外,當不同伺服器上的應用程式同時讀寫訪問分散式檔案系統上同一資源時,應用程式的訪問衝突需要消解才能使得資源處於一致狀態。這需要一個分散式鎖管理器(DistributedLockManager),它可能是分散式檔案系統內部提供的,也可能是外部的。開發者在寫應用程式時,可以使用分散式鎖管理器來保證應用程式在不同結點上並發訪問的一致性。
負載調度器、伺服器池和共享存儲系統通過高速網路相連線,如100Mbps交換網路、Myrinet和Gigabit網路等。使用高速的網路,主要為避免當系統規模擴大時網際網路成為整個系統的瓶頸。
監視器
GraphicMonitor是為系統管理員提供整個集群系統的監視器,它可以監視系統的狀態。GraphicMonitor是基於瀏覽器的,所以無論管理員在本地還是異地都可以監測系統的狀況。為了安全的原因,瀏覽器要通過HTTPS(SecureHTTP)協定和身份認證後,才能進行系統監測,並進行系統的配置和管理。
優點
1、開源,免費2、在網上能找到一些相關技術資源
3、具有軟體負載均衡的一些優點
缺點
1、最核心的就是沒有可靠的支持服務,沒有人對其結果負責2、功能比較簡單,支持複雜套用的負載均衡能力較差,如算法較少等
3、開啟隧道方式需重編譯核心
4、配置複雜
5、主要套用於LINUX,目前沒有專門用於WINDOWS的版本,不過可以通過配置,使windows成為LVS集群中的realserver(win2003、win2008中)。