LVS-DR模型實例

一、LVS-DR集群介紹

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

1、LVS-DR 工作原理

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

2、 數據包流向分析

為方便進行原理分析,將Client與群集機器放在同一網絡中,數據包流經的路線為 1-2-3-4 四步

第一步:客戶端發送請求到 Director Server (負載均衡器),請求的數據報文到達內核空間。

此時請求的數據報文
源 IP —— 客戶端的 IP(CIP)
目標 IP —— VIP
源 MAC —— 客戶端的 MAC
目的 MAC —— Director Server 的 MAC

第二步:內核空間判斷數據包的目標 IP 是本機 VIP,此時 IPVS(IP 虛擬服務器)比對數據包請求的服務是否是集群服務,是集群服務就重新封裝數據包。然后將數據包發送給根據 負載均衡算法選擇的 Real Server。(Director Server 和 Real Server 在同一個網絡中,數據通過二層數據鏈路層來傳輸。)

此時請求的數據報文
源 IP —— 客戶端的 IP
目標 IP —— VIP
源 MAC —— Director Server 的 MAC
目的 MAC —— Real Server 的 MAC

第三步:到達 Real Server 的請求報文的 MAC 地址是自身的 MAC 地址,就接收此報文。數據包重新封裝報文,將響應報文通過 lo 接口傳送給物理網卡然后向外發出。

此時請求的數據報文
源 IP —— VIP
目標 IP —— 客戶端的 IP(CIP)
源 MAC —— Real Server 的 MAC
目的 MAC —— 客戶端的 MAC

第四步:通過交換機和路由器將響應報文傳送到客戶端。客戶端收到回復報文,得到想要的服務,但是不會知道是哪臺服務器處理的。

3、LVS-DR 模式的特點

Director Server 和 Real Server 必須在同一個物理網絡中。

Real Server 可以使用私有地址,也可以使用公網地址。如果使用公網地址,可以通過互聯網對RIP進行直接訪問。

所有的請求報文經由 Director Server,但回復響應報文不能經過 Director Server。

Real Server 的網關不允許指向 Director Server IP,即不允許數據包經過 Director S erver。

Real Server 上的 lo 接口配置 VIP 的 IP 地址。

4、LVS-DR中的ARP問題

4.1 問題一

在LVS-DR負載均衡集群中,負載均衡器與節點服務器都要配置相同的VIP地址,在局域網中具有相同的IP地址。勢必會造成各服務器ARP通信的紊亂

當ARP廣播發送到LVS-DR集群時,因為負載均衡器和節點服務器都是連接到相同的網絡上,它們都會接收到ARP廣播

只有前端的負載均衡器進行響應,其他節點服務器不應該響應ARP廣播

解決方法:

節點服務器進行處理,使其不響應針對VIP的ARP請求

使用虛接口lo:0承載VIP地址

設置內核參數arp_ ignore=1: 系統只響應目的IP為本地IP的ARP請求

4.2問題二

問題說明:RealServer返回報文(源IP是VIP)經路由器轉發,重新封裝報文時,需要先獲取路由器的MAC地址,發送ARP請求時,Linux默認使用IP包的源IP地址(即VIP)作為ARP請求包中的源IP地址,而不使用發送接口的IP地址,路由器收到ARP請求后,將更新ARP表項,原有的VIP對應Director的MAC地址會被更新為VIP對應RealServer的MAC地址。

路由器根據ARP表項,會將新來的請求報文轉發給RealServer,導致Director的VIP失效

解決方法:

節點服務器進行處理,設置內核參數arp_announce=2:系統不使用IP包的源地址來設置ARP請求的源地址,而選擇發送接口的IP地址

-----------------DR模式 LVS負載均衡群集部署-----------------------------------
DR 服務器:192.168.50.37? ? ?vip:192.168.50.38
Web 服務器1:192.168.50.56 ? ? ??
Web 服務器2:192.168.50.57 ? ? ? ? ?
客戶端:192.168.50.22? ? ??

