Linux服務之lvs集群與dr模式部署

目錄

一.lvs相關概述

1.lvs集群的工作模式

2.lvs調度算法

3.ipvsadm工具

二.DR模式部署


一.lvs相關概述

1.lvs集群的工作模式

  • lvs-nat:修改請求報文的目標IP,多目標IP的DNAT ? ?
  • lvs-dr:操縱封裝新的MAC地址(直接路由)
  • lvs-tun:隧道模式
  • lvs-fullnat:修改請求報文的源和目標IP

2.lvs調度算法

根據其調度時是否考慮各RS當前的負載狀態分為兩種:

靜態方法: 不管后端真實服務器的 狀態,根據自身 ?算法進行調度

動態方法: 會根據后端服務器的狀態來進行調度

僅根據算法本身進行調度

靜態:

1、RR:roundrobin,輪詢,較常用?

2、WRR:Weighted RR,加權輪詢,較常用 先算總權重再用自己的權重去除以總權重

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

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

動態:Overhead ? ?一個參考值來確定服務器是否忙這個值越小代表服務器越閑就會優先調度給閑的服務器

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

1、LC:least connections 適用于長連接應用 ? ?最小連接數 ? ?不考慮權重
Overhead=activeconns*256+inactiveconns

active ? 活動連接
inactive 非活動連接
?

2、WLC:Weighted LC,默認調度方法,較常用 默認調度加權最小連接數第一輪不合理?
Overhead=(activeconns*256+inactiveconns)/weight
?

3、SED:Shortest Expection Delay,初始連接高權重優先,只檢查活動連接,而不考慮非活動連接 ? 權重小的空閑的
Overhead=(activeconns+1)*256/weight
?

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

5、LBLC:Locality-Based LC,動態的DH算法,使用場景:根據負載狀態實現正向代理,實現Web Cache等 ? ?檢查 后端服務器忙不忙

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

3.ipvsadm工具

常用選項及說明:

-A: 添加虛擬服務器
-D: 刪除整個虛擬服務器
-s: 指定負載調度算法(輪詢: rr、加權輪詢: wrr、最少連接: lc、加權最少連接: wlc ?默認的 )
-a: 添加真實服務器(節點服務器)
-d: 刪除某一個節點
-t: 指定VIP地址及TCP端口
-r: 指定RIP地址及TCP端口
-m: 表示使用NAT群集模式
-g: 表示使用DR模式
-i: 表示使用TUN模式
一w: 設置權重(權重為0時表示暫停節點)
-p 60: 表示保持長連接60秒
-l: 列表查看 LVS虛擬服務器(默認為查看所有)
-n: 以數字形式顯示地址、端口等信息,常與"-l“選項組合使用。ipvsadm -ln

二.DR模式部署

調度器 ? - ubunutu ?2204?
apt ? update
apt ? install ? ? ipvsadm ?-y

ifconfig ?ens33:0 192.168.91.188/24 ? ? #添加虛擬ip

ipvsadm -A -t 192.168.91.188:80 -s rr
ipvsadm -a -t 192.168.91.188:80 -r 192.168.91.100:80 -g
ipvsadm -a -t 192.168.91.188:80 -r 192.168.91.101:80 -g


ipvsadm ?-Ln

vim ?/etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0


sysctl -p


真實服務器1:
yum install ? epel-release ? -y
yum ?install ? nginx ?-y
systemctl ?start ?nginx?
echo ?"7-1" ? > ?/usr/share/nginx/html/index.html
vim ?/etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
sysctl -p


ifconfig ?ens33:0 192.168.91.188/24 ? ? #添加虛擬ip

真實服務器2:
yum install ? epel-release ? -y
yum ?install ? nginx ?-y
systemctl ?start ?nginx?
echo ?"7-2" ? > ?/usr/share/nginx/html/index.html
vim ?/etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
sysctl -p

ifconfig ?ens33:0 192.168.91.188/24 ? ? #添加虛擬ip


不要再集群內測試?
新打開一臺測試?
curl ? 192.168.91.188

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

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

相關文章

OFCMS代碼審計-freemaker注入sql注入xxexss文件上傳

