LVS-DR 負載均衡群集

目錄

一、LVS-DR集群

1、LVS-DR 工作原理

2、數據包流向分析

3、LVS-DR 模式特點

二、直接路由模式(LVS-DR)

1、準備案例環境

2、配置負載調度器(101)

(1)配置虛擬IP 地址(VIP)

(2)配置負載分配策略

3、配置節點服務器(102/103)

(1)配置虛擬IP地址(VIP)

(2)調整proc 響應參數

(3)安裝httpd,創建測試網頁

4、測試LVS群集


一、LVS-DR集群

LVS-DR(Linux Virtual Server Director Server)工作模式,是生產環境中最常用的工作模式之一。

1、LVS-DR 工作原理

LVS-DR 模式,Director Server 作為群集的訪問入口,不作為網關使用,節點 Director Server 與 Real Server 需要在同一個網絡中,返回給客戶端的數據不需要經過 Director Server。為了響應對整個群集的訪問,DirectorServer 與 Real Server 都需要配置 VIP 地址。

2、數據包流向分析

以下為數據包流向分析步驟:

(1)客戶端發送請求到 Director Server,請求的數據報文(源 IP 是 CIP,目標IP 是 VIP) 到達內核空間。

(2)Director Server 和 Real Server 在同一個網絡中,數據通過二層數據鏈路層來傳輸。

(3)內核空間判斷數據包的目標IP是本機 VIP,此時 IPVS 比對數據包請求的服務是否是集群服務,是集群服務就重新封裝數據包。修改源MAC地址為Director Server 的 MAC 地址,修改目標 MAC 地址為 Real Server 的 MAC 地址,源 IP 地址與目標 IP地址沒有改變,然后將數據包發送給 Real Server。

(4)到達 Real Server 的請求報文的 MAC 地址是自身的 MAC 地址,就接收此報文。數據包重新封裝報文(源IP地址為VIP,目標IP為CIP),將響應報文通過 lo?接口傳送給物理網卡然后向外發出。

(5)Real Server 直接將響應報文傳送到客戶端。

3、LVS-DR 模式特點

  • Director Server 和 Real Server 必須在同一個物理網絡中。
  • Real Server 可以使用私有地址,也可以使用公網地址。如果使用公網地址可以通過互聯網對 RIP 進行直接訪問。
  • 所有的請求報文經由 Director Server,但回復響應報文不能經過 Director Server。
  • Real Server 的網關不允許指向 Director Server IP,即不允許數據包經d Director Server.
  • Real Server 上的 lo 接口配置 VIP 的 IP 地址。

二、直接路由模式(LVS-DR)

1、準備案例環境

在 DR 模式的群集中,LVS 負載調度器作為群集的訪問入口,但不作為網關使用;服務器池中的所有節點都各自接入 Internet,發送給客戶機的 Web 響應數據包不需要經過 LVS 負載調度器。

這種方式入站、出站訪問數據被分別處理,因此LVS負載調度器和所有的節點服務器都需要配置 VIP地址,以便響應對整個群集的訪問。考慮到數據存儲的安全性,共享存儲設備會放在內部的專用網絡中。

主機

操作系統

IP地址

應用

lvs(101)

openEuler 24.03

ens160:192.168.10.101/24

ens160:0:192.168.10.172/24

ipvsadm

web1(102)

openEuler 24.03

ens160:192.168.10.102/24

lo:0:192.168.10.172/32

httpd

web2(103)

openEuler 24.03

ens160:192.168.10.103/24

lo:0:192.168.10.172/32

httpd

客戶機(105)

openEuler 24.03

192.168.10.105

注:LVS-DR也可以使用NFS共享功能,可在上一章的文章中查看,本文不再贅述

2、配置負載調度器(101)

(1)配置虛擬IP 地址(VIP)

采用虛接口的方式(ens160:0),為網卡ens33綁定VIP地址,以便響應群集訪問。

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens160 ifcfg-ens160:0vim ifcfg-ens160:0
NAME=ens160:0
DEVICE=ens160:0
IPADDR=192.168.10.172
nmcli c reload
nmcli c up ens160

(2)配置負載分配策略

ipvsadm -C    #清除原有策略
ipvsadm -A -t 192.168.10.172:80 -s wrr
ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.102 -g -w 1
ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.103 -g -w 2
ipvsadm-save -nipvsadm-save > /etc/sysconfig/ipvsadm    #保存策略systemctl enable ipvsadm

3、配置節點服務器(102/103)

使用 DR 模式時,節點服務器也需要配置 VIP 地址,并調整內核的 ARP 響應參數以阻止更新 VIP 的 MAC 地址,避免發生沖突。除此以外,Web 服務的配置與 NAT 方式類似。

