lvs 集群技術

LVS概念

LVS:Linux Virtual Server,負載調度器,是一種基于Linux操作系統內核的高性能、高可用網絡服務負載均衡解決方案。

LVS工作原理基于網絡層(四層,傳輸層)的負載均衡技術,它通過內核級別的IP虛擬服務器(IPVS)模塊實現透明的流量分發。

LVS軟件作用:通過LVS提供的負載均衡技術和Linux操作系統實現一個高性能、高可用的服務器群集,它具有良好可靠性、可擴展性和可操作性。從而以低廉的成本實現最優的服務性能。

LVS 相關術語:

VS: Virtual Server,負責調度
RS:RealServer,負責真正提供服務
CIP:Client IP
VIP: Virtual serve IP VS外網的IP
DIP: Director IP VS內網的IP
RIP: Real server IP

lvs集群體系結構

VS根據請求報文的目標IP和目標協議及端口將其調度轉發至某RS,根據調度算法來挑選RS

lvs部署命令介紹

1.lvs軟件相關信息

程序包ipvsadm
Unit Fileipvsadm.servic
主程序/usr/sbin/ipvsadm
規則保存工具/usr/sbin/ipvsadm-save
規則重載工具/usr/sbin/ipvsadm-restore
配置文件/etc/sysconfig/ipvsadm-config
ipvs調度規則文件/etc/sysconfig/ipvsadm

2.ipvsadm命令

1.基本命令

-A, --add-service: 添加一個新的虛擬服務器或者一個新的服務組。


-E, --edit-service: 編輯一個現有的虛擬服務器或者服務組。

-D, --delete-service: 刪除一個虛擬服務器或者服務組。


-L, --list: 列出所有的虛擬服務器和服務組。(-Ln)


-C, --clear: 清除所有 IPVS 配置。

2.虛擬服務器相關

-t, --virtual-server: 指定虛擬服務器的 IP 地址和端口。
-s, --scheduler: 指定調度算法(Scheduler),如 rr(Round Robin)、wrr(Weighted Round Robin)、lc(Least Connection)等。
-t ,tcp服務 -u ,udp服務?????

-p #設置持久連接超時,持久連接可以理解為在同一個時間段同一個來源的請求調度到同一Realserver

?LVS的四種工作模式

LVS/NAT:網絡地址轉換模式,進站/出站的數據流量經過分發器(IP負載均衡,他修改的是IP地址) ?--利用三層功能
LVS/DR ?:直接路由模式,只有進站的數據流量經過分發器(數據鏈路層負載均衡,因為他修改的是目的mac地址)--利用二層功能mac地址
LVS/TUN: 隧道模式,只有進站的數據流量經過分發器
LVS/full-nat:雙向轉換:通過請求報文的源地址為DIP,目標為RIP來實現轉發:對于響應報文而言,修改源地址為VIP,目標地址為CIP來實現轉發

lvs-nat與lvs-fullnat:請求和響應報文都經由

Director lvs-nat:RIP的網關要指向DIP

lvs-fullnat:RIP和DIP未必在同一IP網絡,但要能通信

lvs-dr與lvs-tun:請求報文要經由Director,但響應報文由RS直接發往

Client lvs-dr:通過封裝新的MAC首部實現,通過MAC網絡轉發

lvs-tun:通過在原IP報文外封裝新IP頭實現轉發,支持遠距離通信

lvs的調度算法

1.lvs靜態調度算法

僅根據算法本身進行調度,不考慮RS的負載情況

1、RR:roundrobin 輪詢 RS分別被調度,當RS配置有差別時不推薦

2、WRR:Weighted RR,加權輪詢根據RS的配置進行加權調度,性能差的RS被調度的次數少

3、SH:Source Hashing,實現session sticky,源IP地址hash;將來自于同一個IP地址的請求始終發往 第一次挑中的RS,從而實現會話綁定

4、DH:Destination Hashing;目標地址哈希,第一次輪詢調度至RS,后續將發往同一個目標地址的請 求始終轉發至第一次挑中的RS,典型使用場景是正向代理緩存場景中的負載均衡,如:寬帶運營商

2.lvs動態調度算法

主要根據每RS當前的負載狀態及調度算法進行調度Overhead=value較小的RS將被調度

1、LC:least connections(最少鏈接發) 適用于長連接應用Overhead(負載值)=activeconns(活動鏈接數) x 256+inactiveconns(非活 動鏈接數)

2、WLC:Weighted LC(權重最少鏈接) 默認調度方法Overhead=(activeconns x 256+inactiveconns)/weight

