99精品国产综合久久久久五月天,免费观看欧美大片毛片不用播放器 ,AV无码理论片在线观看免费网站,国产精品国产成人国产三级






Linux服務器集群系統(tǒng)(一)

LVS項目介紹

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

本文介紹了Linux服務器集群系統(tǒng)--LVS(Linux Virtual Server)項目的產(chǎn)生背景和目標,并描述了LVS服務器集群框架及目前提供的軟件,列舉LVS集群系統(tǒng)的特點和一些實際應用,最后,本文談論了LVS項目的開發(fā)進展和開發(fā)感觸。

1. 背景

當今計算機技術已進入以網(wǎng)絡為中心的計算時期。由于客戶/服務器模型的簡單性、易管理性和易維護性,客戶/服務器計算模式在網(wǎng)上被大量采用。在九十年代中 期,萬維網(wǎng)(World Wide Web)的出現(xiàn)以其簡單操作方式將圖文并茂的網(wǎng)上信息帶給普通大眾,Web也正在從一種內(nèi)容發(fā)送機制成為一種服務平臺,大量的服務和應用(如新聞服務、網(wǎng) 上銀行、電子商務等)都是圍繞著Web進行。這促進Internet用戶劇烈增長和Internet流量爆炸式地增長,圖1顯示了1995至2000年與 Internet連接主機數(shù)的變化情況[1],可見增長趨勢較以往更迅猛。


圖1:1995至2000年Internet主機數(shù)的變化

Internet的飛速發(fā)展給網(wǎng)絡帶寬和服務器帶來巨大的挑戰(zhàn)。從網(wǎng)絡技術的發(fā)展來看,網(wǎng)絡帶寬的增長遠高于處理器速度和內(nèi)存訪問速度的增長,如100M Ethernet、ATM、Gigabit Ethernet等不斷地涌現(xiàn),10Gigabit Ethernet即將就緒,在主干網(wǎng)上密集波分復用(DWDM)將成為寬帶IP的主流技術[2,3],Lucent已經(jīng)推出在一根光纖跑800Gigabit的WaveStar? OLS 800G產(chǎn)品[4]。所以,我們深信越來越多的瓶頸會出現(xiàn)在服務器端。很多研究顯示Gigabit Ethernet在服務器上很難使得其吞吐率達到1Gb/s的原因是協(xié)議棧(TCP/IP)和操作系統(tǒng)的低效,以及處理器的低效,這需要對協(xié)議的處理方法、操作系統(tǒng)的調(diào)度和IO的處理作更深入的研究。在高速網(wǎng)絡上,重新設計單臺服務器上的網(wǎng)絡服務程序也是個重要課題。

比較熱門的站點會吸引前所未有的訪問流量,例如根據(jù)Yahoo的新聞發(fā)布,Yahoo已經(jīng)每天發(fā)送6.25億頁面[5]。一些網(wǎng)絡服務也收到巨額的流量, 如American Online的Web Cache系統(tǒng)每天處理50.2億個用戶訪問Web的請求,每個請求的平均響應長度為5.5Kbytes。與此同時,很多網(wǎng)絡服務因為訪問次數(shù)爆炸式地增 長而不堪重負,不能及時處理用戶的請求,導致用戶進行長時間的等待,大大降低了服務質(zhì)量。如何建立可伸縮的網(wǎng)絡服務來滿足不斷增長的負載需求已成為迫在眉 睫的問題。

大部分網(wǎng)站都需要提供每天24小時、每星期7天的服務,對電子商務等網(wǎng)站尤為突出,任何服務中斷和關鍵性的數(shù)據(jù)丟失都會造成直接的商業(yè)損失。例如,根據(jù) Dell的新聞發(fā)布[6],Dell現(xiàn)在每天在網(wǎng)站上的交易收入為一千四百萬美元,一個小時的服務中斷都會造成平均五十八萬美元的損失。所以,這對網(wǎng)絡服 務的可靠性提出了越來越高的要求。

現(xiàn)在Web服務中越來越多地使用CGI、動態(tài)主頁等CPU密集型應用,這對服務器的性能有較高要求。未來的網(wǎng)絡服務會提供更豐富的內(nèi)容、更好的交互性、更高的安全性等,需要服務器具有更強的CPU和I/O處理能力。例如,通過HTTPS(Secure HTTP)取一個靜態(tài)頁面需要的處理性能比通過HTTP的高一個數(shù)量級,HTTPS正在被電子商務站點廣為使用。所以,網(wǎng)絡流量并不能說明全部問題,要考慮到應用本身的發(fā)展也需要越來越強的處理性能。