(1)配置虛擬IP地址(VIP)

在每個節點服務器,同樣需要具有 VIP 地址 192.168.10.172,但此地址僅用作發送 Web 響應數據包的源地址,并不需要監聽客戶機的訪問請求(改由調度器監聽并分發)。因此使用虛接口 lo:0 來承載 VIP 地址,并為本機添加一條路由記錄,將訪問 VIP 的數據限制在本地,以避免通信紊亂。

ip addr add 192.168.10.172/32 dev lo label lo:0
ip route add local 192.168.10.172/32 dev lo
或
vim /etc/rc.local    #在文件中添加
ip addr add 192.168.10.172/32 dev lo label lo:0
ip route add local 192.168.10.172/32 dev lochmod +x /etc/rc.local    #給權限
reboot    #重啟
ifconfig    #查看是否已有lo:0

(2)調整proc 響應參數

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 = 2sysctl -p    #重新加載sysctl.conf文件,查看是否有錯誤

(3)安裝httpd,創建測試網頁

dnf -y install httpdecho "test1/2" >/var/www/html/index.html    #修改102/103的網頁內容
systemctl start httpd    #啟動httpd服務程序
systemclt enable httpdsystemctl stop firewalld
setenforce 0
systemctl disable firewalld

4、測試LVS群集

[root@bogon ~]# curl 192.168.10.172
test1
[root@bogon ~]# curl 192.168.10.172
test2
[root@bogon ~]# curl 192.168.10.172
test2
[root@bogon ~]# curl 192.168.10.172
test1
[root@bogon ~]# curl 192.168.10.172
test2
[root@bogon ~]# curl 192.168.10.172
test2

然后可以在101負載調度器中,查看節點狀態觀察當前的負載分配情況。