3、SED:Shortest Expection Delay, 初始連接高權重優先Overhead=(activeconns+1+inactiveconns) x 256/weight 但是,當node1的權重為1,node2的權重為10,經過運算前幾次的調度都會被node2承接

4、NQ:Never Queue,第一輪均勻分配,后續SED

5、LBLC:Locality-Based LC,動態的DH算法,使用場景:根據負載狀態實現正向代理

6、LBLCR:LBLC with Replication,帶復制功能的LBLC,解決LBLC負載不均衡問題,從負載重的復制 到負載輕的RS

3.FO(Weighted Fai Over)調度算法:常用作灰度發布

在此FO算法中,遍歷虛擬服務所關聯的真實服務器鏈表,找到還未過載(未設置IP_VS_DEST_F OVERLOAD標志)的且權重最高的真實服務器,進行調度

當服務器承接大量鏈接,我們可以對此服務器進行過載標記(IP_VS_DEST_F OVERLOAD),那么vs調度 器就不會把鏈接調度到有過載標記的主機中。

4.OVF(Overflow-connection)調度算法

基于真實服務器的活動連接數量和權重值實現。將新連接調度到權重值最高的真實服務器,直到其活動 連接數量超過權重值,之后調度到下一個權重值最高的真實服務器,在此OVF算法中,遍歷虛擬服務相關 聯的真實服務器鏈表,找到權重值最高的可用真實服務器。一個可用的真實服務器需要同時滿足以下條 件:

未過載(未設置IP_VS_DEST_F OVERLOAD標志)

真實服務器當前的活動連接數量小于其權重值

其權重值不為零

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89894.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89894.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89894.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AR巡檢和傳統巡檢的區別

隨著工業4.0時代的到來,數字化轉型逐漸成為各行各業提升效率、保障安全和降低成本的關鍵。而在這一轉型過程中,巡檢工作作為確保設備穩定運行的重要環節,逐步從傳統方式走向智能化、數字化。尤其是增強現實(AR)技術的引…

Axure設計設備外殼 - AxureMost 落葵網

在UI設計中,設備外殼(硬件外殼與界面中的“虛擬外殼”)和背景是構成視覺體驗的核心元素,它們不僅影響美觀,更直接關聯用戶對功能的理解和操作效率。以下從設計角度詳細解析其作用與使用邏輯: 一、設備外殼&…

基于深度學習的電信號分類識別與混淆矩陣分析

基于深度學習的電信號分類識別與混淆矩陣分析 1. 引言 1.1 研究背景與意義 電信號分類識別是信號處理領域的重要研究方向,在醫療診斷、工業檢測、通信系統等多個領域有著廣泛的應用。傳統的電信號分類方法主要依賴于手工提取特征和淺層機器學習模型,但這些方法往往難以捕捉…

Git 和Gitee遠程連接 上傳和克隆

第一步創建遠程庫第二步初始化本地庫創建鏈接刪掉.idea 和target(這兩個沒用運行就自動生成了)右鍵空白處選擇Git Bash Here 初始化本地庫git init建立遠程連接建立連接這里是我的地址,后面拼接你的地址git remote add origin https://gitee.com/liu-qing_liang/git…

零基礎100天CNN實戰計劃:用Python從入門到圖像識別高手

一、為什么你需要這份100天CNN學習計劃? 在人工智能領域,卷積神經網絡(CNN) 是計算機視覺的基石技術。無論是人臉識別、醫學影像分析還是自動駕駛,CNN都扮演著核心角色。但對于初學者來說,面對復雜的數學公…

Python Matplotlib中的fontdict參數說明

文章目錄 1 fontdict 參數的常用屬性 1.1 使用示例 1.2 其他注意事項 1.3 結合其他參數 各位老板好, 在 Python 的 Matplotlib 庫中,fontdict 參數用于定義文本屬性的字典。這些屬性包括字體大小、顏色、樣式等,主要用于控制標題、標簽和其他文本元素的顯示效果。通過將 font…

25數據庫三級備考自整理筆記

備考策略:博主是邊做題邊學習知識點的,從每個章節->每套真題的流程,知識點清晰詳細,喜歡的請點個關注和收藏,祝大家考試順利,必過必過必過!一、數據庫應用系統開發方法1.數據庫的三級模式&am…

文娛投資的逆勢突破:博派資本的文化旅游綜合體戰略

在多數資本因“變現難、政策風險、退出緩慢”等問題紛紛撤離文娛賽道時,博派資本創始人鄭蘭卻選擇逆勢而上,聚焦線下文化消費,并推出了全新的文化旅游綜合體戰略。鄭蘭深刻認為,2025年將成為區域經濟和文化產業復蘇的關鍵節點。她…