環境搭建 下載地址&#xff1a;https://gitee.com/oufu/ofcms/repository/archive/V1.1.2?formatzip SSTI模板注入&#xff08;freemaker) FreeMarker模板注入實現遠程命令執行 - Eleven_Liu - 博客園 在admin中找到這個 發現請求的是這個 找到他 <#assign value"f…

一鍵部署NSFW檢測模型:快速識別并過濾敏感圖片內容

以下是對nsfw_detector的簡單介紹&#xff1a; nsfw_detector是一個 NSFW 內容檢測器&#xff0c;支持快速docker私有部署&#xff0c;提供API服務低資源消耗&#xff0c;2GB內存即可運行該模型&#xff0c;多核CPU自動調度加速推理 - 可以識別多種文件類型&#xff1a;圖片、…

【Redis】緩存穿透、緩存雪崩、緩存擊穿

1.緩存穿透 是指客戶端請求的數據在緩存中和數據庫中都不存在&#xff0c;這樣緩存永遠不會生效&#xff0c;導致請求直接穿透緩存到達數據庫&#xff0c;給數據庫帶來壓力的情況。 常見的解決方案有兩種&#xff1a; 緩存空對象&#xff1a;實現簡單&#xff0c;維護方便&am…

【C】初階數據結構15 -- 計數排序與穩定性分析

本文主要講解七大排序算法之外的另一種排序算法 -- 計數排序 目錄 1 計數排序 1&#xff09; 算法思想 2&#xff09; 代碼 3&#xff09; 時間復雜度與空間復雜度分析 &#xff08;1&#xff09; 時間復雜度 &#xff08;2&#xff09; 空間復雜度 4&#xff09; 計…

mysql的一個缺點

最近再移植一個從oracle轉mysql的項目&#xff0c;喜提一個報錯&#xff1a; You cant specify target table A016 for update in FROM clause 對應的程序代碼&#xff1a; public void setCurrent(String setId, String pk, String userId) throws SysException {String[]…

Ubuntu 上安裝 FTP 服務、開放指定端口并創建用戶

一、安裝 FTP 服務&#xff08;vsftpd&#xff09; sudo apt update sudo apt install vsftpd -y二、修改 vsftpd 配置&#xff0c;使用 21000 端口 編輯配置文件&#xff1a; sudo nano /etc/vsftpd.conf修改或添加以下配置&#xff1a; 使用以下配置文件需要修改的地方:l…

用自寫的jQuery庫+Ajax實現了省市聯動

1. 省市聯動&#xff1a;在網頁上&#xff0c;選擇對應的省份之后&#xff0c;動態的關聯出該省份對應的市。選擇對應的市之后&#xff0c;動態地關聯出城市對應的區。 2. 設計數據庫表 t_area &#xff08;區域表&#xff09; id(PK-自增) code name pcode ------------…

【行為型之迭代器模式】游戲開發實戰——Unity高效集合遍歷與場景管理的架構精髓

文章目錄 &#x1f504; 迭代器模式&#xff08;Iterator Pattern&#xff09;深度解析一、模式本質與核心價值二、經典UML結構三、Unity實戰代碼&#xff08;背包系統遍歷&#xff09;1. 定義迭代器與聚合接口2. 實現具體聚合類&#xff08;背包物品集合&#xff09;3. 實現具…

18前端項目----Vue項目收尾優化|重要知識

收尾/知識點匯總 項目收尾二級路由未登錄全局路由守衛路由獨享守衛圖片懶加載路由懶加載打包上線 重要知識點匯總組件通信方式1. props2. 自定義事件3. 全局事件總線4. 訂閱與發布pubsub5. Vuex6. 插槽 sync修飾符attrs和listeners屬性children和parent屬性mixin混入作用域插槽…

【Linux】基礎指令(Ⅱ)

目錄 1. mv指令 2. cat指令 3.echo指令 補&#xff1a;輸出重定向 4. more指令 5. less指令 6. head指令和tail指令 7.date指令 時間戳&#xff1a; 8. cal指令 9. alias指令 10.grep指令 1. mv指令 語法&#xff1a;mv [選項]... 源文件/目錄 目標文件/目錄 …

docker及docker-compose安裝及使用

docker compose &#x1f517;官網地址 一、為什么要使用docker compose 1. 簡化管理 ? 通過一個 YAML 文件定義和管理多容器應用。 ? 簡化服務間的編排與協調&#xff0c;方便環境的管理與復制。 2. 提升協作效率 ? 配置文件易于共享&#xff0c;便于開發、運維等團隊協…

