LVS 集群技術基礎

LVS(linux virual server)

LVS集群技術---NAT模式

一.準備四臺虛擬機

1.client(eth0=ip:172.254.100)

2.lvs(eth0=ip:172.254.200;eth1=ip:192.168.0.200)

3.rs1(eht0=ip:192.168.0.10)

4.rs2(eth0=ip:192.168.0.20)

二:在rs1和rs2安裝httpd功能

dnf/yum install htppd -y

三:在rs1上操作

?[root@RS1 ~]# systemctl disable --now firewalld ? #禁用并停止 firewalld 服務
[root@RS1 ~]# echo RS1 - 192.168.0.10 > /var/www/html/index.html #創建并寫入內容到 index.html 文件:
[root@RS1 ~]# systemctl enable --now http d ? ? #啟用并啟動 Apache HTTP 服務

在rs2操作相同

四:在lvs操作

[root@lvs ~]# sysctl  -a | grep ip_forwardnet.ipv4.ip_forward = 0 #net.ipv4.ip_forward = 0:這意味著當前 IPv4 數據包轉發功能被禁用了(值為0表示禁用,1表示啟用)net.ipv4.ip_forward_update_priority = 1net.ipv4.ip_forward_use_pmtu = 0[root@lvs ~]# echo net.ipv4.ip_forward=1 > /etc/sysctl.conf #這條命令將 net.ipv4.ip_forward=1 寫入到了 /etc/sysctl.conf 配置文件中,使得系統在啟動時啟用 IPv4 轉發。[root@lvs ~]# sysctl -p #使用 sysctl -p 使配置立即生效。net.ipv4.ip_forward = 1

五:檢查lvs需要的安裝包

dnf search lvs

六:在lvs上安裝ipvsadm

dnf install ipvsadm -y

七:查看策略調度機制

watch -n1 ipvsadm -Ln

八:配置一個虛擬服務

ipvsadm -A -t

172.25.254.200:80 -s rr #這條命令使用?ipvsadm?工具配置一個虛擬服務?172.25.254.200:80,并使用?輪詢(Round Robin)?調度算法(-S rr)來分發流量到后端服務器

[root@lvs ~]# ipvsadm -E -t 172.25.254.200:80 -s wrr #-E表示更改為wrr機制 TCP 172.25.254.200:80 wrr[root@lvs ~]# ipvsadm -E -t 172.25.254.200:80 -s wrr -p 360 #-p設置持久連接超時規定時間內同一來源請求調度到同一realserver-----這里時間設為360TCP 172.25.254.200:80 wrr persistent 360
[root@lvs ~]# ipvsadm -A -f 66 -s rr #設置火墻?TCP  172.25.254.200:80 wrr persistent 360FWM  66 rr

刪除機制

 [root@lvs ~]# ipvsadm -D -f 66 #刪除火墻-D?[root@lvs ~]# ipvsadm -C          #全部刪除

九:模式不能混用

[root@lvs ~]# ipvsadm -A -t 172.25.254.200:80 -s rr[root@lvs ~]# ipvsadm -a -t 172.25.254.200:80 -r 192.168.0.10:80 -g[root@lvs ~]# ipvsadm -a -t 172.25.254.200:80 -r 192.168.0.20:80 -g#-g為直連路由

[root@lvs ~]# ipvsadm -a -t 172.25.254.200:80 -r 192.168.0.20:80 -m[root@lvs ~]# ipvsadm -a -t 172.25.254.200:80 -r 192.168.0.10:80 -m#-m為nat模式

 [root@lvs ~]# ipvsadm -e -t 172.25.254.200:80 -r 192.168.0.20:80 -i[root@lvs ~]# ipvsadm -e -t 172.25.254.200:80 -r 192.168.0.10:80 -i#-e為切換模式 -i為ipip隧道模式

十:設置權重

[root@lvs ~]# ipvsadm -e -t 172.25.254.200:80 -r 192.168.0.10:80 -i -w 2#-w 后面跟數字代表權重這里設置2--權重不是所有模式一定生效

十一:保存策略

[root@lvs ~]# ipvsadm-save -n > /mnt/ipvsadm.rule如果用ipvsadm -C刪除后用命令
ipvsadm-restore < /mnt/ipvsadm.rule
恢復策略
永久保存  #開機時加載策略
ipvsadm-save -n > /etc/sysconfig/ipvsadm