因此,對用硬件和軟件方法實現(xiàn)高可伸縮、高可用網(wǎng)絡服務的需求不斷增長,這種需求可以歸結以下幾點:

  • 可伸縮性(Scalability),當服務的負載增長時,系統(tǒng)能被擴展來滿足需求,且不降低服務質(zhì)量。
  • 高可用性(Availability),盡管部分硬件和軟件會發(fā)生故障,整個系統(tǒng)的服務必須是每天24小時每星期7天可用的。
  • 可管理性(Manageability),整個系統(tǒng)可能在物理上很大,但應該容易管理。
  • 價格有效性(Cost-effectiveness),整個系統(tǒng)實現(xiàn)是經(jīng)濟的、易支付的。

2. 服務器集群系統(tǒng)

對稱多處理(Symmetric Multi-Processor,簡稱SMP)是由多個對稱的處理器、和通過總線共享的內(nèi)存和I/O部件所組成的計算機系統(tǒng)。SMP是一種低并行度的結構,是我們通常所說的"緊耦合多處理系統(tǒng)",它的可擴展能力有限,但SMP的優(yōu)點是單一系統(tǒng)映像(Single System Image),有共享的內(nèi)存和I/O,易編程。

由于SMP的可擴展能力有限,SMP服務器顯然不能滿足高可伸縮、高可用網(wǎng)絡服務中的負載處理能力不斷增長需求。隨著負載不斷增長,會導致服務器不斷地升 級。這種服務器升級有下列不足:一是升級過程繁瑣,機器切換會使服務暫時中斷,并造成原有計算資源的浪費;二是越往高端的服務器,所花費的代價越大;三是 SMP服務器是單一故障點(Single Point of Failure),一旦該服務器或應用軟件失效,會導致整個服務的中斷。

通過高性能網(wǎng)絡或局域網(wǎng)互聯(lián)的服務器集群正成為實現(xiàn)高可伸縮的、高可用網(wǎng)絡服務的有效結構。這種松耦合結構的服務器集群系統(tǒng)有下列優(yōu)點:

  • 性能
    網(wǎng)絡服務的工作負載通常是大量相互獨立的任務,通過一組服務器分而治之,可以獲得很高的整體性能。

  • 性能/價格比
    組成集群系統(tǒng)的PC服務器或RISC服務器和標準網(wǎng)絡設備因為大規(guī)模生產(chǎn)降低成本,價格低,具有最高的性能/價格比。若整體性能隨著結點數(shù)的增長而接近線性增加,該系統(tǒng)的性能/價格比接近于PC服務器。所以,這種松耦合結構比緊耦合的多處理器系統(tǒng)具有更好的性能/價格比。

  • 可伸縮性
    集群系統(tǒng)中的結點數(shù)目可以增長到幾千個,乃至上萬個,其伸縮性遠超過單臺超級計算機。

  • 高可用性
    在硬件和軟件上都有冗余,通過檢測軟硬件的故障,將故障屏蔽,由存活結點提供服務,可實現(xiàn)高可用性。

當然,用服務器集群系統(tǒng)實現(xiàn)可伸縮網(wǎng)絡服務也存在很多挑戰(zhàn)性的工作:

  • 透明性(Transparency)
    如何高效地使得由多個獨立計算機組成的松藕合的集群系統(tǒng)構成一個虛擬服務器;客戶端應用程序與集群系統(tǒng)交互時,就像與一臺高性能、高可用的服務器交互一樣,客戶端無須作任何修改。部分服務器的切入和切出不會中斷服務,這對用戶也是透明的。

  • 性能(Performance)
    性能要接近線性加速,這需要設計很好的軟硬件的體系結構,消除系統(tǒng)可能存在的瓶頸。將負載較均衡地調(diào)度到各臺服務器上。

  • 高可用性(Availability)
    需要設計和實現(xiàn)很好的系統(tǒng)資源和故障的監(jiān)測和處理系統(tǒng)。當發(fā)現(xiàn)一個模塊失敗時,要這模塊上提供的服務遷移到其他模塊上。在理想狀況下,這種遷移是即時的、自動的。

  • 可管理性(Manageability)
    要使集群系統(tǒng)變得易管理,就像管理一個單一映像系統(tǒng)一樣。在理想狀況下,軟硬件模塊的插入能做到即插即用(Plug & Play)。

  • 可編程性(Programmability)
    在集群系統(tǒng)上,容易開發(fā)應用程序。

