什麼是LVS負載均衡 ?
可伸縮網絡服務涉及到幾種不同的結構,它們都需要一個前端的負載調度器(或者多個進行主從備份)。
先分析實現虛擬網絡服務的主要技術,指出 <strong>IP</strong> 負載均衡技術是在負載調度器的實現技術中效率最高的。在已有的IP負載均衡技術中,主要有通過網絡地址轉換NAT(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負載均衡技術。
企業羣及應用概述
- 羣集的含義
- Cluster,集羣、羣集
- 由多臺主機構成,但對外只表現爲一個整體
- 在互聯網應用中 ,隨着站點對硬件性能、響應速度、服務穩定性、數據可靠性等要求越來越高,單臺服務器力不從心
- 解決方法
- 使用價格昂貴的小型機、大型機
- 使用普通服務器構建服務羣集
- 根據羣集所針對的目標差異,可分爲三個類型
- 負載均衡羣集
- 高可用羣集
- 高性能運算羣集
- 負載均衡羣集(Load Balance Cluster)
- 以提高應用系統的響應能力。儘可能處理更多的訪問請求、減少延遲爲目標,獲得高併發、高負載(LB)的整體性能
- LB的負載分配依賴於主節點的分流算法(調度算法)
- 高可用羣集(High Availability Cluster)
- 以提高應用系統的可靠性、儘可能的減少中斷時間爲目標,確保服務的連續性,達到高可用(HA)的容錯效果
- HA的工作方式包括雙工和主從兩種模式
- 高性能的運算羣集(High Performance Computer Cluster)
- 以提高應用系統的CPU運算速率、擴展硬件資源和分析能力爲目標,獲得相當於大型、超級計算機的高性能運算(HPC)能力
- 高性能運算羣集的高性能依賴於“分佈式運算”、“並行計算”,通過專用硬件和軟件將多個服務器的CPU、內存等資源整合在一起,實現只有大型、超級計算機才具備的計算能力
備註:
HA :高可用
雙工是兩臺平級的服務器,稱爲去中心化羣集;
主從是有一個主服務器帶有多個從服務器,稱爲中心化羣集
負載均衡羣集工作模式分析
- 負載均衡羣集是目前企業用的最多的羣集類型
- 羣集的負載調度技術有三種工作模式
- 地址轉換(NAT)
- IP隧道(TUN)
- 直接路由(DR)
NAT模式
- 地址轉換(Network Address Translation)
1.簡稱NAT模式,類似於防火牆的私有網絡結構,負載調度器作爲所有服務器節點的網關,即作爲客戶機的訪問入口,也是各節點回應客戶機的訪問出口
2.服務器節點使用私有IP地址,與負載調度器位於同一個物理網絡,安全性要優於其他兩種方式(安全性最優)
TUN模式
- IP隧道(IP Tunnel)
1.簡稱TUN模式,採用開放式的網絡結構,負載調度器僅作爲客戶機的訪問入口,各個節點通過各自的Internet連接直接回應客戶機,而不再經過負載調度器
2.服務器節點分散在互聯網中不同位置,具有獨立的公網IP地址,通過專用IP隧道與負載調度器相互通信
DR模式
- 直接路由(Direct Routing)
1.簡稱DR模式,採用半開放式的網絡結構,與TUN模式的結構類似,但各節點並不是分散在各地,而是與調度器位於同一個物理網絡
2.負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的IP隧道
負載均衡的結構
- 第一層:負載調度器(Load Balancer或Director)
- 第二層:服務器池(server pool)
- 第三層:共享存儲(Share Storage)
負載均衡羣集結構
- 負載均衡結構
關於LVS虛擬服務器
-
Linux Virtual Server
- 針對Linux內核的負載均衡解決方案
- 1998年5月,由我國的章文嵩博士創建
- 官方網站:http://www.linuxvirtualserver.org/
LVS的負載調度算法 - 輪詢(Round Robin)
- 將收到的訪問請求按照順序輪流分配給羣集的各節點(真實服務器),均等的對待每一臺服務器,而不管服務器實際的連接數和系統負載
- 加權輪詢(Weighted Round Robin)
- 根據真實服務器的處理能力輪流分配收到的訪問請求,調度器可以自動查詢各節點的負載情況,並動態調整其權重
- 保證處理能力強的服務器承擔更多的訪問流量
權重:分配訪問的個數,性能強的服務器分配的權重多
LVS的負載調度算法
- 最少連接(Least Connections)
- 根據真實服務器已建立的連接數進行分配,將收到的訪問請求優先分配給連接數量最少的節點
- 加權最少連接(Weighted Least Connections)
- 在服務器節點 的性能差異較大的情況下,可以爲真實服務器自動調整權重
- 權重較高的節點將承擔更大比例的活動連接負載