十二:測試

LVS---DR模式

一:實驗環境

client?? ?eth0=ip 172.25.254.111
路由器?? ?eth0=ip 172.25.254.100 eth1=ip192.168.0.100
DR-LVS?? ?eth0=ip 192.168.0.200
RS1?? ?eth0=ip192.168.0.10
RS2?? ?eth0=ip 192.168.0.20

二:客戶端 clent網絡設置

[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
method=manual
address1=172.25.254.111/24,172.25.254.100
dns=8.8.8.8

三:路由器網絡設置

(1) eth0 配置

[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
method=manual
address1=172.25.254.100/24

(2) eth1 配置

[connection]
id=eth1
type=ethernet
interface-name=eth1[ipv4]
method=manual
address1=192.168.0.100/24

(3) 激活網口

nmcli connection reload
nmcli connection up eth0
nmcli connection up eth1

(4) 開啟路由轉發功能

[root@luyou ~] vim /etc/sysctl.conf  #編輯文件開啟內核路由功能net.ipv4.ip_forward=1開啟內核路由功能[root@luyou ~] sysctl -p  #激活

[root@luyou system-connections] firewall-cmd --permanent  --add-masquerade
Warning: ALREADY_ENABLED: masquerade
success

四:lvs主機設置

網口eth0.nmconnection
[root@dr-lvs system-connections] cat eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
method=manual
address1=192.168.0.200/24,192.168.0.100
address2=192.168.0.220/24
dns=8.8.8.8[root@dr-lvs system-connections]# nmcli connection reload   #重啟
[root@dr-lvs system-connections]# nmcli connection up eth0 #激活
[root@dr-lvs system-connections] cat lo.nmconnection
[connection]
id=lo
type=loopback
interface-name=lo[ipv4]
pmethod=manual#靜態
address1=127.0.0.1/8
address2=192.168.0.220/32不對外相應32
[root@dr-lvs system-connections]# nmcli connection reload   #重啟
[root@dr-lvs system-connections]# nmcli connection up lo #激活

五:RS1和RS2設置

1.RS1設置

[root@RS1 system-connections]# cat eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
method=manual
address1=192.168.0.10/24,192.168.0.100
dns=8.8.8.8
[root@RS1 system-connections]# cat lo.nmconnection
[connection]
id=lo
type=loopback
interface-name=lo[ipv4]
method=manual
address1=127.0.0.1/8
address2=192.168.0.220/32

設置相應管控

[root@RS1 ~] sysctl -a | grep arp  #搜索arp相關設置[root@RS1 ~] echo net.ipv4.conf.lo.arp_ignore =1 >> /etc/sysctl.conf[root@RS1 ~] echo net.ipv4.conf.lo.arp_announce = 2 >> /etc/sysctl.conf[root@RS1 ~] echo net.ipv4.conf.all.arp_ignore = 1 >> /etc/sysctl.conf[root@RS1 ~] echo net.ipv4.conf.all.arp_announce = 2 >> /etc/sysctl.conf[root@RS1 ~] sysctl  -p  #生效
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
vnet.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

2.RS2設置

[root@RS2 system-connections]# cat eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
method=manual
address1=192.168.0.20/24,192.168.0.100
dns=8.8.8.8
[root@RS2 system-connections]# cat lo.nmconnection
[connection]
id=lo
type=loopback
interface-name=lo[ipv4]
method=manual
address1=127.0.0.1/8
address2=192.168.0.220/32
[root@RS2 ~] sysctl -a | grep arp  #搜索arp相關設置[root@RS2 ~] echo net.ipv4.conf.lo.arp_ignore =1 >> /etc/sysctl.conf[root@RS2 ~] echo net.ipv4.conf.lo.arp_announce = 2 >> /etc/sysctl.conf[root@RS2 ~] echo net.ipv4.conf.all.arp_ignore = 1 >> /etc/sysctl.conf[root@RS2 ~] echo net.ipv4.conf.all.arp_announce = 2 >> /etc/sysctl.conf[root@RS2 ~] sysctl  -p  #生效
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
vnet.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

六:測試

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

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

相關文章

Oracle RU19.28補丁發布,一鍵升級穩

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中國DBA聯盟(ACDU)成員&#xff0c;15年DBA工作經驗 Oracle、PostgreSQL ACE CSDN博客專家及B站知名UP主&#xff0c;全網粉絲15萬 擅長主流Oracle、MySQL、PG、高斯及…

lvs 集群技術

LVS概念LVS&#xff1a;Linux Virtual Server&#xff0c;負載調度器&#xff0c;是一種基于Linux操作系統內核的高性能、高可用網絡服務負載均衡解決方案。LVS工作原理基于網絡層&#xff08;四層&#xff0c;傳輸層&#xff09;的負載均衡技術&#xff0c;它通過內核級別的IP…

AR巡檢和傳統巡檢的區別

隨著工業4.0時代的到來&#xff0c;數字化轉型逐漸成為各行各業提升效率、保障安全和降低成本的關鍵。而在這一轉型過程中&#xff0c;巡檢工作作為確保設備穩定運行的重要環節&#xff0c;逐步從傳統方式走向智能化、數字化。尤其是增強現實&#xff08;AR&#xff09;技術的引…

Axure設計設備外殼 - AxureMost 落葵網

在UI設計中&#xff0c;設備外殼&#xff08;硬件外殼與界面中的“虛擬外殼”&#xff09;和背景是構成視覺體驗的核心元素&#xff0c;它們不僅影響美觀&#xff0c;更直接關聯用戶對功能的理解和操作效率。以下從設計角度詳細解析其作用與使用邏輯&#xff1a; 一、設備外殼&…

基于深度學習的電信號分類識別與混淆矩陣分析

基于深度學習的電信號分類識別與混淆矩陣分析 1. 引言 1.1 研究背景與意義 電信號分類識別是信號處理領域的重要研究方向,在醫療診斷、工業檢測、通信系統等多個領域有著廣泛的應用。傳統的電信號分類方法主要依賴于手工提取特征和淺層機器學習模型,但這些方法往往難以捕捉…

Git 和Gitee遠程連接 上傳和克隆

第一步創建遠程庫第二步初始化本地庫創建鏈接刪掉.idea 和target(這兩個沒用運行就自動生成了)右鍵空白處選擇Git Bash Here 初始化本地庫git init建立遠程連接建立連接這里是我的地址&#xff0c;后面拼接你的地址git remote add origin https://gitee.com/liu-qing_liang/git…

零基礎100天CNN實戰計劃:用Python從入門到圖像識別高手

一、為什么你需要這份100天CNN學習計劃&#xff1f; 在人工智能領域&#xff0c;卷積神經網絡&#xff08;CNN&#xff09; 是計算機視覺的基石技術。無論是人臉識別、醫學影像分析還是自動駕駛&#xff0c;CNN都扮演著核心角色。但對于初學者來說&#xff0c;面對復雜的數學公…

Python Matplotlib中的fontdict參數說明

文章目錄 1 fontdict 參數的常用屬性 1.1 使用示例 1.2 其他注意事項 1.3 結合其他參數 各位老板好, 在 Python 的 Matplotlib 庫中,fontdict 參數用于定義文本屬性的字典。這些屬性包括字體大小、顏色、樣式等,主要用于控制標題、標簽和其他文本元素的顯示效果。通過將 font…

25數據庫三級備考自整理筆記

備考策略&#xff1a;博主是邊做題邊學習知識點的&#xff0c;從每個章節->每套真題的流程&#xff0c;知識點清晰詳細&#xff0c;喜歡的請點個關注和收藏&#xff0c;祝大家考試順利&#xff0c;必過必過必過&#xff01;一、數據庫應用系統開發方法1.數據庫的三級模式&am…

文娛投資的逆勢突破:博派資本的文化旅游綜合體戰略

在多數資本因“變現難、政策風險、退出緩慢”等問題紛紛撤離文娛賽道時&#xff0c;博派資本創始人鄭蘭卻選擇逆勢而上&#xff0c;聚焦線下文化消費&#xff0c;并推出了全新的文化旅游綜合體戰略。鄭蘭深刻認為&#xff0c;2025年將成為區域經濟和文化產業復蘇的關鍵節點。她…

「日拱一碼」033 機器學習——嚴格劃分

目錄 簡單隨機劃分&#xff08;train_test_split&#xff09; 分組劃分&#xff08;Group Splitting&#xff09; 簡單分組劃分 (Group Splitting) 分層分組劃分 (Stratified Group Splitting) 交叉驗證法&#xff08;Cross-Validation&#xff09; 分組K 折交叉驗證&…

ASP.NET Core Web API 中集成 DeveloperSharp.RabbitMQ

文章目錄前言一、核心特性與設計理念極簡API設計二、使用步驟1.配置 RabbitMQ 連接&#xff08;配置文件設置&#xff09;2.發送消息&#xff08;在 Controller 中&#xff09;3.消費消息&#xff08;后臺服務&#xff09;4.注冊托管服務三、消息生命周期控制四、高級用法延時隊…

解決Flutter運行android提示Deprecated imperative apply of Flutter‘s Gradle plugins

文章目錄 出現場景 解決方案 編輯android/settings.gradle 編輯android/build.gradle 重新定義庫變量 編輯android/app/build.gradle 刪除fluttetRoot和plugin字段 添加plugins塊 修改dependencies 出現場景 ado@adodeMacBook-Air app_demo % flutter run --profile Launching…

音視頻重回顧及nat內網穿透相關再整理筆記

以前系統得粗略對音視頻有過技術棧基類&#xff0c;現在重新回顧。 除此之外&#xff0c;最近剛好實現一個雙網卡加入內網的測試方案&#xff0c;涉及內網穿透的知識&#xff0c;剛好對內網穿透邏輯進行整理。 1&#xff1a;明確相關基礎知識&#xff0c;解惑體系架構。2&#…

深入理解 SemaphoreSlim 在.NET Core API 開發中的應用

目錄 什么是 SemaphoreSlim SemaphoreSlim 的核心方法 構造函數 等待方法 釋放方法 基本使用模式 同步使用模式 異步使用模式&#xff08;推薦在 API 中使用&#xff09; 在 Web 開發中的常見用途 1. 限制 API 接口的并發請求數 2. 保護共享資源的并發訪問 3. 控制…

板凳-------Mysql cookbook學習 (十二--------4)

11.0 概述 386 11.1 使用LOAD DATA和mysqlimport導入數據 390 首先創建 mytbl_3 表&#xff08;結構與 mytbl 相同&#xff09;&#xff1a;sql CREATE TABLE mytbl_3 LIKE mytbl;用文本編輯器&#xff08;如 Notepad&#xff09;打開 mytbl.txt&#xff0c;確保格式轉換成wind…

【Git#6】多人協作 企業級開發模型

一、多人協作 1. 同一分支下的協作 目前&#xff0c;我們所完成的工作如下&#xff1a; 基本完成 Git 的所有本地庫的相關操作&#xff0c;git基本操作&#xff0c;分支理解&#xff0c;版本回退&#xff0c;沖突解決等等申請碼云賬號&#xff0c;將遠端信息clone到本地&…

C# 中的強大運算符

C# 中鮮為人知的強大運算符 C# 還提供了一些"冷門"但功能強大的運算符&#xff0c;這些運算符在特定場景下能極大簡化代碼并提高效率。 1. 空合并賦值運算符 ?? // 傳統寫法 if (variable null) {variable defaultValue; }// 使用 ?? variable ?? defaultVal…

用window字體替換zabbix 默認的字體

我們先需要在windows系統下的C:\Windows\Fonts目錄&#xff0c;找到一個喜歡的字體&#xff0c;我選擇的是微軟雅黑。復制到其它路徑下&#xff0c;選取一個msyh.ttc。到服務器上。要把msyh.ttc改為msyh.ttf才可以。不然最后中英文都不顯示[roothadoop105.yinzhengjie.com ~]# …

MySQL 17 如何正確地顯示隨機消息?

假設有一個場景&#xff0c;一個英語學習APP首頁有一個隨機顯示單詞的功能&#xff0c;用戶每次訪問首頁的時候&#xff0c;都會隨機滾動顯示三個單詞。 已知表里有10000條記錄&#xff0c;來看看隨機選擇3個單詞有什么方法&#xff0c;又存在什么問題。 建表語句&#xff1a…