3. Linux Virtual Server項目

針對高可伸縮、高可用網(wǎng)絡服務的需求,我們給出了基于IP層和基于內(nèi)容請求分發(fā)的負載平衡調(diào)度解決方法,并在Linux內(nèi)核中實現(xiàn)了這些方法,將一組服務器構成一個實現(xiàn)可伸縮的、高可用網(wǎng)絡服務的虛擬服務器。

虛擬服務器的體系結構如圖2所示,一組服務器通過高速的局域網(wǎng)或者地理分布的廣域網(wǎng)相互連接,在它們的前端有一個負載調(diào)度器(Load Balancer)。負載調(diào)度器能無縫地將網(wǎng)絡請求調(diào)度到真實服務器上,從而使得服務器集群的結構對客戶是透明的,客戶訪問集群系統(tǒng)提供的網(wǎng)絡服務就像訪 問一臺高性能、高可用的服務器一樣??蛻舫绦虿皇芊掌骷旱挠绊懖恍枳魅魏涡薷?。系統(tǒng)的伸縮性通過在服務機群中透明地加入和刪除一個節(jié)點來達到,通過檢 測節(jié)點或服務進程故障和正確地重置系統(tǒng)達到高可用性。由于我們的負載調(diào)度技術是在Linux內(nèi)核中實現(xiàn)的,我們稱之為Linux虛擬服務器(Linux Virtual Server)。


圖2:虛擬服務器的結構

在1998年5月,我成立了Linux Virtual Server的自由軟件項目,進行Linux服務器集群的開發(fā)工作。同時,Linux Virtual Server項目是國內(nèi)最早出現(xiàn)的自由軟件項目之一。

Linux Virtual Server項目的目標 :使用集群技術和Linux操作系統(tǒng)實現(xiàn)一個高性能、高可用的服務器,它具有很好的可伸縮性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。

目前,LVS項目已提供了一個實現(xiàn)可伸縮網(wǎng)絡服務的Linux Virtual Server框架,如圖3所示。在LVS框架中,提供了含有三種IP負載均衡技術的IP虛擬服務器軟件IPVS、基于內(nèi)容請求分發(fā)的內(nèi)核Layer-7交 換機KTCPVS和集群管理軟件??梢岳肔VS框架實現(xiàn)高可伸縮的、高可用的Web、Cache、Mail和Media等網(wǎng)絡服務;在此基礎上,可以開 發(fā)支持龐大用戶數(shù)的、高可伸縮的、高可用的電子商務應用。


圖3:Linux虛擬服務器框架

3.1 IP虛擬服務器軟件IPVS

在調(diào)度器的實現(xiàn)技術中,IP負載均衡技術是效率最高的。在已有的IP負載均衡技術中有通過網(wǎng)絡地址轉換(Network Address Translation)將一組服務器構成一個高性能的、高可用的虛擬服務器,我們稱之為VS/NAT技術(Virtual Server via Network Address Translation),大多數(shù)商品化的IP負載均衡調(diào)度器產(chǎn)品都是使用此方法,如Cisco的LocalDirector、F5的Big/IP和 Alteon的ACEDirector。在分析VS/NAT的缺點和網(wǎng)絡服務的非對稱性的基礎上,我們提出通過IP隧道實現(xiàn)虛擬服務器的方法VS/TUN (Virtual Server via IP Tunneling),和通過直接路由實現(xiàn)虛擬服務器的方法VS/DR(Virtual Server via Direct Routing),它們可以極大地提高系統(tǒng)的伸縮性。所以,IPVS軟件實現(xiàn)了這三種IP負載均衡技術,它們的大致原理如下(我們將在其他章節(jié)對其工作原 理進行詳細描述),

  1. Virtual Server via Network Address Translation(VS/NAT)
    通過網(wǎng)絡地址轉換,調(diào)度器重寫請求報文的目標地址,根據(jù)預設的調(diào)度算法,將請求分派給后端的真實服務器;真實服務器的響應報文通過調(diào)度器時,報文的源地址被重寫,再返回給客戶,完成整個負載調(diào)度過程。

  2. Virtual Server via IP Tunneling(VS/TUN)
    采用NAT技術時,由于請求和響應報文都必須經(jīng)過調(diào)度器地址重寫,當客戶請求越來越多時,調(diào)度器的處理能力將成為瓶頸。為了解決這個問題,調(diào)度器把請求報 文通過IP隧道轉發(fā)至真實服務器,而真實服務器將響應直接返回給客戶,所以調(diào)度器只處理請求報文。由于一般網(wǎng)絡服務應答比請求報文大許多,采用 VS/TUN技術后,集群系統(tǒng)的最大吞吐量可以提高10倍。

  3. Virtual Server via Direct Routing(VS/DR)
    VS/DR通過改寫請求報文的MAC地址,將請求發(fā)送到真實服務器,而真實服務器將響應直接返回給客戶。同VS/TUN技術一樣,VS/DR技術可極大地 提高集群系統(tǒng)的伸縮性。這種方法沒有IP隧道的開銷,對集群中的真實服務器也沒有必須支持IP隧道協(xié)議的要求,但是要求調(diào)度器與真實服務器都有一塊網(wǎng)卡連 在同一物理網(wǎng)段上。

