LVS

LVS

Linux虛拟服務器
LVS是Linux Virtual Server的簡寫,意即Linux虛拟服務器[1],是一個虛拟的服務器集群系統。本項目在1998年5月由章文嵩博士成立,是中國國内最早出現的自由軟件項目之一。
  • 軟件名稱:
  • 軟件平台:
  • 軟件語言:
  • 開發商:
  • 軟件授權:
  • 軟件版本:
  • 軟件大小:
  • 中文名:Linux虛拟服務器
  • 英文名:Linux Virtual Server
  • 類别:計算機軟件
  • 創立人:章文嵩

宗旨

使用集群技術和Linux操作系統實現一個高性能、高可用的服務器.

很好的可伸縮性(Scalability)

很好的可靠性(Reliability)

很好的可管理性(Manageability)。

特點

可伸縮網絡服務的幾種結構,它們都需要一個前端的負載調度器(或者多個進行主從備份)。我們先分析實現虛拟網絡服務的主要技術,指出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】技術簡介

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

【2】集群采用三層結構

一般來說,LVS集群采用三層結構,其主要組成部分為:

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

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

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

【3】調度器

調度器是服務器集群系統的唯一入口點(Single Entry Point),它可以采用IP負載均衡技術、基于内容請求分發技術或者兩者相結合。

在IP負載均衡技術中,需要服務器池擁有相同的内容提供相同的服務。當客戶請求到達時,調度器隻根據服務器負載情況和設定的調度算法從服務器池中選出一個服務器,将該請求轉發到選出的服務器,并記錄這個調度;當這個請求的其他報文到達,也會被轉發到前面選出的服務器。在基于内容請求分發技術中,服務器可以提供不同的服務,當客戶請求到達時,調度器可根據請求的内容選擇服務器執行請求。

因為所有的操作都是在Linux操作系統核心空間中完成的,它的調度開銷很小,所以它具有很高的吞吐率。服務器池的結點數目是可變的。當整個系統收到的負載超過目前所有結點的處理能力時,可以在服務器池中增加服務器來滿足不斷增長的請求負載。

對大多數網絡服務來說,請求間不存在很強的相關性,請求可以在不同的結點上并行執行,所以整個系統的性能基本上可以随着服務器池的結點數目增加而線性增長。共享存儲通常是數據庫、網絡文件系統或者分布式文件系統。服務器結點需要動态更新的數據一般存儲在數據庫系統中,同時數據庫會保證并發訪問時數據的一緻性。

靜态的數據可以存儲在網絡文件系統(如NFS/CIFS)中,但網絡文件系統的伸縮能力有限,一般來說,NFS/CIFS服務器隻能支持3~6個繁忙的服務器結點。對于規模較大的集群系統,可以考慮用分布式文件系統,如AFS、GFS、Coda和Intermezzo等。分布式文件系統可為各服務器提供共享的存儲區,它們訪問分布式文件系統就像訪問本地文件系統一樣,同時分布式文件系統可提供良好的伸縮性和可用性。

【4】分布式鎖管理器

此外,當不同服務器上的應用程序同時讀寫訪問分布式文件系統上同一資源時,應用程序的訪問沖突需要消解才能使得資源處于一緻狀态。這需要一個分布式鎖管理器(Distributed Lock Manager),它可能是分布式文件系統内部提供的,也可能是外部的。開發者在寫應用程序時,可以使用分布式鎖管理器來保證應用程序在不同結點上并發訪問的一緻性。

負載調度器、服務器池和共享存儲系統通過高速網絡相連接,如100Mbps交換網絡、Myrinet和Gigabit網絡等。使用高速的網絡,主要為避免當系統規模擴大時互聯網絡成為整個系統的瓶頸。

【5】監視器

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

優點

1、開源,免費

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

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

缺點

1、最核心的就是沒有可靠的支持服務,沒有人對其結果負責;

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

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

4、配置複雜;

5、主要應用于LINUX,目前沒有專門用于WINDOWS的版本,不過可以通過配置,使windows成為LVS集群中的real server(win2003、win2008中)。

上一篇:mono

下一篇:窮遊

相關詞條

相關搜索

其它詞條