企業級負載均衡集羣LVS—概念及工作原理

1. 什麼是LVS

==lvs是linux virtual server的簡稱,也就是Linux虛擬服務器。==這是一個開源項目,它的官方網站是http://www.linuxvirtualserver.org 現在lvs已經是linux內核標準的一部分。

使用lvs可以達到的技術目標是:通過lvs達到的負載均衡技術和linux操作系統實現一個高性能高可用的linux服務器集羣,它具有良好的可靠性、可擴展性和可操作性。從而以低廉的成本實現最優的性能。

2. LVS的特點

通過LVS提供的負載均衡技術和Linux操作系統實現一個高性能、高可用的服務器羣集,它具有良好可靠性、可擴展性和可操作性。從而以低廉的成本實現最優的服務性能。

LVS的主要特點有以下幾個方面:

  • 高併發連接:LVS基於內核網絡層面工作,有超強的承載能力和併發處理能力。單臺LVS負載均衡器,可支持上萬併發連接。穩定性強:是工作在網絡4層之上僅作分發之用,這個特點也決定了它在負載均衡軟件裏的性能最強,穩定性最好,對內存和cpu資源消耗極低。
  • 成本低廉:硬件負載均衡器少則十幾萬,多則幾十萬上百萬,LVS只需一臺服務器和就能免費部署使用,性價比極高。
  • 配置簡單:LVS配置非常簡單,僅需幾行命令即可完成配置,也可寫成腳本進行管理。
  • 支持多種算法:支持多種論調算法,可根據業務場景靈活調配進行使用
  • 支持多種工作模型:可根據業務場景,使用不同的工作模式來解決生產環境請求處理問題。
  • 應用範圍廣:因爲LVS工作在4層,所以它幾乎可以對所有應用做負載均衡,包括http、數據庫、DNS、ftp服務等等
  • 缺點:工作在4層,不支持7層規則修改,機制過於龐大,不適合小規模應用。

3. LVS常見術語

LVS中有一些常見的術語,如下表所示:

名稱 解釋
ipvsad 用戶空間的命令行工具,用於管理集羣服務及集羣服務上的RS等
IPVS 工作於內核上的netfilter INPUT HOOK之上的程序,可根據用戶定義的集羣實現請求轉發
VS Virtual Server ,虛擬服務
Director, Balancer 負載均衡器、分發器
DS Director Server:指前端負載均衡器節點
RS Real Server 後端請求處理服務器
CIP Client IP,客戶端IP
VIP Director Virtual IP,負載均衡器虛擬IP
DIP Director IP,負載均衡器IP
RIP Real Server IP,後端請求處理服務器IP

4. LVS的組成

LVS由2部分程序組成,包括ipvs和ipvsadm

  • ipvs(ip virtual server):一段代碼工作在內核空間,叫ipvs,是真正生效實現調度的代碼
  • ipvsadm:另外一段代碼工作在用戶空間,叫ipvsadm,負責爲ipvs內核框架編寫規則,定義誰是集羣服務,而誰是後端真實的服務器(Real Server)

5. LVS的工作原理

在這裏插入圖片描述

具體流程:

  • 1.當客戶端的請求到達負載均衡器的內核空間時,首先會到達PREROUTING鏈。
  • 2.當內核發現請求數據包的目的地址是本機時,將數據包送往INPUT鏈。
  • 3.LVS由用戶空間的ipvsadm和內核空間的IPVS組成,ipvsadm用來定義規則,IPVS利用ipvsadm定義的規則工作,IPVS工作在INPUT鏈上,當數據包到達INPUT鏈時,首先會被IPVS檢查,如果數據包裏面的目的地址及端口沒有在規則裏面,那麼這條數據包將經過INPUT鏈送至用戶空間,交給用戶空間的進程來處理。
  • 4.如果數據包裏面的目的地址及端口在規則裏面,那麼這條數據報文將被修改目的地址爲事先定義好的後端服務器,並送往POSTROUTING鏈。
  • 5.最後經由POSTROUTING鏈發往後端服務器。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章