針對不同的網(wǎng)絡服務需求和服務器配置,IPVS調(diào)度器實現(xiàn)了如下八種負載調(diào)度算法:

  1. 輪叫(Round Robin)
    調(diào)度器通過"輪叫"調(diào)度算法將外部請求按順序輪流分配到集群中的真實服務器上,它均等地對待每一臺服務器,而不管服務器上實際的連接數(shù)和系統(tǒng)負載。

  2. 加權輪叫(Weighted Round Robin)
    調(diào)度器通過"加權輪叫"調(diào)度算法根據(jù)真實服務器的不同處理能力來調(diào)度訪問請求。這樣可以保證處理能力強的服務器處理更多的訪問流量。調(diào)度器可以自動問詢真實服務器的負載情況,并動態(tài)地調(diào)整其權值。

  3. 最少鏈接(Least Connections)
    調(diào)度器通過"最少連接"調(diào)度算法動態(tài)地將網(wǎng)絡請求調(diào)度到已建立的鏈接數(shù)最少的服務器上。如果集群系統(tǒng)的真實服務器具有相近的系統(tǒng)性能,采用"最小連接"調(diào)度算法可以較好地均衡負載。

  4. 加權最少鏈接(Weighted Least Connections)
    在集群系統(tǒng)中的服務器性能差異較大的情況下,調(diào)度器采用"加權最少鏈接"調(diào)度算法優(yōu)化負載均衡性能,具有較高權值的服務器將承受較大比例的活動連接負載。調(diào)度器可以自動問詢真實服務器的負載情況,并動態(tài)地調(diào)整其權值。

  5. 基于局部性的最少鏈接(Locality-Based Least Connections)
    "基于局部性的最少鏈接" 調(diào)度算法是針對目標IP地址的負載均衡,目前主要用于Cache集群系統(tǒng)。該算法根據(jù)請求的目標IP地址找出該目標IP地址最近使用的服務器,若該服務器 是可用的且沒有超載,將請求發(fā)送到該服務器;若服務器不存在,或者該服務器超載且有服務器處于一半的工作負載,則用"最少鏈接"的原則選出一個可用的服務 器,將請求發(fā)送到該服務器。

  6. 帶復制的基于局部性最少鏈接(Locality-Based Least Connections with Replication)
    "帶復制的基于局部性最少鏈接"調(diào)度算法也是針對目標IP地址的負載均衡,目前主要用于Cache集群系統(tǒng)。它與LBLC算法的不同之處是它要維護從一個 目標IP地址到一組服務器的映射,而LBLC算法維護從一個目標IP地址到一臺服務器的映射。該算法根據(jù)請求的目標IP地址找出該目標IP地址對應的服務 器組,按"最小連接"原則從服務器組中選出一臺服務器,若服務器沒有超載,將請求發(fā)送到該服務器,若服務器超載;則按"最小連接"原則從這個集群中選出一 臺服務器,將該服務器加入到服務器組中,將請求發(fā)送到該服務器。同時,當該服務器組有一段時間沒有被修改,將最忙的服務器從服務器組中刪除,以降低復制的 程度。

  7. 目標地址散列(Destination Hashing)
    "目標地址散列"調(diào)度算法根據(jù)請求的目標IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應的服務器,若該服務器是可用的且未超載,將請求發(fā)送到該服務器,否則返回空。

  8. 源地址散列(Source Hashing)
    "源地址散列"調(diào)度算法根據(jù)請求的源IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應的服務器,若該服務器是可用的且未超載,將請求發(fā)送到該服務器,否則返回空。

