LVS搭建集群實現負載均衡-簡介
1 集群概述
2 LVS集群
3 LVS模式及工作原理
1.1 集群概述
1.1.1 什么是集群
一組各自相互獨立且又相互依賴的,通過高速網絡互聯的計算機組成的一個計算機組, 以單一的系統模式加以管理, 為用戶提供服務, 對用戶來說, 用戶只會認為對方是一個服務. 這個里面, 一組計算機的一台計算機就是集群的一個節點
1.1.2 集群的特性
可伸縮性, 可靠性, 可管理性
1.1.3 集群的種類
集群系統主要分為
負載均衡(Load Balance)集群,簡稱LB。
高可用(High Availability)集群,簡稱 HA 集群。
高性能計算(High Perfermance Computing)集群,簡稱 HPC 集群。
1.1.4 LB實現分類
硬件的實現: – F5 負載均衡器。
軟件的實現: – LVS(4層,傳輸層) – Nginx(7層,應用層)。
1.2 LVS集群
1.2.1 LVS(Linux Virtual Server)
LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集群系統。本項目在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一,是根據iptables的實現來開發的,所以使用時候會和iptables相當類似
官網:http://www.linuxvirtualserver.org/
中文站點: http://zh.linuxvirtualserver.org/
負載調度器,:分發器(Load Balancer, Director): 整個集群對外的最前端機, 負責接收用戶請求, 並且根據自己的調度算法, 將請求轉發到后端真實服務器上的動作,而客戶認為服務是來自一個IP地址(我們可稱之為VIP虛擬IP地址)上的。
服務器池: Server Pool 真正為用戶提供服務的服務器, 每一台服務器就是一台RS[RealServer],執行的服務有WEB、MAIL、FTP和DNS等。
共享存儲: Shared Storaged 為RS保持相同內容, 提供數據的一致性,也就是說,它為服務器池提供一個共享的存儲區,這樣很容易使得服務器池擁有相同的內容,提供相同的服務。
3 LVS模式及工作原理
3.1 LVS(4層) 模式
/VS/NAT
LVS-VS/DR
\VS/TUN
3.2 LVS負載均衡的三種包轉發方式
LVS提供了三種包轉發方式:NAT(網絡地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不同的轉發模式決定了不同的cluster的網絡結構
3.3 NAT(網絡地址映射)
NAT: 網絡地址轉換
DNAT: 目標地址轉換 改變的是目標地址
SNAT: 原地址轉換 改變的是原地址
LVS-NAT 就是使用的SNAT和DNAT完成報的轉發
NAT方式可支持任何的操作系統,以及私有網絡,並且只需一個Internet IP地址,但是整個系統的性能受到限制。因為執行NAT每次需要重寫包,有一定的延遲;另外,大部分應用有80%的數據是從服務器流向客戶機,也就是用戶的請求非常短,而服務器的回應非常大,對負載均衡器形成很大壓力,成為了新的瓶頸。
3.4 IP Tunneling(IP隧道)
director(分發器)分配請求到不同的real server。real server處理請求后直接回應給用戶,這樣director負載均衡器僅處理客戶機與服務器的一半連接。IP Tunneling技術極大地提高了director的調度處理能力,同時也極大地提高了系統能容納的最大節點數,可以超過100個節點。real server可以在任何LAN或WAN上運行,這意味着允許地理上的分布,這在災難恢復中有重要意義。服務器必須擁有正式的IP地址用於與客戶機直接通信,並且所有服務器必須支持IP隧道協議。
3.5 Direct Routing(直接路由)
與IP Tunneling類似,負載均衡器僅處理一半的連接,避免了新的性能瓶頸,同樣增加了系統的可伸縮性。Direct Routing與IP Tunneling相比,沒有IP封裝的開銷,但由於采用物理層(修改MAC地址)技術,所有服務器都必須在一個物理網段。