LVS 介紹

LVS 介紹前端

說明:
  • LVS是Linux Virtual Server的簡稱
  • LVS是一個實現負載均衡的開源軟件項目
  • LVS效率要高於Nginx
  • LVS工做在ISO的第4層(傳輸層)
LVS架構有三層:
  • 最前端的:負載均衡層(Loader Balancer)
  • 中間的:服務器羣組層(Server Array)
  • 最底層的:數據共享存儲層(Shared Storage)

LVS三種工做模式:算法

  • NAT:調度器將請求的目標IP即vip地址改成Real server的ip,返回數據包也通過調度器調度把原地址改成vip
  • TUN:調度器將請求來的數據包封裝加密經過ip隧道轉發到後端的real server上,而real server 會直接把數據返回給客戶端,再也不通過調度器。
  • DR:調度器將請求來的數據包的目標mac地址改成real server的mac地址,返回的時候也不通過調度器直接返回給客戶端。

LVS八種算法:後端

  • 輪叫調度(Round Robin)(簡稱rr):平均分發給每一個請求
  • 加權輪叫(Weighted Round Robin)(簡稱wrr):定義某個機器的輪詢次數
  • 最少連接(least connection)(簡稱LC):判斷哪一個機器處理連接少(處理請求快)就多發送請求。
  • 加權最少連接(Weighted Least Connections)(簡稱WLC):在最少連接的基礎上,加入權重。
  • 基於局部性的最少連接(Locality-Based Least Connections)
  • 帶複製的基於局部性最少連接(Locality-Based Least Connections with Replication)
  • 目標地址散列(Destination Hashing)
  • 源地址散列(Source Hashing)

LVS的體系架構如圖:服務器

 


LVS三層架構網絡

負載均衡層架構

  Load Balancer層:位於整個集羣系統的最前端,有一臺或者多臺負載調度器(Director Server)組成,LVS模塊就安裝在Director Server上,而Director的主要做用相似於一個路由器,它含有完成LVS功能所設定的路由表,經過這些路由表把用戶的請求分發給Server Array層的應用服務器(Real Server)上。同時,在Director Server上還要安裝對Real Server服務的監控模塊Ldirectord,此模塊用於監測各個Real Server服務的健康情況。在Real Server不可用時把它從LVS路由表中剔除,恢復時從新加入。oracle

服務器羣組層負載均衡

  Server Array層:由一組實際運行應用服務的機器組成,Real Server能夠是WEB服務器、MAIL服務器、FTP服務器、DNS服務器、視頻服務器中的一個或者多個,每一個Real Server之間經過高速的LAN或分佈在各地的WAN相鏈接。在實際的應用中,Director Server也能夠同時兼任Real Server的角色。性能

數據共享存儲層加密

  Shared Storage層:是爲全部Real Server提供共享存儲空間和內容一致性的存儲區域,在物理上,通常有磁盤陣列設備組成,爲了提供內容的一致性,通常能夠經過NFS網絡文件系統共享數 據,可是NFS在繁忙的業務系統中,性能並非很好,此時能夠採用集羣文件系統,例如Red hat的GFS文件系統,oracle提供的OCFS2文件系統等。


LVS工做模式

NAT模式

  特色:防火牆的轉發、不一樣網段通訊、數據流量消耗比較大。

  LVS/NAT: 即(Virtual Server via Network Address Translation)也就是網絡地址翻譯技術實現虛擬服務器,當用戶請求到達調度器時,調度器將請求報文的目標地址(即虛擬IP地址)改寫成選定的Real Server地址,同時報文的目標端口也改爲選定的Real Server的相應端口,最後將報文請求發送到選定的Real Server。在服務器端獲得數據後,Real Server返回數據給用戶時,須要再次通過負載調度器將報文的源地址和源端口改爲虛擬IP地址和相應端口,而後把數據發送給用戶,完成整個負載調度過程。能夠看出,在NAT方式下,用戶請求和響應報文都必須通過Director Server地址重寫,當用戶請求愈來愈多時,調度器的處理能力將稱爲瓶頸。

TUN模式

  特色:更改目標的IP地址、服務端接收請求數據後直接交給客戶端,不經過調度器。

  LVS/TUN :即(Virtual Server via IP Tunneling) 也就是IP隧道技術實現虛擬服務器。它的鏈接調度和管理與VS/NAT方式同樣,只是它的報文轉發方法不一樣,VS/TUN方式中,調度器採用IP隧道技術將用戶請求轉發到某個Real Server,而這個Real Server將直接響應用戶的請求,再也不通過前端調度器,此外,對Real Server的地域位置沒有要求,能夠和Director Server位於同一個網段,也能夠是獨立的一個網絡。所以,在TUN方式中,調度器將只處理用戶的報文請求,集羣系統的吞吐量大大提升。

DR模式

  特色:更改目標mac地址、服務端接收請求數據後直接交給客戶端,不經過調度器。

  VS/DR: 即(Virtual Server via Direct Routing) 也就是用直接路由技術實現虛擬服務器。它的鏈接調度和管理與VS/NAT和VS/TUN中的同樣,但它的報文轉發方法又有不一樣,VS/DR經過改寫請求報文的MAC地址,將請求發送到Real Server,而Real Server將響應直接返回給客戶,免去了VS/TUN中的IP隧道開銷。這種方式是三種負載調度機制中性能最高最好的,可是必需要求Director Server與Real Server都有一塊網卡連在同一物理網段上。

相關文章
相關標籤/搜索