二、構建LVS-DR集群

1.配置負載調度器(192.168.50.37 虛擬vip 192.168.50.38

???1. #關閉防火墻
??????systemctl stop firewalld.service
??????setenforce 0
???2. #安裝ipvsadm工具
??????yum -y install ipvsadm
???3. #配置虛擬IP地址(VIP:192.50.38)
??????cd /etc/sysconfig/network-scripts/
??????cp ifcfg-ens33 ifcfg-ens33:0
??????vim ifcfg-ens33:0
??????#刪除UUID,dns與網關,注意子網
??????NAME=ens33:0
??????DEVICE=ens33:0
??????IPADDR=192.168.50.38
??????NETMASK=255.255.255.255


???4. #重啟網絡服務、啟動網卡
??????systemctl restart network
??????ifup ifcfg-ens33:0
???5. #調整/proc響應參數 ??
??????#對于 DR 群集模式來說,由于 LVS 負載調度器和各節點需要共用 VIP 地址,應該關閉 Linux 內核的重定向參數響應服務器不是一臺路由器,那么它不會發送重定向,所以可以關閉該功能
??????vi /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


???6. #刷新配置
??????sysctl -p
???7. #加載模塊
??????modprobe ip_vs
??????cat /proc/net/ip_vs
???8. #配置負載分配策略,并啟動服務
??????ipvsadm-save >/etc/sysconfig/ipvsadm
??????systemctl start ipvsadm.service
???9. #清空ipvsadm,并做策略
??????##添加真實服務器-a ?指定VIP地址及TCP端口-t ??指定RIP地址及TCP端口 -r 指定DR模式-g
??????ipvsadm -C
??????ipvsadm -A -t 192.168.50.38:80 -s rr
??????ipvsadm -a -t 192.168.50.38:80 -r 192.168.50.56:80 -g
??????ipvsadm -a -t 192.168.50.38:80 -r 192.168.50.57:80 -g
???10. #保存設置
???????ipvsadm
???????ipvsadm -ln


???????ipvsadm-save >/etc/sysconfig/ipvsadm

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

systemctl stop firewalld.service
setenforce 0yum -y install nfs-utils rpcbind
mkdir /opt/lc1 /opt/lc2
chmod 777 /opt/lc1 /opt/lc2vim /etc/exports
/usr/share *(ro,sync)
/opt/lc1 192.168.50.0/24(rw,sync)
/opt/lc2 192.168.50.0/24(rw,sync)systemctl start nfs.service
systemctl start rpcbind.service

3.配置節點服務器(192.168.50.56、192.168.50.57)

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install httpd -y

[root@localhost ~]# systemctl start httpd
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.50.38
NETMASK=255.255.255.255?? ??? ??? ??? ??? ??? ?#注意:子網掩碼必須全為 1

ifup lo:0
ifconfig lo:0
route add -host 192.168.50.38 dev lo:0

[root@localhost network-scripts]# vim /etc/rc.d/rc.local?

/usr/sbin/route add -host 192.168.50.38 dev lo:0

[root@localhost network-scripts]# chmod +x /etc/rc.d/rc.local
[root@localhost network-scripts]# vim /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1?? ??? ??? ?
net.ipv4.conf.lo.arp_announce = 2?? ??? ?
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2


[root@localhost network-scripts]# sysctl -p

yum -y install nfs-utils rpcbind httpd
systemctl start rpcbind
systemctl start httpd

--192.168.50.56---
[root@localhost network-scripts]# mount 192.168.50.22:/opt/lc1 /var/www/html/
[root@localhost network-scripts]# echo 'lc is my love 12312' > /var/www/html/index.html

--192.168.50.57---
[root@localhost network-scripts]# mount 192.168.50.22:/opt/lc2 /var/www/html/
[root@localhost network-scripts]# echo '1213 my love is lc' > /var/www/html/index.html

4.瀏覽器訪問虛擬ip 192.168.50.38

?

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

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

相關文章

python+django+mysql項目實踐五(信息搜索)

python項目實踐 環境說明: Pycharm 開發環境 Django 前端 MySQL 數據庫 Navicat 數據庫管理 信息搜素 輸入內容進行搜索,內容有文本類和時間類 文本類需要模糊搜索,包含即檢索 時間類需要選取時間范圍內的內容 views 利用Q完成對指定內容的檢索 檢索后按檢索內容更新…

HarmonyOS/OpenHarmony應用開發-ArkTS語言渲染控制ForEach循環渲染

ForEach基于數組類型數據執行循環渲染。說明,從API version 9開始,該接口支持在ArkTS卡片中使用。 一、接口描述 ForEach(arr: any[], itemGenerator: (item: any, index?: number) > void,keyGenerator?: (item: any, index?: number) > stri…

網絡綜合布線實訓室建設方案

一、網絡綜合布線系統概述 網絡綜合布線系統是為了滿足數據通信需求而設計和建立的一套基礎設施。它提供了數據傳輸、信號傳輸和電力供應的基礎結構,支持各種網絡設備和終端設備之間的連接。 網絡綜合布線系統通常包括以下組成部分: 1) 數據…

面試題 17.10 主要元素

??題目來源: leetcode題目,網址:面試題 17.10. 主要元素 - 力扣(LeetCode) 解題思路: 首先,順序遍歷數組,將不同的數字消去,最后留下的數字若計數小于等于 0&#xff…

ZooKeeper集群服務器啟動

在本文中,我們將對集群版ZooKeeper服務器的啟動過程做詳細講解。集群和單機ZooKeeper服務器的啟動過程在很多地方都是一致的,因此本節只會對有差異的地方展開進行講解。下圖所示是集群版ZooKeeper服務器的啟動流程圖。 預啟動 預啟動的步驟如下。 (1)統…

Python高光譜遙感數據處理與高光譜遙感機器學習方法教程

詳情點擊鏈接:Python高光譜遙感數據處理與高光譜遙感機器學習方法教程 第一:高光譜基礎 一:高光譜遙感基本 01)高光譜遙感 02)光的波長 03)光譜分辨率 04)高光譜遙感的歷史和發展 二:高光譜傳感器與數據獲取 01)高光譜遙感…