3.2 內(nèi)核Layer-7交換機KTCPVS

在基于IP負載調(diào)度技術中,當一個TCP連接的初始SYN報文到達時,調(diào)度器就選擇一臺服務器,將報文轉發(fā)給它。此后通過查發(fā)報文的IP和TCP報文頭地 址,保證此連接的后繼報文被轉發(fā)到該服務器。這樣,IPVS無法檢查到請求的內(nèi)容再選擇服務器,這就要求后端服務器組提供相同的服務,不管請求被發(fā)送到哪 一臺服務器,返回結果都是一樣的。但是,在有些應用中后端服務器功能不一,有的提供HTML文檔,有的提供圖片,有的提供CGI,這就需要基于內(nèi)容的調(diào)度 (Content-Based Scheduling)。

由于用戶空間TCP Gateway的開銷太大,我們提出在操作系統(tǒng)的內(nèi)核中實現(xiàn)Layer-7交換方法,來避免用戶空間與核心空間的切換和內(nèi)存復制的開銷。在Linux操作系統(tǒng)的內(nèi)核中,我們實現(xiàn)了Layer-7交換,稱之為KTCPVS(Kernel TCP Virtual Server)。目前,KTCPVS已經(jīng)能對HTTP請求進行基于內(nèi)容的調(diào)度,但它還不很成熟,在其調(diào)度算法和各種協(xié)議的功能支持等方面,有大量的工作需要做。

雖然應用層交換處理復雜,它的伸縮性有限,但應用層交換帶來以下好處:

  • 相同頁面的請求被發(fā)送到同一服務器,可以提高單臺服務器的Cache命中率。
  • 一些研究[5]表明WEB訪問流中存在局部性。Layer-7交換可以充分利用訪問的局部性,將相同類型的請求發(fā)送到同一臺服務器,使得每臺服務器收到的請求具有更好的相似性,可進一步提高單臺服務器的Cache命中率。
  • 后端服務器可運行不同類型的服務,如文檔服務,圖片服務,CGI服務和數(shù)據(jù)庫服務等。

4. LVS集群的特點

LVS集群的特點可以歸結如下:

  1. 功能
    有實現(xiàn)三種IP負載均衡技術和八種連接調(diào)度算法的IPVS軟件。在IPVS內(nèi)部實現(xiàn)上,采用了高效的Hash函數(shù)和垃圾回收機制,能正確處理所調(diào)度報文相 關的ICMP消息(有些商品化的系統(tǒng)反而不能)。虛擬服務的設置數(shù)目沒有限制,每個虛擬服務有自己的服務器集。它支持持久的虛擬服務(如HTTP Cookie和HTTPS等需要該功能的支持),并提供詳盡的統(tǒng)計數(shù)據(jù),如連接的處理速率和報文的流量等。針對大規(guī)模拒絕服務(Deny of Service)攻擊,實現(xiàn)了三種防衛(wèi)策略。
    有基于內(nèi)容請求分發(fā)的應用層交換軟件KTCPVS,它也是在Linux內(nèi)核中實現(xiàn)。有相關的集群管理軟件對資源進行監(jiān)測,能及時將故障屏蔽,實現(xiàn)系統(tǒng)的高可用性。主、從調(diào)度器能周期性地進行狀態(tài)同步,從而實現(xiàn)更高的可用性。

  2. 適用性
    后端服務器可運行任何支持TCP/IP的操作系統(tǒng),包括Linux,各種Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows NT/2000等。
    負載調(diào)度器能夠支持絕大多數(shù)的TCP和UDP協(xié)議:

    協(xié)議 內(nèi) 容
    TCP HTTP,F(xiàn)TP,PROXY,SMTP,POP3,IMAP4,DNS,LDAP,HTTPS,SSMTP等
    UDP DNS,NTP,ICP,視頻、音頻流播放協(xié)議等
    無需對客戶機和服務器作任何修改,可適用大多數(shù)Internet服務。

  3. 性能
    LVS服務器集群系統(tǒng)具有良好的伸縮性,可支持幾百萬個并發(fā)連接。配置100M網(wǎng)卡,采用VS/TUN或VS/DR調(diào)度技術,集群系統(tǒng)的吞吐量可高達1Gbits/s;如配置千兆網(wǎng)卡,則系統(tǒng)的最大吞吐量可接近10Gbits/s。

  4. 可靠性
    LVS服務器集群軟件已經(jīng)在很多大型的、關鍵性的站點得到很好的應用,所以它的可靠性在真實應用得到很好的證實。有很多調(diào)度器運行一年多,未作一次重啟動。

  5. 軟件許可證
    LVS集群軟件是按GPL(GNU Public License)許可證發(fā)行的自由軟件,這意味著你可以得到軟件的源代碼,有權對其進行修改,但必須保證你的修改也是以GPL方式發(fā)行。