「日拱一碼」033 機器學習——嚴格劃分

目錄 簡單隨機劃分(train_test_split) 分組劃分(Group Splitting) 簡單分組劃分 (Group Splitting) 分層分組劃分 (Stratified Group Splitting) 交叉驗證法(Cross-Validation) 分組K 折交叉驗證&…

ASP.NET Core Web API 中集成 DeveloperSharp.RabbitMQ

文章目錄前言一、核心特性與設計理念極簡API設計二、使用步驟1.配置 RabbitMQ 連接(配置文件設置)2.發送消息(在 Controller 中)3.消費消息(后臺服務)4.注冊托管服務三、消息生命周期控制四、高級用法延時隊…

解決Flutter運行android提示Deprecated imperative apply of Flutter‘s Gradle plugins

文章目錄 出現場景 解決方案 編輯android/settings.gradle 編輯android/build.gradle 重新定義庫變量 編輯android/app/build.gradle 刪除fluttetRoot和plugin字段 添加plugins塊 修改dependencies 出現場景 ado@adodeMacBook-Air app_demo % flutter run --profile Launching…

音視頻重回顧及nat內網穿透相關再整理筆記

以前系統得粗略對音視頻有過技術棧基類,現在重新回顧。 除此之外,最近剛好實現一個雙網卡加入內網的測試方案,涉及內網穿透的知識,剛好對內網穿透邏輯進行整理。 1:明確相關基礎知識,解惑體系架構。2&#…

深入理解 SemaphoreSlim 在.NET Core API 開發中的應用

目錄 什么是 SemaphoreSlim SemaphoreSlim 的核心方法 構造函數 等待方法 釋放方法 基本使用模式 同步使用模式 異步使用模式(推薦在 API 中使用) 在 Web 開發中的常見用途 1. 限制 API 接口的并發請求數 2. 保護共享資源的并發訪問 3. 控制…

板凳-------Mysql cookbook學習 (十二--------4)

11.0 概述 386 11.1 使用LOAD DATA和mysqlimport導入數據 390 首先創建 mytbl_3 表(結構與 mytbl 相同):sql CREATE TABLE mytbl_3 LIKE mytbl;用文本編輯器(如 Notepad)打開 mytbl.txt,確保格式轉換成wind…

【Git#6】多人協作 企業級開發模型

一、多人協作 1. 同一分支下的協作 目前,我們所完成的工作如下: 基本完成 Git 的所有本地庫的相關操作,git基本操作,分支理解,版本回退,沖突解決等等申請碼云賬號,將遠端信息clone到本地&…

C# 中的強大運算符

C# 中鮮為人知的強大運算符 C# 還提供了一些"冷門"但功能強大的運算符,這些運算符在特定場景下能極大簡化代碼并提高效率。 1. 空合并賦值運算符 ?? // 傳統寫法 if (variable null) {variable defaultValue; }// 使用 ?? variable ?? defaultVal…

用window字體替換zabbix 默認的字體

我們先需要在windows系統下的C:\Windows\Fonts目錄,找到一個喜歡的字體,我選擇的是微軟雅黑。復制到其它路徑下,選取一個msyh.ttc。到服務器上。要把msyh.ttc改為msyh.ttf才可以。不然最后中英文都不顯示[roothadoop105.yinzhengjie.com ~]# …

MySQL 17 如何正確地顯示隨機消息?

假設有一個場景,一個英語學習APP首頁有一個隨機顯示單詞的功能,用戶每次訪問首頁的時候,都會隨機滾動顯示三個單詞。 已知表里有10000條記錄,來看看隨機選擇3個單詞有什么方法,又存在什么問題。 建表語句&#xff1a…

7-Zip 曝出兩個可導致拒絕服務的中危漏洞

研究人員在全球使用最廣泛的開源文件壓縮軟件7-Zip中新發現兩個漏洞(CVE-2025-53816和CVE-2025-53817)。這兩個漏洞影響7-Zip 25.0.0之前的所有版本,雖然不能實現遠程代碼執行,但可能引發內存損壞和拒絕服務(Denial of…

史上最簡單Conda+Ollama+Open-Webui安裝方法!

史上最簡單CondaOllamaOpen-Webui安裝方法 一、安裝Anaconda 1、到Anaconda官網下載conda_24.10.1 鏈接:https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Windows-x86_64.exe 2.雙擊安裝包,開始安裝 選擇All Users 切記安裝路徑不要選C盤&am…