LVS負載分擔(DR模式)基礎搭建(一)

来源:https://www.cnblogs.com/Renqy/archive/2020/06/02/13029855.html
-Advertisement-
Play Games

調度器和伺服器組都必須在物理上有一個網卡通過不分段的區域網相連,即通過交換機或者高速的HUB相連,中間沒有隔有路由器。VIP地址為調度器和伺服器組共用,調度器配置的VIP地址是對外可見的,用於接收虛擬服務的請求報文;所有的伺服器把VIP地址配置在各自的Non-ARP網路設備上,它對外面是不可見的,只... ...


調度器和伺服器組都必須在物理上有一個網卡通過不分段的區域網相連,即通過交換機或者高速的HUB相連,中間沒有隔有路由器。VIP地址為調度器和伺服器組共用,調度器配置的VIP地址是對外可見的,用於接收虛擬服務的請求報文;所有的伺服器把VIP地址配置在各自的Non-ARP網路設備上,它對外面是不可見的,只是用於處理目標地址為VIP的網路請求。


在VS/DR中,請求報文的目標地址為VIP,響應報文的源地址也為VIP,所以響應報文不需要作任何修改,可以直接返回給客戶,客戶認為得到正常的服務,而不會知道是哪一臺伺服器處理的。

DR模式的網路的連接方式:

1、RIP和DIP和VIP在一個網段內,也就是都是公網地址。

image

工作流程說明:

客戶端訪問VIP,由director接收處理,選擇調度相應的web伺服器,伺服器處理後直接返回給客戶端。

因此,real server的網關需指向A地址。

1、地址規劃

image

2、地址配置

real server的VIP不能響應廣播報文,也不能讓其它介面把自己通告出去,也就是存在就行,不要出門和別人打招呼。

director

[root@filesystem ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.94.132  netmask 255.255.255.0  broadcast 192.168.94.255
        inet6 fe80::93e8:3599:36a8:58bf  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:a3:92:45  txqueuelen 1000  (Ethernet)
        RX packets 10619  bytes 10402504 (9.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3046  bytes 357957 (349.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@filesystem ~]# ifconfig ens33:0 192.168.94.200 netmask 255.255.255.0
[root@filesystem ~]#

web1

不能從介面將VIP廣播出去,也不要在介面上應答VIP網路的請求。

[root@node1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@node1 ~]# echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore
[root@node1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@node1 ~]# echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce
[root@node1 ~]# ifconfig lo:0 192.168.94.200 netmask 255.255.255.255 broadcast 192.168.94.200
[root@node1 ~]#

web2

[root@node2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@node2 ~]# echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore
[root@node2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@node2 ~]# echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce
[root@node2 ~]# ifconfig lo:0 192.168.94.200 netmask 255.255.255.255 broadcast 192.168.94.200
[root@node2 ~]#

測試

我們用客戶端ping一下VIP地址,然後arp –a 查看mac地址表,與director的mac對應,現在web1和web2實現了VIP不對外通告也不應答。

image

3、路由配置

客戶端請求報文的源地址和目標地址為CIP和VIP,回應報文的源地址和目標地址應該是VIP和CIP。

預設情況回應報文會使用出介面的地址,也就是134、135、132等,不會使用VIP地址,我們需要增加一條路由,如果請求的目標IP是VIP,那麼出去的數據包源地址也顯示為VIP。

命令:route add –host $VIP dev VIP的介面

director

[root@filesystem ~]# route add -host 192.168.94.200 dev ens33:0
[root@filesystem ~]#

web1和web2

[root@node1 ~]# route add -host 192.168.94.200 dev lo:0
[root@node1 ~]#
[root@node2 ~]# route add -host 192.168.94.200 dev lo:0
[root@node2 ~]#

4、ipvsadm規則配置

我們對web服務使用負載分擔,real server上的httpd服務配置這裡就省略了。

[root@filesystem ~]# curl http://192.168.94.134
this is web1 is node1
[root@filesystem ~]# curl http://192.168.94.135
this is web2 is node2
[root@filesystem ~]#

規則配置

[root@filesystem ~]# ipvsadm -A -t 192.168.94.200:80 -s rr
[root@filesystem ~]# ipvsadm -a -t 192.168.94.200:80 -r 192.168.94.134:80 -g
[root@filesystem ~]# ipvsadm -a -t 192.168.94.200:80 -r 192.168.94.135:80 -g
[root@filesystem ~]# ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.94.200:80 rr
  -> 192.168.94.134:80            Route   1      0          0
  -> 192.168.94.135:80            Route   1      0          0
[root@filesystem ~]#

5、結果測試

測試發現rr輪詢的調度演算法可以使用,實現了LVS的DR模型

image

image


讀書和健身總有一個在路上


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 容器雲技術 Docker引擎的安裝 準備兩台虛擬機,一臺為docker主節點,一臺為docker客戶端,安裝CentOS7.5_1804系統 基礎環境配置 網卡配置(master節點) 修改docker主節點主機名 # hostnamectl set-hostname master 配置網卡 # v ...
  • help命令 功能說明:查看shell內部命令的幫助信息 用法 help [內部命令名] 示例1:不帶任何選項的help命令顯示所有的shell內部命令 [root@node1 ~]# help 示例2:顯示cd命令的使用方法 [root@node1 ~]# help cd cd: cd [-L|[ ...
  • 大家好,我是良許。 文件是我們在電腦里最珍貴的財富,我們經常工作了老半天,然後出來的成果就只是一個文件而已。特別是程式員,我們寫了半天的代碼,結果也就是一個個代碼文件而已。 但是,我們都有過這樣慘痛的經歷——工作了老半天,結果不小心把文件刪除了…… 這時候,你的心情是怎樣的?痛苦?自責?無奈? 今天 ...
  • 在使用MPI框架中,需要多機進行通信進行並行計算;現在配置多個主機進行運行mpi程式,併進行通信;涉及到ssh無密碼和nfs文件系統配置; 參考文檔: https://mpitutorial.com/tutorials/running-an-mpi-cluster-within-a-lan/ 配置如 ...
  • 回到目錄 好了,在介紹完前面各種電路的re模型分析方法後,本節我們再看一下另一種建模思路的混合等效模型。這種模型早期曾被廣泛使用,雖然現在我們一般都用更好用的re模型,但這種混合等效模型還是有必要瞭解一下的。 而且,各大半導體器件廠商在數據規格書給出的也都是的混合等效模型參數。廠家這麼做的原因有二: ...
  • 1.基本操作 # 查看防火牆狀態 service iptables status # 停止防火牆 service iptables stop # 啟動防火牆 service iptables start # 重啟防火牆 service iptables restart # 永久關閉防火牆 chkco ...
  • 與大多數其他半導體存儲技術不同,數據存儲為磁性狀態而不是電荷,並通過測量電阻來感測而不幹擾磁性狀態。使用磁性狀態進行存儲有兩個主要好處。首先磁極化不會像電荷一樣隨時間泄漏,因此即使關閉電源,信息也會被存儲。其次在兩種狀態之間切換磁極化不涉及電子或原子的實際運動,因此不存在已知的磨損機制。 Evers ...
  • 一 手動部署-官網版1.1 獲取資源[root@master01 ~]# mkdir ingress[root@master01 ~]# cd ingress/[root@master01 ingress]# git clone https://github.com/nginxinc/kuberne ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...