淺談LVS

一、LVS 概念:

LVS是Linux Virtual Server的簡寫,即Linux虛擬服務器,是一個虛擬的服務器集羣系統。宗旨是使用集羣技術和Linux操作系統實現一個高性能、高可用的服務器。

二、 LVS 技術:

1.LVS集羣採用IP負載均衡技術和基於內容請求分發技術:

調度器具有很好的吞吐率,將請求均衡地轉移到不同的服務器上執行,且調度起自動屏蔽服務器的故障,從而將一組服務器構成一個高性能的、高可用的虛擬服務器。整個服務器集羣的結構對客戶是透明的,而且無需修改客戶端和服務器端的程序。

2. 集羣的三層結構:

一、負載調度器:整個集羣對外面的前端機,負責將客戶的請求發送到一組服務器執行,而客戶認爲服務來自一個IP地址(虛擬IP地址)上的。採用IP負載均衡技術、基於內容請求分發技術或者兩者相結合。

二、服務器池:是一組真正執行客戶請求的服務器,執行的服務有WEB、MAIL、FTP和DNS等。

三、共享存儲:它爲服務器池提供一個共享的存儲區,容易使得服務服務器擁有相同的內容。提供相同的服務。共享存儲通常是數據庫、網絡文件系統、分佈式文件系統。

3. 分佈式鎖管理器:

當不同服務器上的應用程序同事讀寫訪問分佈式文件系統上同一資源時,應用程序的訪問衝突需要消解才能使得資源處於一致狀態,這就需要分佈式鎖管理器。

4. 監視器(Graphic Monitor):

Graphic Monitor是爲系統管理員提供整個集羣系統的監視器,它可以監視系統的狀態。Graphic Monitor是基於瀏覽器的,所以無論管理員在本地還是異地都可以監測系統的狀況。

三、LVS三種負載均衡:

1. VS/NAT

VS/NAT是一種最簡單的方式,所有的服務器只需要將自己的網關指向Director即可。

優勢:服務器可以運行任何支持TCP/IP的操作系統,只需要一個IP地址配置在調度器上,服務器組可以用私有的IP地址。

缺點:伸縮能力有限,調度器本身可能稱爲系統的新瓶頸。

2. VS/TUN

調度器根據各個服務器的負載情況,動態地選擇一臺服務器,將請求報文封裝在另一個IP報文中,再將封裝後的IP報文轉發給選出的服務器;服務器收到報文後,先將報文解封獲得原來目標地址爲 VIP 的報文,服務器發現VIP地址被配置在本地的IP隧道設備上,所以就處理這個請求,然後根據路由表將響應報文直接返回給客戶。

優勢:負載調度器只將請求調度到不同的後端服務器,後端服務器將應答直接返回給用戶,極大地增加負載調度器調度的服務器數量。

3. VS/DR(最常見)

VS/DR方式是通過改寫請求報文中的MAC地址部分來實現的。調度器和服務器必需在物理上有一個網卡通過不間斷的局域網相連。在VS/DR中,調度器根據各個服務器的負載情況,動態地選擇一臺服務器,不修改也不封裝IP報文,而是將數據幀的MAC地址改爲選出服務器的MAC地址,再將修改後的數據幀在與服務器組的局域網上發送。調度器的VIP地址對外可見,而服務器的VIP對外是不可見的。

優勢:同VS/TUN方法一樣,提高了LVS集羣系統的伸縮性。這種方法沒有IP隧道的開銷,效率最高。

缺點:但是要求負載調度器與服務器都有一塊網卡連在同一物理網段上,服務器網絡設備不做ARP響應。

四、LVS實踐:

1.Linux  ipvs和ipvsadm:ipvs是找工作內核空間實現調度的代碼;ipvsadm工作在用戶空間,負責爲ipvs內核框架編寫規則,定義誰是集羣服務,誰是後端真是服務器。

2.Linux  keeplived+lvs:比較常用。安裝可以參考:https://www.cnblogs.com/wangxiaoqiangs/p/5736210.html

需要注意:安裝時,節點服務器要綁定 VIP,建議用上文的腳本。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章