LVS集群技術

LVS(Linux Virtual Server)是一種基于Linux內核的高性能、高可用性服務器集群技術,它通過負載均衡將客戶端請求分發到多臺后端真實服務器,實現 scalability 和 fault tolerance。LVS工作在傳輸層(OSI Layer 4),支持TCP/UDP協議。

LVS核心組件

  • 負載均衡器(Director):接收客戶端請求并根據調度算法分發到后端服務器。
  • 真實服務器群(Real Server Pool):實際處理請求的服務器集群。
  • 共享存儲(可選):為真實服務器提供數據一致性支持。

LVS工作模式

NAT模式(Network Address Translation) 負載均衡器修改請求和響應的IP地址,進出流量均經過Director。適合小型集群,但Director可能成為性能瓶頸。

TUN模式(IP Tunneling) 真實服務器直接響應客戶端,通過IP隧道傳輸請求數據。Director僅處理入站流量,適合跨網絡環境。

DR模式(Direct Routing) 真實服務器通過修改MAC地址直接響應客戶端, Director僅處理入站流量。高性能首選模式,要求真實服務器與Director在同一局域網。

LVS調度算法

  • 輪詢(Round Robin):均等分發請求。
  • 加權輪詢(Weighted RR):根據服務器權重分配流量。
  • 最少連接(Least Connections):優先選擇當前連接數最少的服務器。
  • 加權最少連接(Weighted LC):結合權重和連接數。
  • 源地址哈希(Source Hashing):保持同一客戶端的請求定向到同一服務器。

LVS特別適合需要高性能負載均衡的場景,如Web服務、數據庫讀寫分離等。實際部署時應根據網絡環境和業務需求選擇合適的工作模式。

二.LVS(linux virual server)

四臺虛擬機

LVS集群技術

1.clienteth0= IP:172.25.254.100
2.lvsimage-20250714200324604 eth0=ip :172.25.254.200; eth1=ip:192.168.0.200
rs1 eth0=ip:192.168.0.10
re2 eth0=ip:192.168.0.20
網絡配好在rs1和rs2安裝httpd功能所用命令dnf/yum install httpd -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

用命令安裝[root@lvs ~]# dnf/yum install ipvsadm -y

用命令watch -n1 ipvsadm -Ln 查看策略調度機制

輸入命令[root@lvs ~]# 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-----這里時間設為360

TCP 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 ~]# watch -n1 ipvsadm -Ln --rate #后面加--tate -Z清楚計數器

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

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

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

相關文章

git項目,有idea文件夾,怎么去掉

要從Git項目中排除.idea文件夾&#xff08;IntelliJ IDEA的配置文件目錄&#xff09;&#xff0c;可以通過以下步驟操作&#xff1a; 1. 添加.gitignore規則 在項目根目錄創建或編輯.gitignore文件&#xff0c;添加以下內容&#xff1a; .idea/2. 從Git緩存中刪除已跟蹤的.idea…

springboot+swagger2文檔從swagger-bootstrap-ui更換為knife4j及文檔接口參數不顯示問題

背景 已有springboot項目,且使用的是swagger2+swagger-bootstrap-ui的版本 1.pom依賴如下 <!-- Swagger接口管理工具 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9…

mysql數據庫表只能查詢,對于插入、更新、刪除操作一直卡住,直到報錯Lost connection to MySQL server during query

診斷步驟1. 查看阻塞進程SELECT * FROM performance_schema.metadata_locks WHERE LOCK_STATUS PENDING;SELECT * FROM sys.schema_table_lock_waits;2. 查看當前活動事務SELECT * FROM information_schema.INNODB_TRX;3. 查看進程列表SHOW PROCESSLIST;通過SELECT * FROM in…

Redis BigKey 深度解析:從原理到實戰解決方案

引言&#xff1a;什么是 BigKey&#xff1f;在 Redis 的使用場景中&#xff0c;BigKey&#xff08;大鍵&#xff09;是指那些數據量異常龐大的鍵值&#xff0c;通常表現為&#xff1a;String 類型&#xff1a;值大小超過 10KBHash/Set 等&#xff1a;元素數量超過 5000List/ZSe…

Qt 實現新手引導

Qt實現新手引導 對于一個新安裝的軟件或者一個新的功能&#xff0c;提供一個新手引導步驟&#xff0c;能夠讓用戶快速熟悉。這是最終效果&#xff0c;每一個按鈕都會有一個簡單引導&#xff0c;通過點擊上一步、下一步來切換不同的指導。當前引導的功能&#xff0c;會有一個高光…

Maven+Spring

一、Maven 相關- 本地倉庫設置&#xff1a;- 在 IDE&#xff08;如 IntelliJ IDEA&#xff09;中可以設置 Maven 的本地倉庫路徑&#xff0c;本地倉庫用于存儲從遠程倉庫下載的依賴庫&#xff0c;方便項目重復使用。- 倉庫關系&#xff1a;- 項目&#xff1a;開發中的項目&…

Android Handler 消息機制

常用場景&#xff1a; 子線程發送Message 主線程處理Message 子線程發送消息 public final boolean sendEmptyMessageDelayed(int what, long delayMillis) {Message msg Message.obtain();msg.what what;return sendMessageDelayed(msg, delayMillis);}public final boole…

day9 串口通信