JVM學習專題(二)內存模型深度剖析

目錄 1.JVM結構體系 ?編輯 2.跨平臺特性 3.JVM整體結構及內存模型 1.棧內存 1、棧幀&#xff1a; 1.局部變量表 2.操作數棧 3.動態鏈接 4.方法出口 2、創建對象 2.程序計數器&#xff1a; 3.方法區 ?4.堆 5.本地方法區 6.總結 1.JVM結構體系 JDK、JRE 和 JVM…

Flink之Table API

Apache Flink 的 Table API 是 Flink 提供的一種高級抽象&#xff0c;用于以聲明式方式處理批處理和流處理數據。它是基于關系模型的 API&#xff0c;用戶可以像編寫 SQL 一樣&#xff0c;以簡潔、類型安全的方式編寫數據處理邏輯。 一、基本概念 1. 什么是 Table API&#xf…

基于Vue3.0的高德地圖api教程005:實現繪制線并編輯功能

文章目錄 6、繪制多段線6.1 繪制多段線6.1.1 開啟繪制功能6.1.2 雙擊完成繪制6.1.3 保存到數據庫6.2 修改多段線6.2.1 點擊線,進入編輯模式6.2.2 編輯線6.3 完整代碼6、繪制多段線 6.1 繪制多段線 6.1.1 開啟繪制功能 實現代碼: const changeSwitchDrawPolyline = ()=>…

“redis 目標計算機積極拒絕,無法連接” 解決方法,每次開機啟動redis

如果遇到以上問題 先打開“服務” 找到App Readiness 右擊-啟動 以管理員身份運行cmd&#xff0c;跳轉到 安裝redis的目錄 運行&#xff1a;redis-server.exe redis.windows.conf 以管理員身份打開另一cmd窗口&#xff0c;跳轉到安裝redis的目錄 運行&#xff1a;redis-…

Java 大視界——Java 大數據在智慧交通智能停車誘導系統中的數據融合與實時更新

面對城市停車資源錯配導致的30%以上交通擁堵問題&#xff0c;本文以某新一線城市智慧交通項目為藍本&#xff0c;深度解析Java大數據技術如何實現多源停車數據融合、動態路徑規劃與誘導策略優化。通過構建“感知-計算-決策”全鏈路系統&#xff0c;實現車位狀態更新延遲<200…

牛客周賽 Round 92(再現京津冀藍橋杯???)

1. 小紅的簽到題 現在小紅希望你寫出一個長度為 nnn 的、使用了下劃線命名法命名的變量。為了顯出特征&#xff0c;請保證該變量至少由兩個單詞組成。 輸入描述: 輸入一個正整數 n(3≦n≦100)&#xff0c;代表需要構造的變量長度。 輸出描述: 輸出一個長度為 n 的字符串&#x…

2025-05-11 Unity 網絡基礎11——UnityWebRequest

文章目錄 1 UnityWebRequest 介紹2 搭建 HTTP 服務器3 常用操作3.1下載資源3.1.1 下載文本3.1.2 下載圖片3.1.3 下載 AB 包 3.2 上傳資源3.2.1 上傳數據類3.2.2 POST 上傳3.3.3 PUT 上傳 4 自定義操作4.1 下載資源4.1.1 Unity 內置 Handler4.1.2 自定義 Handler 4.2 上傳資源4.…

GitHub 趨勢日報 (2025年05月09日)

本日報由 TrendForge 系統生成 https://trendforge.devlive.org/ &#x1f310; 本日報中的項目描述已自動翻譯為中文 &#x1f4c8; 今日整體趨勢 Top 10 排名項目名稱項目描述今日獲星總星數語言1voideditor/void? 1879? 15214TypeScript2ruanyf/weekly科技愛好者周刊&…

.NET MAUI 基礎知識

文章目錄 什么是 .NET MAUI&#xff1f;MAUI的核心特點與Xamarin.Forms的區別 開發環境搭建安裝Visual Studio 2022安裝必要組件配置Android開發環境配置iOS開發環境驗證安裝 創建第一個MAUI應用創建新項目MAUI項目結構解析理解關鍵文件運行應用程序簡單修改示例使用熱重載 MAU…