天天看點

【Linux】LVS --Linux虛拟伺服器

        LVS是一個開源的軟體,由畢業于國防科技大學的章文嵩博士于1998年5月創立,可以實作LINUX平台下的簡單負載均衡。LVS是Linux Virtual Server的縮寫,意思是Linux虛拟伺服器。

 LVS叢集采用IP負載均衡技術和基于内容請求分發技術。排程器具有很好的吞吐率,将請求均衡地轉移到不同的伺服器上執行,且排程器自動屏蔽掉伺服器的故障,進而将一組伺服器構成一個高性能的、高可用的虛拟伺服器。整個伺服器叢集的結構對客戶是透明的,而且無需修改用戶端和伺服器端的程式。為此,在設計時需要考慮系統的透明性、可伸縮性、高可用性和易管理性。一般來說,LVS叢集采用三層結構,其主要組成部分為:   

A、負載排程器(load balancer),它是整個叢集對外面的前端機,負責将客戶的請求發送到一組伺服器上執行,而客戶認為服務是來自一個IP位址(我們可稱之為虛拟IP位址)上的。  

B、伺服器池(server pool),是一組真正執行客戶請求的伺服器,執行的服務有WEB、MAIL、FTP和DNS等。

C、共享存儲(shared storage),它為伺服器池提供一個共享的存儲區,這樣很容易使得伺服器池擁有相同的内容,提供相同的服務。   

    排程器是伺服器叢集系統的唯一入口點(Single Entry Point),它可以采用IP負載均衡技術、基于内容請求分發技術或者兩者相結合。在IP負載均衡技術中,需要伺服器池擁有相同的内容提供相同的服務。當客戶請求到達時,排程器隻根據伺服器負載情況和設定的排程算法從伺服器池中選出一個伺服器,将該請求轉發到選出的伺服器,并記錄這個排程;當這個請求的其他封包到達,也會被轉發到前面選出的伺服器。在基于内容請求分發技術中,伺服器可以提供不同的服務,當客戶請求到達時,排程器可根據請求的内容選擇伺服器執行請求。因為所有的操作都是在Linux作業系統核心空間中将完成的,它的排程開銷很小,是以它具有很高的吞吐率。伺服器池的結點數目是可變的。當整個系統收到的負載超過目前所有結點的處理能力時,可以在伺服器池中增加伺服器來滿足不斷增長的請求負載。對大多數網絡服務來說,請求間不存在很強的相關性,請求可以在不同的結點上并行執行,是以整個系統的性能基本上可以随着伺服器池的結點數目增加而線性增長。 共享存儲通常是資料庫、網絡檔案系統或者分布式檔案系統。伺服器結點需要動态更新的資料一般存儲在資料庫系統中,同時資料庫會保證并發通路時資料的一緻性。靜态的資料可以存儲在網絡檔案系統(如NFS/CIFS)中,但網絡檔案系統的伸縮能力有限,一般來說,NFS/CIFS伺服器隻能支援3~6個繁忙的伺服器結點。對于規模較大的叢集系統,可以考慮用分布式檔案系統,如AFS、GFS、Coda和Intermezzo等。分布式檔案系統可為各伺服器提供共享的存儲區,它們通路分布式檔案系統就像通路本地檔案系統一樣,同時分布式檔案系統可提供良好的伸縮性和可用性。此外,當不同伺服器上的應用程式同時讀寫通路分布式檔案系統上同一資源時,應用程式的通路沖突需要消解才能使得資源處于一緻狀态。這需要一個分布式鎖管理器(Distributed Lock Manager),它可能是分布式檔案系統内部提供的,也可能是外部的。開發者在寫應用程式時,可以使用分布式鎖管理器來保證應用程式在不同結點上并發通路的一緻性。   負載排程器、伺服器池和共享存儲系統通過高速網絡相連接配接,如100Mbps交換網絡、Myrinet和Gigabit網絡等。使用高速的網絡,主要為避免當系統規模擴大時網際網路絡成為整個系統的瓶頸。   Graphic Monitor是為系統管理者提供整個叢集系統的螢幕,它可以監視系統的狀态。Graphic Monitor是基于浏覽器的,是以無論管理者在本地還是異地都可以監測系統的狀況。為了安全的原因,浏覽器要通過HTTPS(Secure HTTP)協定和身份認證後,才能進行系統監測,并進行系統的配置和管理。

編輯本段LVS的IP負載均衡

  可伸縮網絡服務的幾種結構,它們都需要一個前端的負載排程器(或者多個進行主從備份)。我們先分析實作虛拟網絡服務的主要技術,指出IP負載均衡技術是在負載排程器的實作技術中效率最高的。在已有的IP負載均衡技術中,主要有通過網絡位址轉換(Network Address Translation)将一組伺服器構成一個高性能的、高可用的虛拟伺服器,我們稱之為VS/NAT技術(Virtual Server via Network Address Translation)。在分析VS/NAT的缺點和網絡服務的非對稱性的基礎上,我們提出了通過IP隧道實作虛拟伺服器的方法VS/TUN (Virtual Server via IP Tunneling),和通過直接路由實作虛拟伺服器的方法VS/DR(Virtual Server via Direct Routing),它們可以極大地提高系統的伸縮性。VS/NAT、VS/TUN和VS/DR技術是LVS叢集中實作的三種IP負載均衡技術

 優點:

  1、開源,免費   

    2、在網上能找到一些相關技術資源   

    3、具有軟體負載均衡的一些優點

缺點:

  1、具有開源産品常有的缺點,最核心的就是沒有可靠的支援服務,沒有人對其結果負責;

    2、功能比較簡單,支援複雜應用的負載均衡能力較差,如算法較少等;

    3、開啟隧道方式需重編譯核心;   

    4、配置複雜;   

    5、隻支援LINUX,如果應用還包括WINDOWS、 SOLARIS等就不行了。