1串口通信串口通信是嵌入式系統和電子設備中最常用的 異步串行通信 方式&#xff0c;核心是通過 TX&#xff08;發送&#xff09; 和 R&#xff08;接收&#xff09; 兩根線實現全雙工數據傳輸。2通信協議分類2.1同步/異步通信同步和異步是串行通信中兩種根本不同的數據傳輸方式…

面向對象的設計模式

一、設計模式簡介1、什么是設計模式針對反復出現的問題所總結歸納出的通用解決方設計模式是指在軟件開發過程中案。這些方案是眾多軟件開發人員經過大量實踐總結出來的&#xff0c;具有高效性、可維護性和可擴展性等優點。使用設計模式可以幫助開發者更高效地構建軟件系統&…

每日釘釘API探索:chooseDepartments專注于部門維度的選擇接口

在企業級應用開發過程中&#xff0c;針對組織架構中的部門進行操作是非常常見的需求。今天我們要介紹的是釘釘的chooseDepartments API&#xff0c;它允許用戶以部門為單位進行選擇&#xff0c;并返回所選部門的相關信息。&#x1f4cc; 功能概述chooseDepartments API主要用于…

生產環境CI/CD流水線構建與優化實踐指南

生產環境CI/CD流水線構建與優化實踐指南 目錄 業務場景描述技術選型過程實現方案詳解 流水線結構設計并行構建與緩存策略部署策略&#xff1a;滾動、藍綠、金絲雀回滾與告警自動化 踩過的坑與解決方案總結與最佳實踐 業務場景描述 某大型電商平臺&#xff0c;為了保證代碼持續交…

騰訊云和火山云優劣勢對比

從問題本身看&#xff0c;用戶沒有限定具體場景&#xff0c;說明可能需要一個全面的橫向對比。不過云計算服務涉及面太廣&#xff0c;我最好先搭建一個框架性的分析結構&#xff0c;再填充具體細節。 首先想到從幾個核心維度切入&#xff1a;基礎能力&#xff08;計算存儲網絡&…

Augment AI 0.502.0版本深度解析:Task、Guidelines、Memory三大核心功能實戰指南

Augment AI 0.502.0版本深度解析&#xff1a;Task、Guidelines、Memory三大核心功能實戰指南 augment最新版輔助功能全解析續杯免費額度再用滿教程|memory|userguidlines|tasksaugment最新插件功能教程前言 在AI輔助編程領域&#xff0c;Augment AI作為一款強大的VS Code插件&…

docker搭建、小皮面板搭建、bp使用、msf

docker搭建Vulhub靶場 docker安裝 apt-get install docker.io docker-compose#設置docker代理&#xff1a;創建文件夾以及對應的文件 mkdir /etc/systemd/system/docker.service.d#在該文件中配置自己的代理ip以及代理端口 vim /etc/systemd/system/docker.service.d/http-p…

AI優化器美國VPS集成:智能算力部署與性能調優指南

在當今數字化浪潮中&#xff0c;AI優化器與高性能VPS的融合正成為企業技術架構的核心競爭力。本文將深入解析美國VPS服務器如何通過AI驅動的智能優化技術實現算力突破&#xff0c;從資源配置算法到實時流量調度&#xff0c;全面揭示這種創新組合在跨境電商、大數據分析等場景中…

【保姆級圖文詳解】Spring AI 中的工具調用原理解析,工具開發:文件操作、聯網搜索、網頁抓取、資源下載、PDF生成、工具集中注冊

目錄前言一、Spring AI 中的工具調用&#xff08;Tool Calling&#xff09;1.1、概念1.2、工作原理1.3、技術選型1.4、原理解析1.4.1、實現接口1.4.2、工具調用二、工具調用&#xff08;Tool Calling&#xff09;開發2.1、文件操作2.1.1、概念描述2.1.2、概念描述2.2、聯網搜索…

Redis客戶端使用(Client、Java、SpringBoot)

上篇文章&#xff1a; Redis數據類型之zsethttps://blog.csdn.net/sniper_fandc/article/details/149139955?fromshareblogdetail&sharetypeblogdetail&sharerId149139955&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 Redis客戶端…

Modbus 開發工具實戰:ModScan32 與 Wireshark 抓包分析(一

引言 ** 在工業自動化領域&#xff0c;Modbus 協議猶如一座橋梁&#xff0c;連接著各種電子設備&#xff0c;實現它們之間高效的數據交互。從可編程邏輯控制器&#xff08;PLC&#xff09;到人機界面&#xff08;HMI&#xff09;&#xff0c;再到各類智能傳感器&#xff0c;M…

Oracle SQL - 使用行轉列PIVOT減少表重復掃描(實例)

[13/JUL/2025, Yusuf Leo, Oracle SQL Performance Tuning Series]我們經常會遇到從同一表中按不同維度取出不同區間的數據&#xff0c;再以相同的屬性將這些數據分別匯總到一起的需求。這類需求往往迫使我們對同一個表反復去掃描&#xff0c;當原始數據量太大的時候&#xff0…

HTTP 請求方法詳解:GET、POST、PUT、DELETE 等

在 HTTP 協議中&#xff0c;請求方法&#xff08;也稱為 HTTP 動詞&#xff09;定義了客戶端希望對指定資源執行的操作類型。這些方法是 HTTP 報文的核心組成部分&#xff0c;決定了請求的目的和行為。 主要 HTTP 請求方法 1. GET 用途&#xff1a;獲取資源 特點&#xff1a…