5. LVS集群的應用

LVS項目從成立到現(xiàn)在為止,受到不少關注,LVS集群系統(tǒng)已被應用于很多重負載的站點,就我所知該系統(tǒng)已在美、英、德、澳等國的幾十個站點上正式使用。

我們沒有上百臺機器和高速的網(wǎng)絡來實際測試LVS的終極性能,所以舉LVS的應用實例來說明LVS的高性能和穩(wěn)定性。我們所知的一些大型LVS應用實例如下:

  • 英國國家JANET Cache Service(wwwcache.ja.net)是為英國150所以上的大學提供Web Cache服務。他們用28個結點的LVS集群代替了原有現(xiàn)50多臺相互獨立的Cache服務器,用他們的話說現(xiàn)在速度就跟夏天一樣,因為夏天是放假期間沒有很多人使用網(wǎng)絡。

  • Linux的門戶站點(www.linux.com)用LVS將很多臺VA Linux SMP服務器組成高性能的WEB服務,已使用將近一年。

  • SourceForge(sourceforge.net)是在全球范圍內(nèi)為開發(fā)源碼項目提供WEB、FTP、Mailing List和CVS等服務,他們也使用LVS將負載調(diào)度到十幾臺機器上。

  • 世界上最大的PC制造商之一采用了兩個LVS集群系統(tǒng),一個在美洲,一個在歐洲,用于網(wǎng)上直銷系統(tǒng)。

  • 以RealPlayer提供音頻視頻服務而聞名的Real公司(www.real.com)使用由20臺服務器組成的LVS集群,為其全球用戶提供音頻視頻服務。在2000年3月時,整個集群系統(tǒng)已收到平均每秒20,000個連接的請求流。

  • NetWalk(www.netwalk.com)用多臺服務器構造LVS系統(tǒng),提供1024個虛擬服務,其中本項目的一個美國鏡像站點(www.us.linuxvirtualserver.org)。

  • RedHat(www.redhat.com)從其6.1發(fā)行版起已包含LVS代碼,他們開發(fā)了一個LVS集群管理工具叫Piranha,用于控制LVS集群,并提供了一個圖形化的配置界面。

  • VA Linux(www.valinux.com)向客戶提供基于LVS的服務器集群系統(tǒng),并且提供相關的服務和支持。

  • TurboLinux的"世界一流Linux集群產(chǎn)品"TurboCluster實際上是基于LVS的想法和代碼的,只是他們在新聞發(fā)布和產(chǎn)品演示時忘了致謝 。

  • 紅旗Linux和中軟都提供基于LVS的集群解決方案,并在2000年9月召開的Linux World China 2000上展示。

在這里,再引用兩位LVS用戶的評論,來進一步說明LVS的性能和可靠性。

"We tried virtually all of the commercial load balancers, LVS beats them all for reliability, cost, manageability, you-name-it." — Jerry Glomph Black, Director, Internet & Technical Operations, Real Networks, Se attle Washington, USA
http://archive.linuxvirtualserver.org/html/lvs-users/2000-03/msg00180.html
http://marc.theaimsgroup.com/?1=linux-virtual-server&m=95385809030794&w=2
"I can say without a doubt that lvs toasts F5/BigIP solutions, at least in our real world implementations. I wouldn't trade a good lvs box for a Cisco Local Director either." — Drew Streib, Information Architect, VA Linux Systems, USA
http://archive.linuxvirtualserver.org/html/lvs-users/2000-03/msg00178.html
http://marc.theaimsgroup.com/?1=linux-virtual-server&m=95385694529750&w=2

