DR模式 LVS負載均衡群集

數據包流向分析:
(1)客戶端發送請求到 Director Server(負載均衡器),請求的數據報文(源 IP 是 CIP,目標 IP 是 VIP)到達內核空間。
(2)Director Server 和 Real Server 在同一個網絡中,數據通過二層數據鏈路層來傳輸。
(3)內核空間判斷數據包的目標IP是本機VIP,此時IPVS(IP虛擬服務器)比對數據包請求的服務是否是集群服務,是集群服務就重新封裝數據包。修改源 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 直接將響應報文傳送到客戶端。

DR 模式的特點:
(1)Director Server 和 Real Server 必須在同一個物理網絡中。
(2)Real Server 可以使用私有地址,也可以使用公網地址。如果使用公網地址,可以通過互聯網對 RIP 進行直接訪問。
(3)Director Server作為群集的訪問入口,但不作為網關使用。
(4)所有的請求報文經由 Director Server,但回復響應報文不能經過 Director Server。
(5)Real Server 的網關不允許指向 Director Server IP,即Real Server發送的數據包不允許經過 Director Server。
(6)Real Server 上的 lo 接口配置 VIP 的 IP 地址。

總結arp?ignore=1

控制系統在接收到ARP廣播請求報文時,是否返回ARP響應報文
1的作用 只響應目的IP地址接受網卡上的本地的ARP請求

防止網關路由發送ARP廣播時調度器和節點服務都會進行響應導致ARP緩存表混亂,不對費本地物理網卡ARP請求僅響應,因為 VIP是承載lo:0

arp_annonuce=2

系統不會使用響應數據包的源ip地址(vip)來作為本機進行的ARP請求報文的源ip地址,而使用發送報文的物理網卡IP地址,作為ARP請求的報文源IP地址,這樣我們就可以防止網關路由器收到的源IP地址為vip的ARP請求的報文后又更新ARP緩存表,導致外網在發送請求時,到達不了調度器.

DR模式 LVS負載均衡群集部署

環境:

DR 服務器:192.168.88.20
NFS服務器:192.168.88.22
Web 服務器1:192.168.88.23 ? ? ?
Web 服務器2:192.168.88.24 ? ? ? ? ?
vip:192.168.88.180
客戶端:192.168.88.67

1.配置負載調度器(192.168.88.20)

?

?

(1)配置虛擬 IP 地址(VIP:192.168.88.180)??

??

?

(2)調整 proc 響應參數
#由于 LVS 負載調度器和各節點需要共用 VIP 地址,需要關閉 icmp 的重定向,不充當路由器

??

(3)配置負載分配策略

?

?

?

?

?2.部署共享存儲(NFS服務器:192.168.88.22)

?

3.配置節點服務器(192.168.88.23、192.168.88.24) ??

?

(1)配置虛擬 IP 地址(VIP:192.168.10.180)
#此地址僅用作發送 Web響應數據包的源地址,并不需要監聽客戶機的訪問請求(改由調度器監聽并分發)。因此使用虛接口 lo∶0 來承載 VIP 地址,并為本機添加一條路由記錄,將訪問 VIP 的數據限制在本地,以避免通信紊亂。

?

?

?

?

?

?(2)調整內核的 ARP 響應參數以阻止更新 VIP 的 MAC 地址,避免發生沖突

?

?

?4.測試 LVS 群集
在客戶端使用瀏覽器訪問 http://192.168.88.180/

?

?

?

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

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

相關文章

Docker 網絡

目錄 Docker 網絡實現原理 Docker 的網絡模式: 網絡模式詳解: 1.host模式 2.container模式 3.none模式 4.bridge模式 5.自定義網絡 Docker 網絡實現原理 Docker使用Linux橋接&#x…

Linux下如何修改CPU 電源工作模式

