lvs之 lvs原理架構介紹
一、 概念
lvs的術語:
Router:GWIP
vs:virtual server,director
rs:real server
CIP:client IP
VIP:virtual server IP
DIP:ditecter IP(connect with rs)
RIP:real server IP
使用者請求的IP一定是VIP,否則vs就失去了負載均衡的排程意義
LVS方式的cluster從結構上可分為兩部分:前端的負載均衡器(稱之為director)和後端的真實伺服器(稱之為real server)。cluster前端的director將來自外界的請求排程到cluster後端不同的real server去執行。real server負責真正的提供各種應用服務,比如:Web、FTP、Mail等服務。real server的數量可以根據實際需求進行增加、減少。
二、lvs的工作過程
三、lvs的型別
lvs有三種通用標準模型
(1)lvs-nat (網路地址對映)
(2)lvs-dr (直接路由)
(3)lvs-tun (IP隧道)
3.1、 LVS NAT的特性(實質是多目標的DNAT):
1、RS應該使用私有地址;
2、RS的閘道器的必須指向DIP;
3、RIP和DIP必須在同一網段內;
4、請求和響應的報文都得經過Director;在高負載場景中,Director很可能成為系統效能瓶頸;
5、支援埠對映;
6、RS可以使用任意支援叢集服務的OS;
lvs-nat:工作流程如圖:
3.2、 LVS DR型別的特性:
1、RS可以使用私有地址;但也可以使用公網地址,此時可以直接透過網際網路連入RS以實現配置、監控等;
2、RS的閘道器一定不能指向DIP;
3、RS跟Dirctory要在同一物理網路內(不能由路由器分隔,因為VS透過封裝MAC地址到RS);
4、請求報文經過Directory,但響應報文一定不經過Director
5、不支援埠對映;
6、RS可以使用大多數的作業系統;
由於DR型別中,VS、RS的VIP都是一樣,如果在同一網段內會造成地址衝突,因此要解決地址衝突有一下三種方法:
禁止RS響應對VIP的ARP廣播請求:
1、在前端路由上實現靜態MAC地址VIP的繫結;
前提:得有路由器的配置許可權;
缺點:Directory故障轉時,無法更新此繫結;
2、arptables
前提:在各RS在安裝arptables程式,並編寫arptables規則
缺點:依賴於獨特功能的應用程式
3、修改Linux核心引數
前提:RS必須是Linux;
缺點:適用性差;
兩個引數:
arp_announce:定義通告模式
arp_ignore:定義收到arp請求的時響應模式
配置專用路由,以使得響應報文首先透過vip所配置的lo上的別名介面
lvs-dr:工作流程如圖
3.2、 lvs-tun:IP隧道
1、RIP、DIP、VIP都得是公網地址;
2、RS的閘道器不會指向也不可能指向DIP;
3、請求報文經過Directory,但響應報文一定不經過Director;
4、不支援埠對映;
5、RS的OS必須得支援隧道功能;
lvs-tun:工作流程如圖:也是基於lvs-dr的模型,只不過不同的是,rs和vs不必在同一個物理的網路(實現物理冗餘),而是透過隧道技術進行vs和rs間的通訊
四、 lvs 十個排程演算法: rr、wrr、lc、wlc、lblc、lblcr、dh、sh、sed、 nq
1.輪叫排程(Round Robin)(簡稱rr)
2.加權輪叫(Weighted Round Robin)(簡稱wrr)
3.最少連結(Least Connections)(LC)
4.加權最少連結(Weighted Least Connections)(WLC)
5.基於區域性性的最少連結(Locality-Based Least Connections)(LBLC)
6.帶複製的基於區域性性最少連結(Locality-Based Least Connections with Replication)(LBLCR)
7.目標地址雜湊(Destination Hashing)(DH)
8.源地址雜湊(Source Hashing)(SH)
9. 最短的期望的延遲(Shortest Expected Delay Scheduling SED)(SED)
10.最少佇列排程(Never Queue Scheduling NQ)(NQ)
最常用的兩個演算法介紹:
2.加權輪叫(Weighted Round Robin)(簡稱wrr)
排程器透過“加權輪叫”排程演算法根據真實伺服器的不同處理能力來排程訪問請求。這樣可以保證處理能力強的伺服器能處理更多的訪問流量。排程器可以自動問詢真實伺服器的負載情況,並動態地調整其權值。
4.加權最少連結(Weighted Least Connections)(WLC)
在叢集系統中的伺服器效能差異較大的情況下,排程器採用“加權最少連結”排程演算法最佳化負載均衡效能,具有較高權值的伺服器將承受較大比例的活動連線負載。排程器可以自動問詢真實伺服器的負載情況,並動態地調整其權值。
說明: 部分參考 http://6638225.blog.51cto.com/6628225/1866241 感謝作者。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2140780/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LVS介紹與配置
- LVS型別的介紹以及LVS的排程方法型別
- LVS原理
- LVS (一) 原理
- 【Mysql】高可用架構之-Lvs+keepalive+Altas+MHAMySql架構
- Quartz核心原理之架構及基本元素介紹quartz架構
- lvs之 lvs+nginx+tomcat_1、tomcat_2+redis(lvs dr 模式)NginxTomcatRedis模式
- 【LVS】簡介與說明
- LVS
- 基於 LVS 的 AAA 負載均衡架構實踐負載架構
- LVS(五)LVS的持久連線
- LVS+Keepalived高可用負載均衡叢集架構負載架構
- 負載均衡之--Nginx、LVS、HAProxy負載Nginx
- Orchard架構介紹架構
- OpenTelemetry架構介紹架構
- LNMP架構介紹LNMP架構
- LVS詳解
- LVS - 相關介紹、工作模式和排程演算法的說明模式演算法
- 基於MySQL Cluster + LVS + KeepAlived部署負載均衡高可用架構MySql負載架構
- LVS 負載均衡之 VS/NAT 模式負載模式
- LVS 負載均衡之 VS/TUN 模式負載模式
- LVS 負載均衡之 VS/DR 模式負載模式
- LVS基礎-四種模式原理與實現模式
- LAMP架構介紹、MYSQL介紹、安裝LAMP架構MySql
- iOS MVC架構介紹iOSMVC架構
- MySQL叢集架構:MHA+MySQL-PROXY+LVS實現MySQL叢集架構高可用/高效能MySql架構
- LVS 負載均衡負載
- lvs負載均衡負載
- 負載均衡之LVS與Nginx對比負載Nginx
- 伺服器群集—LVS負載均衡群集(LVS-NAT部署)伺服器負載
- MySQL Cluster 7.0 +LVS 構建高可用環境MySql
- nginx介紹(二) 架構篇Nginx架構
- KAFKA介紹(分散式架構)Kafka分散式架構
- LNMP架構介紹與部署LNMP架構
- Kubernetes架構介紹架構
- Pixhawk系統架構介紹架構
- RAG系統架構介紹架構
- KeepAlived+LVS+NginxNginx