6. LVS項目的開發(fā)進展與感觸

LVS項目于1998年5月在網(wǎng)站上發(fā)布IPVS第一個版本源程序,一直得到了來自 Internet 的用戶和開發(fā)者的鼓勵和支持。應該說,剛開始發(fā)布的程序是非常簡單的,由于用戶的使用、反饋和期望,讓我覺得這項工作的價值,并不斷地化時間對該軟件添加 新功能和完善,其中也得到其他開發(fā)者的幫助,所以該軟件逐漸發(fā)展成為功能較齊全、有用的系統(tǒng),這遠遠超出我當初成立項目時的想象。在這里,我要感謝 Julian Anastasov提供了很多系統(tǒng)的Bug fixes和改進,Joseph Mack博士編寫了LVS HOWTO文檔;還感謝一些廠商贊助我開發(fā)(如硬件設備等),和贊助我多次出國作相關的技術報告。

目前,正在進行的 LVS項目開發(fā)工作包括:

  • 擴充IPVS對其他傳輸協(xié)議的支持,如AH(Authentication Header)和ESP(Encapsulating Security Payload )等,這樣IPVS調(diào)度器將實現(xiàn)IPSec的服務器集群。

  • 提供一個統(tǒng)一的、功能較完善、更靈活的LVS集群管理軟件。

  • 擴充和改進KTCPVS的調(diào)度算法和多種協(xié)議的支持,使之功能較完備和系統(tǒng)更穩(wěn)定。

  • 在TCP粘合(TCP Splicing)和TCP轉移(TCP Handoff)等方面,做一些嘗試性工作,進一步改進LVS集群中的應用層調(diào)度。

最后,我談一下自己多年來做自由軟件開發(fā)的幾點感觸。一是通過自由軟件方式可以使得軟件具有頑強的生命力;我以前也做過幾個獨立的系統(tǒng),如在SUN上用 Common Lisp開發(fā)的知識庫系統(tǒng)和基于C++的對象數(shù)據(jù)庫系統(tǒng),有些地方也是做得非常漂亮的(如元級反射機制和對象的關系處理),但因為種種原因這些軟件沒有以 開放源碼方式發(fā)布,現(xiàn)在它們在我導師的軟件倉庫里已無人問津,我也已經(jīng)忘記里面的實現(xiàn)細節(jié);而LVS項目是我做著玩的,一開始只是個很簡單的程序,通過自 由軟件的發(fā)布和開發(fā),它發(fā)展成一個有用的、功能較齊全的軟件,體現(xiàn)了自由軟件的強大生命力。二是通過自由軟件的集市開發(fā),可以使得初始的想法不斷地深入, 可以學到很多東西。三是做自由軟件后時間會更有效率,由于用戶的反饋和期待,會自覺不斷地改進和完善系統(tǒng),于是沒有時間去玩游戲和網(wǎng)上聊天。四是做自由軟 件會使得你有一點點成就感,每當收到用戶的致謝和想到你的軟件在實際系統(tǒng)中運行,會有一點滿足。所以,行動起來吧,花一些時間做自由軟件,你會有意想不到 的收獲。

7. LVS項目的網(wǎng)絡資源

如果你對LVS項目感興趣,請訪問Linux Vritual Server項目的主頁(http://www.LinuxVirtualServer.org/或者http://www.linux-vs.org/),你可以獲得最新的 LVS 源代碼和有關運行軟件,及最新的文檔資料。
如果你在使用LVS 的過程中遇到困難,請訂閱我們的郵件列表lvs-users@LinuxVirtualServer.org,提問、解答或者發(fā)表你的高見。

8. 參考文獻

[1] Information Navigators, Internet Growth Charts, http://navigators.com/stats.html
[2] Srinivasan Seetharaman. IP over DWDM. http://www.cis.ohio-state.edu-/~jain/cis788-99/ip_dwdm/
[3] Lucent Technologies. Web ProForum tutorial: DWDM. October 1999, http://www.webproforum.com/acrobat/dwdm.pdf
[4] Lucent Technologies. Lucent Technologies announces record-breaking 320-channel optical networking system. April 2000, http://www.lucent.com/press/0400/000417.nsb.html
[5] Yahoo! Inc., The Yahoo! Directory and Web Services, http://www.yahoo.com/
[6] Dell Inc. http://www.dell.com/

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