最近處理一起歷史遺留問題,感覺很爽。 現象: 背景:設備采用ARM,即rk3568處理器,采用Linux系統;主要用于視覺后端處理 現象:當軟件運行一段時間,大概1個小時(也不是很固定…

考研算法第46天: 字符串轉換整數 【字符串,模擬】

題目前置知識 c中的string判空 string Count; Count.empty(); //正確 Count ! null; //錯誤c中最大最小宏 #include <limits.h>INT_MAX INT_MIN 字符串使用發運算將字符加到字符串末尾 string Count; string str "liuda"; Count str[i]; 題目概況 AC代碼…

國內的PMP有多少含金量?

1.PMP是什么 PMP&#xff08;Project Management Professional&#xff09;指項目管理專業人士資格認證。它是由美國項目管理協會&#xff08;PMI&#xff09;舉辦的項目管理專業人員&#xff08;PMP&#xff09;認證考試&#xff0c;在全球190多個國家和地區推廣&#xff0c;…

vue 數字遞增(滾動從0到)

使用 html <Incremental :startVal"0" :endVal"1000" :duration"500" />js&#xff1a; import Incremental from /utils/num/numViewjs let lastTime 0 const prefixes webkit moz ms o.split( ) // 各瀏覽器前綴let requestAnimatio…

[C++] string類的介紹與構造的模擬實現,進來看吧,里面有空調

文章目錄 1、string類的出現1.1 C語言中的字符串 2、標準庫中的string類2.1 string類 3、string類的常見接口說明及模擬實現3.1 string的常見構造3.2 string的構造函數3.3 string的拷貝構造3.4 string的賦值構造 4、完整代碼 1、string類的出現 1.1 C語言中的字符串 C語言中&…

「Qt」文件讀寫操作

0、引言 我們知道 C 和 C 都提供了文件讀寫的類庫&#xff0c;不過 Qt 也有一套自己的文件讀寫操作&#xff1b;本文主要介紹 Qt 中進行文件讀寫操作的類 —— QFile。 1、QFileDialog 文件對話框 一般的桌面應用程序&#xff0c;當我們想要打開一個文件時&#xff0c;通常會彈…

php+echarts實現數據可視化實例

效果&#xff1a; 代碼&#xff1a; php <?php include(includes/session.inc); include(includes/SQL_CommonFunctions.inc); ?> <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv&quo…

OpenLayers入門,OpenLayers加載google街景地圖

專欄目錄: OpenLayers入門教程匯總目錄 前言 本章講解OpenLayers加載google街景地圖,無需科學上網,也可以正常訪問瓦片。 二、依賴和使用 "ol": "^6.15.1"使用npm安裝依賴npm install ol@6.15.1使用Yarn安裝依賴yarn add olvue中如何使用: vue項…

FastApi-1-結合sql 增/查demo

目錄 FastAPI學習記錄項目結構部分接口/代碼展示感受全部代碼 FastAPI學習記錄 fastapi已經學習有一段時間&#xff0c;今天抽時間簡單整理下。 官網介紹&#xff1a; FastAPI 是一個用于構建 API 的現代、快速&#xff08;高性能&#xff09;的 web 框架&#xff0c;使用 Py…

SpringBoot的配置文件以及日志設置

在使用SpringBoot開發的過程中我們通常會用到配置文件來設置配置信息 以及使用日志來進行記錄我們的操作&#xff0c;方便我們對錯誤的定位 配置文件的作用在于&#xff1a;設置端口&#xff0c;設置數據庫連接信息&#xff0c;設置日志等等 在SpringBoot中&#xff0c;配置…

Linux系統編程:通過System V共享內存實現進程間通信

目錄 一. 共享內存實現進程間通信的原理 二. 共享內存相關函數 2.1 共享內存的獲取 shmget / ftok 2.2 共享內存與進程地址空間相關聯 shmat 2.3 取消共享內存與進程地址空間的關聯 shmdt 2.4 刪除共享內存 shmctl 2.5 通信雙方創建共享內存代碼 三. 共享內存實現進程間…

承接各種設計

小弟985研究生畢業&#xff0c;目前攻讀讀博士&#xff0c;可做各種設計&#xff0c;包括但不限于Matlab 電力電子/電氣工程&#xff0c;matlab/simulink 電氣專業仿真MATLAB 電氣工程專業&#xff0c;matlab建模 電力電子&#xff0c;電氣工程&#xff0c;電力系統&#xff0c…

vue echarts macd指標 完整代碼

1 邏輯 給指定的series兩個對象 兩個對象有相同的xAxisIndex: 2,yAxisIndex: 2, 不同的data {name: "",type: "line",data: data1,xAxisIndex: 2,yAxisIndex: 2,},{name: "",type: "bar",data: data2,xAxisIndex: 2,yAxisIndex: 2,},…

Mac M2 Pro安裝使用Cocoapods

Mac Pro M2安裝使用Cocoapods 在新公司要做iOS開發&#xff0c;所以在新電腦上安裝Cocoapods 在升級gem&#xff0c;sudo gem update --system&#xff0c;和安裝cocoapods時都遇到如下的提示&#xff1a; ERROR: While executing gem ... (Errno::EPERM)Operation not per…

Linux下安裝nodejs

1、下載nodejs 點擊前往&#xff1a;Download | Node.js 2、解壓 tar -xvf node-v18.16.0-linux-x64.tar.xz mv node-v18.16.0-linux-x64/ /usr/local/nodejs 3、 建立軟鏈接 此時的bin文件夾中已經存在node以及npm&#xff0c;如果你進入到對應文件的中執行命令行一點問題…

現代C++:使用 shared_from_this 防止 this 提前被釋放

首先概括一下shared_from_this的作用&#xff1a;可以在類的成員函數中直接通過this得到指向當前所在對象的shared_ptr的智能指針&#xff0c;具體操作如下。 使用方法 設需要提供shared_from_this方法的類為C0定義為類&#xff0c;首先需要將C0定義為 std::enable_shared_fr…

mysql 02 數據庫的約束

為防止錯誤的數據被插入到數據表&#xff0c;MySQL中定義了一些維護數據庫完整性的規則&#xff1b;這些規則常稱為表的約束。常見約束如下&#xff1a; 主鍵約束 主鍵約束即primary key用于唯一的標識表中的每一行。被標識為主鍵的數據在表中是唯一的且其值不能為空。這點類似…

前后端分離------后端創建筆記(10)用戶修改

本文章轉載于【SpringBootVue】全網最簡單但實用的前后端分離項目實戰筆記 - 前端_大菜007的博客-CSDN博客 僅用于學習和討論&#xff0c;如有侵權請聯系 源碼&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…

Spring Boot實現第一次啟動時自動初始化數據庫流程詳解

隨著互聯網的發展項目中的業務功能越來越復雜&#xff0c;有一些基礎服務我們不可避免的會去調用一些第三方的接口或者公司內其他項目中提供的服務&#xff0c;但是遠程服務的健壯性和網絡穩定性都是不可控因素。 在測試階段可能沒有什么異常情況&#xff0c;但上線后可能會出…