[root@bogon ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.10.172:80 wrr-> 192.168.10.102:80            Route   1      0          6         -> 192.168.10.103:80            Route   2      0          10        

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

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

相關文章

提升 GitHub Stats 的 6 個關鍵策略

哈哈,GitHub 的 “B-” 評級 其實是個玄學問題,但確實有一些 快速提升的技巧!你的數據看起來 提交數(147)和 PR(9)不算少,但 Stars(21)和貢獻項目數&#xff…

常見的垃圾回收算法原理及其模擬實現

1.標記 - 清除(Mark - Sweep)算法: 這是一種基礎的垃圾回收算法。首先標記所有可達的對象,然后清除未被標記的對象。 缺點是會產生內存碎片。 原理: 如下圖分配一段內存,假設已經存儲上數據了 標記所有…

卷積神經網絡(CNN):原理、架構與實戰

卷積神經網絡(CNN):原理、架構與實戰 卷積神經網絡(Convolutional Neural Network, CNN)是深度學習領域的一項重要突破,特別擅長處理具有網格結構的數據,如圖像、音頻和視頻。自 2012 年 AlexN…

RabbitMQ 集群與高可用方案設計(二)

三、為什么需要集群與高可用方案 (一)業務需求驅動 隨著業務的快速發展和用戶量的急劇增長,系統面臨的挑戰也日益嚴峻。在這種情況下,對消息隊列的可靠性、吞吐量和負載均衡能力提出了更高的要求,而單機部署的 Rabbi…

《ChatGPT o3抗命:AI失控警鐘還是成長陣痛?》

ChatGPT o3 “抗命” 事件起底 在人工智能的飛速發展進程中,OpenAI 于 2025 年推出的 ChatGPT o3 推理模型,猶如一顆重磅炸彈投入了技術的海洋,激起千層浪。它被視為 “推理模型” 系列的巔峰之作,承載著賦予 ChatGPT 更強大問題解…

RK3568DAYU開發板-平臺驅動開發:I2C驅動(原理、源碼、案例分析)

1、程序介紹 本程序是基于OpenHarmony標準系統編寫的平臺驅動案例:I2C 系統版本:openharmony5.0.0 開發板:dayu200 編譯環境:ubuntu22 部署路徑: //sample/04_platform_i2c 2、基礎知識 2.1、I2C簡介 I2C(Inter Integrated Circuit&a…

在UniApp中開發微信小程序實現圖片、音頻和視頻下載功能

隨著微信小程序的迅猛發展,越來越多的開發者選擇通過UniApp框架來進行跨平臺應用開發。UniApp能夠讓開發者在一個代碼庫中同時發布iOS、Android和小程序等多平臺應用。而在實際開發過程中,很多應用都需要實現一些常見的下載功能,例如圖片、音…

鴻蒙5.0項目開發——接入有道大模型翻譯

鴻蒙5.0項目開發——接入有道大模型翻譯 【高心星出品】 項目效果圖 項目功能 文本翻譯功能 支持文本輸入和翻譯結果顯示 使用有道翻譯API進行翻譯 支持自動檢測語言(auto) 支持雙向翻譯(源語言和目標語言可互換) 文本操作…

Vim 中設置插入模式下輸入中文

在 Vim 中設置插入模式下輸入中文需要配置輸入法切換和 Vim 的相關設置。以下是詳細步驟: 1. 確保系統已安裝中文輸入法 在 Linux 系統中,常用的中文輸入法有: IBus(推薦):支持拼音、五筆等Fcitx&#xf…

湖北理元理律師事務所:債務優化中的“生活錨點”設計

在債務重組領域,一個常被忽視的核心矛盾是:還款能力與生存需求的沖突。過度壓縮生活支出還債,可能導致收入中斷;放任債務膨脹,又加劇精神壓力。湖北理元理律師事務所通過“三步平衡法”,嘗試在法理框架內破…

Prometheus + Grafana 監控常用服務

一、引言 Prometheus監控常見服務的原理主要包括服務暴露指標和Prometheus抓取指標。一方面,被監控服務通過自身提供的監控接口或借助Exporter將服務的性能指標等數據以HTTP協議的方式暴露出來;另一方面,Prometheus根據配置好的采集任務&…

基于YOLOv8 的分類道路目標系統-PyTorch實現

本文源碼: https://download.csdn.net/download/shangjg03/90873939 1. 引言 在智能交通和自動駕駛領域,道路目標分類是一項關鍵技術。通過對攝像頭捕獲的圖像或視頻中的目標進行分類識別,可以幫助車輛或系統理解周圍環境,做出更安全的決策。本教程將介紹如何使用 PyTorch …

知識圖譜:AI時代語義認知的底層重構邏輯

在生成式人工智能(GEO)的技術架構中,知識圖譜已從輔助性工具演變為驅動機器認知的核心神經中樞。它通過結構化語義網絡的重構,正在突破傳統數據處理的線性邏輯,建立機器對復雜業務場景的深度理解能力。 一、語義解構&a…

如何使用 Python 的膠水語言特性

Python 作為“膠水語言”最核心的特性在于:跨語言集成能力強、支持豐富的 C/C 擴展模塊、嵌入式調用簡便、適配多種數據交換格式、擁有強大的封裝能力。其中,Python 對 C/C 模塊的快速封裝能力,使其能夠將底層高性能庫暴露為易用接口&#xf…

[網頁五子棋][匹配模塊]服務器開發、用戶管理器(創建匹配請求/響應對象、處理連接成功、處理下線)

文章目錄 MatchAPI 類用戶管理器創建匹配請求/響應對象處理連接成功—afterConnectionEstablished處理下線——handleTransportError/afterConnectionClosed MatchAPI 類 創建 api.MatchAPI,繼承自 TextWebSocketHandler 作為處理 WebSocket 請求的入口類 準備好一…

軟件測試的潛力與挑戰:從“質量守門員”到“工程效能催化劑”的進化

1. 潛力:為什么軟件測試的未來比想象中更廣闊? ? 行業趨勢驅動需求爆發 DevOps/持續交付:測試成為流水線的核心環節,自動化能力直接影響發布頻率(案例:某頭部互聯網企業日均發布100次,依賴自動…

indel_snp_ssr_primer

好的,我們可以逐步分析這個 Perl 腳本的每個部分。腳本的主要功能是基于給定的 VCF 文件和參考基因組文件,設計引物并進行電子 PCR(e-PCR)分析。我們將從腳本的頭部和初始化部分開始講解。 第一部分:腳本頭部和初始化…

2.4GHz 射頻前端芯片AT2401C

射頻前端芯片作為無線通信系統的核心組件,涵蓋功率放大器(PA)、濾波器、開關、低噪聲放大器(LNA)等關鍵器件,其性能直接影響通信質量、功耗及信號穩定性。 AT2401C是一款面向 Zigbee,無線傳感網…

Batch Normalization[[

error surface如果很崎嶇,那么就代表比較難train,我們有沒有辦法去改變這個landscape呢 可以用batch normalization. 如果 ( x_1 ) 的取值范圍很小(如 1, 2),而 ( x_2 ) 的取值范圍很大(如 100, 200),那么…

c++結構化綁定

author: hjjdebug date: 2025年 05月 28日 星期三 15:57:58 CST descrip: c結構化綁定: 結構化綁定: 名稱辨析: 名稱叫綁定好還是叫解綁好? 解綁意思是原來是一個整體,現在被分成了若干個部分,所以叫解. 綁定強調的意思是. 被分解的某個變量,綁定到了整體的某個變量…