AI搜索引擎助力科學家創新

開發者希望通過幫助科學家從大量文獻中發現聯系從而解放科學家,讓他們專注于發現和創新。 圖片來源:The Project Twins 對于專注于歷史的研究者Mushtaq Bilal來說,他在未來科技中投入了大量時間。 Bilal在丹麥南部大學( Universit…

預訓練GNN:GPT-GNN Generative Pre-Training of Graph Neural Networks

一.文章概述 本文提出了一種自監督屬性圖生成任務來預訓練GNN,使得其能捕圖的結構和語義屬性。作者將圖的生成分為兩個部分:屬性生成和邊生成,即給定觀測到的邊,生成節點屬性;給定觀測到的邊和生成的節點屬性&#xf…

自動駕駛港口車輛故障及事故處理機制

1、傳感器故障: (1)單一傳感器數據異常處理。自動駕駛電動平板傳感方案為冗余設置,有其他傳感器能夠覆蓋故障傳感器觀測區域,感知/定位模塊將數據異常情況發給到規劃決策模塊,由“大腦”向中控平臺上報故障…

視頻集中存儲/云存儲/磁盤陣列EasyCVR平臺接入RTSP設備出現離線情況的排查

安防視頻監控/視頻集中存儲/云存儲/磁盤陣列EasyCVR平臺可拓展性強、視頻能力靈活、部署輕快,可支持的主流標準協議有國標GB28181、RTSP/Onvif、RTMP等,以及支持廠家私有協議與SDK接入,包括海康Ehome、海大宇等設備的SDK等。平臺既具備傳統安…

QT處理日志文件

由于實際生產需要,軟件系統的運行,會產生大量的日志文件,有時候一天就能產生超過百萬條log記錄,那么為了能夠處理日志文件,查詢并且找到我們想要的報錯信息,因此不得不考慮怎么實現,打開大日志文…

ARM--day2(cpsr、spsr、數據搬移指令、移位操作指令、位運算操作指令、算數運算指令、比較指令、跳轉指令)

.text .global _gcd _gcd:mov r0,#9mov r1,#15b loop loop:cmp r0,r1beq stopsubhi r0,r1bhi loopsubcc r1,r0bcc loopstop:b stop.end用for循環實現1~100之間和5050 .text .global _gcd _gcd:mov r0,#0x0mov r1,#0x1mov r2,#0x64b loop loop:cmp r1,r2bhi stopadd r0,r0,r1ad…

【Unity】坐標轉換經緯度方法(應用篇)

【Unity】坐標轉換經緯度方法(應用篇) 解決地圖中經緯度坐標轉換與unity坐標互轉的問題。使用線性變換的方法,理論上可以解決小范圍內所以坐標轉換的問題。 之前有寫過[Unity]坐標轉換經緯度方法(原理篇),在實際使用中&#xff0c…

R語言實現免疫浸潤分析(2)

原始數據承接免疫浸潤分析&#xff08;1&#xff09;&#xff0c;下面展示免疫浸潤結果&#xff1a; #直接使用IOBR包內的cell_bar_plot pic<-cell_bar_plot(input quantiseq_immo_de[1:20,], title "quanTiseq Cell Fraction") #使用ggplot2 library(ggplot2)…

大疆飛卡30運載無人機技術分享

大疆飛卡30是大疆公司面向運輸領域推出的一款專業運載無人機。它采用了優秀的設計,裝備了多種先進傳感器,以解決運輸中的難題。以下我們來了解一下其主要特點: 【應用領域】 飛卡30適用于山地救災、農業化肥施用、工程材料運送等交通不便的山區應用,也適用于海島聯通等運輸鏈…

管理類聯考——邏輯——真題篇——按知識分類——匯總篇——二、論證邏輯——削弱——第一節 推理論證

文章目錄 第七章 削弱質疑第一節 削弱-題型1-推理論證-論證為預測結果題-削弱質疑-預測-推理論證-分類1-削弱論點真題(2019-24)-削弱質疑-預測-推理論證-分類1-削弱論點真題(2019-42)-削弱質疑-預測-推理論證-分類1-削弱論點真題(2011-32)-削弱質疑-預測-推理論證-分類…

機器學習基礎之《分類算法(3)—模型選擇與調優》

作用是如何選擇出最好的K值 一、什么是交叉驗證&#xff08;cross validation&#xff09; 1、定義 交叉驗證&#xff1a;將拿到的訓練數據&#xff0c;分為訓練和驗證集。以下圖為例&#xff1a;將數據分成5份&#xff0c;其中一份作為驗證集。然后經過5次(組)的測試&#x…

通過請求頭傳數據向后端發請求

axios &#xff08;get post請求、頭部參數添加&#xff09;傻瓜式入門axios_axiospost請求參數_web_blog的博客-CSDN博客

ByteBuffer 使用

ByteBuffer 使用 1 java.nio包中的類定義的緩沖區類型2 緩沖區常用屬性2.1緩沖區的容量(capacity)2.2 緩沖區的位置(position)2.3 緩沖區的限制(limit)2.4 緩沖區的標記(mark)2.5 剩余容量 remaining/hasRemaining 3 緩沖區常用方法3.1 創建緩沖區3.1.1 allocate方法3.1.2 wrap…

【mybatis】mapper.xml中foreach的用法,含批量查詢、插入、修改、刪除方法的使用

一、xml文件中foreach的主要屬性 foreach元素的屬性主要有 collection&#xff0c;item&#xff0c;index&#xff0c;separator&#xff0c;open&#xff0c;close。 collection: 表示集合&#xff0c;數據源 item &#xff1a;表示集合中的每一個元素 index &#xff1a;用于…