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去執(zhí)行。real server負責真正的提供各種應用服務,比如:Web、FTP、Mail等服務。real server的數(shù)量可以根據(jù)實際需求進行增加、減少。
二、lvs的工作過程
三、lvs的類型
lvs有三種通用標準模型
(1)lvs-nat (網(wǎng)絡地址映射)
(2)lvs-dr (直接路由)
(3)lvs-tun (IP隧道)
3.1、 ?LVS NAT的特性(實質是多目標的DNAT):
1、RS應該使用私有地址;
2、RS的網(wǎng)關的必須指向DIP;
3、RIP和DIP必須在同一網(wǎng)段內;
4、請求和響應的報文都得經(jīng)過Director;在高負載場景中,Director很可能成為系統(tǒng)性能瓶頸;
5、支持端口映射;
6、RS可以使用任意支持集群服務的OS;
lvs-nat:工作流程如圖:
3.2、 ?LVS DR類型的特性:
1、RS可以使用私有地址;但也可以使用公網(wǎng)地址,此時可以直接通過互聯(lián)網(wǎng)連入RS以實現(xiàn)配置、監(jiān)控等;
2、RS的網(wǎng)關一定不能指向DIP;
3、RS跟Dirctory要在同一物理網(wǎng)絡內(不能由路由器分隔,因為VS通過封裝MAC地址到RS);
4、請求報文經(jīng)過Directory,但響應報文一定不經(jīng)過Director
5、不支持端口映射;
6、RS可以使用大多數(shù)的操作系統(tǒng);
由于DR類型中,VS、RS的VIP都是一樣,如果在同一網(wǎng)段內會造成地址沖突,因此要解決地址沖突有一下三種方法:
禁止RS響應對VIP的ARP廣播請求:
1、在前端路由上實現(xiàn)靜態(tài)MAC地址VIP的綁定;
前提:得有路由器的配置權限;
缺點:Directory故障轉時,無法更新此綁定;
2、arptables
前提:在各RS在安裝arptables程序,并編寫arptables規(guī)則
缺點:依賴于獨特功能的應用程序
3、修改Linux內核參數(shù)
前提:RS必須是Linux;
缺點:適用性差;
兩個參數(shù):
arp_announce:定義通告模式
arp_ignore:定義收到arp請求的時響應模式
配置專用路由,以使得響應報文首先通過vip所配置的lo上的別名接口
lvs-dr:工作流程如圖
3.2、 ?lvs-tun:IP隧道
1、RIP、DIP、VIP都得是公網(wǎng)地址;
2、RS的網(wǎng)關不會指向也不可能指向DIP;
3、請求報文經(jīng)過Directory,但響應報文一定不經(jīng)過Director;
4、不支持端口映射;
5、RS的OS必須得支持隧道功能;
lvs-tun:工作流程如圖:也是基于lvs-dr的模型,只不過不同的是,rs和vs不必在同一個物理的網(wǎng)絡(實現(xiàn)物理冗余),而是通過隧道技術進行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)
調度器通過“加權輪叫”調度算法根據(jù)真實服務器的不同處理能力來調度訪問請求。這樣可以保證處理能力強的服務器能處理更多的訪問流量。調度器可以自動問詢真實服務器的負載情況,并動態(tài)地調整其權值。
4.加權最少鏈接(Weighted Least Connections)(WLC)
在集群系統(tǒng)中的服務器性能差異較大的情況下,調度器采用“加權最少鏈接”調度算法優(yōu)化負載均衡性能,具有較高權值的服務器將承受較大比例的活動連接負載。調度器可以自動問詢真實服務器的負載情況,并動態(tài)地調整其權值。
?說明: 部分參考?http://6638225.blog.51cto.com/6628225/1866241 ?感謝作者。
文章可以轉載,必須以鏈接形式標明出處。本文轉自 張沖andy 博客園博客,原文鏈接: ?http://www.cnblogs.com/andy6/p/7017155.html?,如需轉載請自行聯(lián)系原作者
總結
以上是生活随笔為你收集整理的lvs之 lvs原理架构介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 细数你不得不知的容器安全工具
- 下一篇: 记录Docker in Docker 安