LVS 負載均衡群集

一:LVS群集應用基礎

1.1:概述

1.群集的類型

無論是哪種群集, 都至少包括兩臺節點服務器, 而對外表現為一個整體, 只提供一個訪問入口。根據群集所針對的目標差異, 可分為以下三種類型。

  • 負載均衡群集(Load Balance Cluster) : 以提高應用系統的響應能力、盡可能處理更多的訪問請求、減少延遲為目標, 獲得商并發、高負載的整體性能。例如, “ DNS輪詢” “ 應用層交換” “ 反向代理”等都可用作負載均衡群集。LB 的負載分配依賴千主節點的分流算法, 將來自客戶機的訪問請求分擔給多個服務器節點,從而緩解整個系統的負載壓力。
  • 高可用群集( High Availability Cluster) : 以提高應用系統的可靠性、盡可能地減少中斷時間為目標,確保服務的連續性,達到高可用( HA ) 的容錯效果。例如,“故障切換”“雙機熱備”“ 多機熱備” 等都屬千高可用群集技術。HA 的工作方式包括雙工和主從兩種模式。雙工即所有節點同時在線; 主從則只有主節點在線, 但當出現故障時從節點能自動切換為主節點。
  • 高性能運算群集( High Performance Computer Cluster ) : 以提高應用系統的CPU運算速度、擴展硬件資源和分析能力為目標,獲得相當千大型、超級計算機的高性能運算( HPC) 能力。例如, “ 云計算” “ 網格計算” 也可視為高性能運算的一種。高性能運算群集的高性能依賴千“ 分布式運算” ” 并行計算“, 通過專用硬件和軟件將多個服務器的CPU、內存等資源整合在一起, 實現只有大型、超級計算機才具備的計算能力。

2.負載均衡的分層結構

在典型的負載均衡群集中, 包括三個層次的組件, 如下圖所示。前端至少有一個負載調度器( Load Bal ancer , 或稱為D盯ector) 負責響應并分發來自客戶機的訪問請求; 后端由大量真實服務器( Rea l Server) 構成服務器池( Server Pool ) , 提供實際的應用服務,整個群集的伸縮性通過增加、刪除服務器節點來完成, 而這些過程對客戶機是透明的; 為了保持服務的一致性, 所有節點使用共享存儲設備。

  • 第一層, 負載調度器: 這是訪問整個群集系統的唯一入口, 對外使用所有服務器共有的VIP (Virtual IP , 虛擬IP) 地址, 也稱為群集IP 地址。通常會配置主、備兩臺調度器實現熱備份, 當主調度器失效以后能夠平滑替換至備用調度器, 確保高可用性。
  • 第二層, 服務器池: 群集所提供的應用服務(如HTTP 、FTP ) 由服務器池承擔, 其中每個節點具有獨立的RI P ( Real IP , 真實IP) 地址,只處理調度器分發過來的客戶機請求。當某個節點暫時失效時, 負載調度器的容錯機制會將其隔離, 等待錯誤排除以后再重新納入服務器池。
  • 第三層, 共享存儲: 為服務器池中的所有節點提供穩定、一致的文件存取服務, 確保整個群集的統一性。在L i nux/UNIX 環境中,共享存儲可以使用NAS 設備, 或者提供NFS ( Ne twork 們l e S ys tem , 網絡文件系統)共享服務的專用服務器。?

3.負載均衡的工作模式

關于群集的負載調度技術, 可以基于IP 、端口、內容等進行分發, 其中基于IP 的負載調度是效率最高的。基千IP 的負載均衡模式中, 常見的有地址轉換、IP 隧道和直接路由三種工作模式, 如下圖所示。

  • ?地址轉換(Ne twork Address Translat i on ) : 簡稱NAT 模式, 類似于防火墻的私有網絡結構, 負載調度器作為所有服務器節點的網關, 即作為客戶機的訪問入口, 也是各節點回應客戶機的訪問出口。服務器節點使用私有IP 地址, 與負載調度器位于同一個物理網絡, 安全性要優千其他兩種方式。
  • IP 隧道( IP Tunne l ) : 簡稱TUN 模式, 采用開放式的網絡結構, 負載調度器僅作為客戶機的訪問入口, 各節點通過各自的Int ernet連接直接回應客戶機, 而不再經過負載調度器。服務器節點分散在互聯網中的不同位置, 具有獨立的公網IP 地址, 通過專用IP 隧道與負載調度器相互通信。
  • 直接路由( D i rec t Rout i ng) : 簡稱DR 模式, 采用半開放式的網絡結構, 與TUN模式的結構類似, 但各節點并不是分散在各地, 而是與調度器位千同一個物理網絡。負載調度器與各節點服務器通過本地網絡連接, 不需要建立專用的IP 隧道。

1.2:LVS虛擬服務器?

1.LVS 的負載調度算法

針對不同的網絡服務和配置需要, LVS 調度器提供多種不同的負載調度算法,其中最常
用的四種算法是輪詢、加權輪詢、最少連接和加權最少連接。

  • 輪詢( Round Rob in) : 將收到的訪問請求按照順序輪流分配給群集中的各節點, 均等地對待每臺服務器, 而不管服務器實際的連接數和系統負載。
  • 加權輪詢( We igh ted Round Rob i n) : 根據調度器設置的權重值來分發請求, 權重值高的節點優先獲得任務并且分配的請求越多, 這樣可以保證性能高的節點承擔更多請求。
  • 最少連接( Leas t Connec tions) : 根據真實服務器已建立的連接數進行分配, 將收到的訪問請求優先分配給連接數最少的節點。如果所有的服務器節點性能相近, 采用這種方式可以更好地均衡負載。
  • 加權最少連接( We ight ed Least Connec t i ons ) : 在服務器節點的性能差異較大的情況下, 調度器可以根據節點服務器負載自動調整權重, 權重較高的節點將承擔更大比例的活動連接負載。

2.?使用ipvsadm 管理工具

ip vsadm 是在負載調度器上使用的LVS 群集管理工具,通過調用ip_vs 模塊來添加、刪除服務器節點, 以及查看群集的運行狀態。在CentOS 7 系統中,需要手動安裝ipvsadm. x86_64 0: 1. 27- 7. el 7 軟件包。

[root @localhost ~]# yum -y i ns t all ipvsadm
[root @localhost~]# ipvsadm -v
ipvsadm v1. 27 2008/5/15 (compiled wi th popt and IPVS v1. 2. 1)

?(1)創建虛擬服務器
若群集的V I P 地址為172. 1 6.1 6. 172 , 針對TCP 80 端口提供負載分流服務, 使用的調度算法為輪詢, 則對應的i pvsadm 命令操作如下所示。對于負載均衡調度器來說, VIP 必須是本機實際已啟用的IP 地址。

ipvsadm -A - t 172. 16. 16. 172:80 - s rr

?上述操作中, 選項-A 表示添加虛擬服務器, -t用來指定V IP 地址及TCP 端口, -s 用來
指定負載調度算法——輪詢( rr) 、加權輪詢(wrr ) 、最少連接( le) 、加權最少連接( wlc) 。
(2) 添加服務器節點
為虛擬服務器17 2. 16 . 16. 172 添加四個服務器節點, IP 地址依次為1 92 . 168. 7. 21~24,對應的i pvsadm 命令操作如下所示。若希望使用保持連接, 還應添加“-p 60" 選項, 其中60 為保待時間( 單位為s) 。

[root @localhost~]# ipvsadm -a -t 172. 16. 16. 172:80 -r 192. 168. 7.21:80 -m 11 1
[root @localhost~]# ipvsadm -a -t 172. 16. 16. 172:80 -r 192. 168. 7.22:80 -m 11 1
[root @localhost ~]# ipvsadm -a - t 172. 16. 16. 172:80 - r 192. 168. 7.23:80 -m -w 1
[root @localhost ~]# ipvsadm -a -t 172. 16. 16. 172:80 -r 192. 168. 7.24:80 -m 11 1

上述操作中, 有以下選項:
? -a 表示添加真實服務器;
? -t用來指定VIP 地址及TCP 端口;
? -r 用來指定RIP 地址及TCP 端口;
? -m 表示使用NAT 群集模式( -g DR 模式和- i TUN 模式) ;
? -w 用來設置權重(權重為0 時表示暫停節點)。

( 3 ) 查看群集節點狀態
結合選項-l 可以列表查看LVS 虛擬服務器, 可以指定只查看某一個VIP 地址( 默認為
查看所有) , 結合選項-n 將以數字形式顯示地址、端口等信息。

[root @localhost~]# ipvsadm -ln      //查看節點狀態

上述輸出結果中, Forward 列下的Masq對應Masquerade (地址偽裝) , 表示采用的群集模式為NAT 。如果是Rou t e , 則表示采用的群集模式為DR 。
(4) 刪除服務器節點
需要從服務器池中刪除某一個節點時, 使用選項-d 。執行刪除操作必須指定目標對象,包括節點地址、虛擬IP 地址。例如,以下操作將會刪除LVS 群集172. 16. 16. 172 中的節點192. 168. 7. 24?

ipvsadm -d -r 192. 168. 7.24:80 -t 172. 16. 16. 172:80

需要刪除整個虛擬服務器時,使用選項-D 并指定虛擬IP 地址即可, 無須指定節點。例如, 若執行“ipvsadm - D - t 172 . 16. 16. 172:80" , 則刪除此虛擬服務器。
(5) 保存負載分配策略
使用導出/導入工具ipvsadm-save/ ipvsad曠restore 可以保存、恢復LVS 策略。當然也可以快速清除、重建負載分配策略。

[root @localhost~]# ipvsadm-save > /etc/sysconfig/ipvsadm //保存策略
[root @localhost ~]11 cat /et c/sysconfig/ipvsadm //確認保存結果
-A - t 172.16.16.172:http - s rr
- a - t 172. 16. 16. 172: http - r 192. 168. 7. 21 : http -m -w 1
- a - t 172. 16. 16. 172: http -r 192. 168. 7. 22: http -m -w 1
- a - t 172.16.16. 172:http - r 192.168. 7.23:http -m -w 1
[root @localhost ~]# systemct l stop ipvsadm? ??//停止服務( 清除策略)
[root @localhost ~]# systemct l start ipvsadm? ??//啟動服務( 重建規則)

?1.3:NFS 共享存儲服務

1.使用NFS 發布共享資源

NFS 服務的實現依賴千RPC ( Remote Process Cal l, 遠端過程調用) 機制,以完成遠程到本地的映射過程。在CentOS 7 系統中, 需要安裝nfs-utils 、rpcbind 軟件包來提供NFS共享服務, 前者用千NFS 共享發布和訪問, 后者用千RPC 支持。
(1 ) 安裝nfs-uti ls 、rpcbind 軟件包

提供RPC 支持的服務為rpcb i nd , 提供NFS 共享的服務為nfs , 完成安裝以后建議調整這兩個服務的自啟動狀態, 以便每次開機后自動啟用。手動加載NFS 共享服務時, 應該先啟動rpcb i n d , 再啟動nfs 。

[root @localhost~]# yum -y install nfs-utils rpcbi nd
[root @localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbi nd

( 2 ) 設置共享目錄
NFS 的配置文件為/e tc/exports , 文件內容默認為空( 無任何共享)。在exports 文件中設置共享資源時, 記錄格式為“ 目錄位置客戶機地址(權限選項) “。例如, 若要將文件夾/opt/wwwroot共享給192 . 168. 7 . 0/24 網段使用, 允許讀寫操作, 具體配置如下所示。?

[root@localhost ~]# mkdir -p /opt/wwwroot

[root@localhost ~]# vi /etc/exports

/opt/wwwroot ??192.168.10.0/24(rw,sync,no_root_squash)

其中客戶機地址可以是主機名、IP 地址、網段地址, 允許使用* 、?通配符; 權限選項中的rw 表示允許讀寫(ro 為只讀) , s ync 表示同步寫入, no_root_squash 表示當客戶機以root身份訪問時賦予本地root權限(默認是root_squash , 將作為nf snobody 用戶降權對待)。
當需要將同一個目錄共享給不同的客戶機, 且分配不同的權限時, 只要以空格分隔指定多個“ 客戶機( 權限選項) ” 即可。例如, 以下操作將/var/ftp/pub l i c 目錄共享給兩個客戶機, 并分別給予只讀、讀寫權限。?

[root @localhost ~]# vi /etc/export s
/var/ftp/public 192. 168. 7. 11 (ro) 192. 168. 7. 22(rw)

( 3 ) 啟動NFS 服務程序

[root @localhost ~]# sys t emct l s t art rpcbi nd
[root @localhost ~] # sys t emct l s t art nf s
[root@l ocalhost ~] # net s t at -anpt I grep rpc?

?( 4 ) 查看本機發布的NFS 共享目錄

[root @localhost ~]# showmount - e

2. 在客戶機中訪問NFS 共享資源?

NFS 協議的目標是提供一種網絡文件系統, 因此對NFS 共享的訪問也使用mount命令來進行掛載,對應的文件系統類型為nfs 。既可以手動掛載,也可以加入/etc/fstab 配置文件來實現開機自動掛載。考慮到群集系統中的網絡穩定性, NFS 服務器與客戶機之間最好使用專有網絡進行連接。
(1) 安裝rpcbind 軟件包, 并啟動rpcbind 服務。
若要正常訪問NFS 共享資源, 客戶機中也需要安裝rpcbind 軟件包, 并啟動rpcbind系統服務。另外,為了使用showmount 查詢工具, 建議將nfs-utils 軟件包也一并裝上。

[root@localhost~]# yum -y i ns t all rpcbind nf s-utils
[root@l ocalhost ~] # sys t emct l enable rpcbi nd
[ root@l ocalhost ~]# sys t emct l start rpcbind

如果已經安裝了nfs-uti ls 軟件包,則客戶機也可以使用showmount 查看NFS 服務器端共享了哪些目錄, 查詢格式為“ shmvmount -e 服務器地址”。?

( 2 ) 手動掛載NFS 共享目錄。
以roo t 用戶身份執行mount操作, 將NFS 服務器共享的/opt/wwwroot目錄掛載到本地目錄/var/www/h tml 。

[root@l ocalhost ~]# mount 192. 168. 7.250:/opt/wwwroot /var/www/html
[root @localhost~]# tail -1 /etc/mtab //確認掛載結果

[root @localhost ~]# vi /var/www/html/i ndex.html? ? ? ??//在客戶機創建測試文件
Real Web Server Document

完成掛載以后, 訪問客戶機的/var/嚇w/html 文件夾, 實際上就相當千訪問NFS 服務器中的/opt/wwwroot文件夾, 其中的網絡映射過程對千用戶程序來說是透明的。例如, 上述操作中創建的index. ht ml 測試文件, 會立刻出現在服務器的/opt/wwwroot/目錄下。
(3) fstab 自動掛載設置。
修改/e t c/fs tab 配置文件, 加入NFS 共享目錄的掛載設置。注意將文件系統類型設為nfs , 掛載參數建議添加_net dev (設備需要網絡)。若添加soft 、intr 參數可以實現軟掛載,允許在網絡中斷時放棄掛載。這樣, 客戶機就可以在每次開機后自動掛載NFS 共享資源了。

[root @localhost ~]# vi /et c/f st ab
…… //省略部分信息
192. 168. 7. 250: /opt/wwwroot /var/www/html nfs defaul ts, _net dev 0?0

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

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

相關文章

使用U盤重裝系統

目錄 一、 制作啟動盤 1. 準備一個U盤和一臺電腦 2. 下載win10安裝包 二、安裝操作系統 1. 插入系統安裝盤 2. 通過進入BIOS界面進入到我們自己制作的啟動盤上 三、安裝成功后進行常規設置 一、 制作啟動盤 1. 準備一個U盤和一臺電腦 注意:提前備份好U盤內的…

jQuery Tooltip 插件使用教程

jQuery Tooltip 插件使用教程 引言 jQuery Tooltip 插件是 jQuery UI 套件的一部分,它為網頁元素添加了交互式的提示框功能。通過這個插件,開發者可以輕松地為鏈接、按鈕、圖片等元素添加自定義的提示信息,從而增強用戶的交互體驗。本文將詳細介紹如何使用 jQuery Tooltip…

JDK1.8下載、安裝與配置完整圖文2024最新教程

一、報錯 運行Pycharm時,報錯No JVM installation found. Please install a JDK.If you already have a JDK installed, define a JAVA_HOME variable in Computer >System Properties > System Settings > Environment Variables. 首先可以檢查是否已安裝…

【C語言】qsort()函數詳解:能給萬物排序的神奇函數

🦄個人主頁:修修修也 🎏所屬專欄:C語言 ??操作環境:Visual Studio 2022 目錄 一.qsort()函數的基本信息及功能 二.常見的排序算法及冒泡排序 三.逐一解讀qsort()函數的參數及其原理 1.void* base 2.size_t num 3.size_t size 4.int (*compar)(c…

2024西安國際儲能產業博覽會將于12月5日開幕!

2024西部國際儲能產業博覽會 同期舉辦:2024西部國際氫能源及燃料電池產業博覽會 2024年12月5-7日 西安國際會展中心 規劃展會規模: 50,000 ㎡ 450 60000人次 20場 展區面積 預邀展商 專業觀眾 行業…

節水增效,蜂窩物聯智能灌溉助力農業升級!

智能灌溉的優勢主要體現在以下幾個方面: 1. 提高效率:智能灌溉可以根據作物生長的不同階段和環境條件自動調整灌溉時間和水量,減少人工干預的頻率和時間,提高了灌溉效率。 2. 節約水資源:智能灌溉可以根據土壤濕度和…

Python爬蟲實戰案例——王者榮耀皮膚抓取

大家好,我是你們的老朋友——南楓,今天我們一起來學習一下該如何抓取大家經常玩的游戲——王者榮耀里面的所有英雄的皮膚。 老規矩,直接上代碼: 導入我們需要使用到的,也是唯一用到的庫: 我們要抓取皮膚其…

網絡物理隔離

網絡物理隔離是網絡安全領域中的一種基本策略,其核心目的是通過物理方式將網絡或網絡設備分隔開來,以確保數據安全、降低風險并提升系統的整體安全性。網絡物理隔離不僅防止了未經授權的訪問,也顯著降低了來自外部或內部威脅的風險。以下是網…

每天一個數據分析題(四百)- 一元線性回歸模型

評價一元線性回歸模型擬合程度時,主要根據( )的數值 A. 相關系數 B. R2 C. SSE D. SSR 數據分析認證考試介紹:點擊進入 題目來源于CDA模擬題庫 點擊此處獲取答案 數據分析專項練習題庫 內容涵蓋Python,SQL&…

大陸ARS548使用記錄

一、Windows連接上位機 雷達是在深圳路達買的,商家給的資料中首先讓配置網口,但我在使用過程中一直出現無法連接上位機的情況。接下來說說我的見解和理解。 1.1遇到的問題 按要求配置好端口后上位機無連接不到雷達,但wireshark可以正常抓到數…

PyPDF2拆分PDF文件的高級應用:指定拆分方式

本文目錄 前言一、拆分方式選擇1、代碼講解2、實現效果圖3、完整代碼前言 前兩篇文章,分別講解了將使用PyPDF2將PDF文檔分割成為單個頁面、在分割PDF文檔時指定只分割出指定頁面,如果你還沒有看過,然后有需要的話,可以去看一下,我把文章鏈接貼到這里: PyPDF2拆分PDF文件…

Nuxt3 的生命周期和鉤子函數(九)

title: Nuxt3 的生命周期和鉤子函數(九) date: 2024/7/3 updated: 2024/7/3 author: cmdragon excerpt: 摘要:本文介紹了Nuxt3中與Vite相關的五個生命周期鉤子,包括vite:extend、vite:extendConfig、vite:configResolved、vite…

CVE-2024-6387漏洞預警:盡快升級OpenSSH

OpenSSH維護者發布了安全更新,其中包含一個嚴重的安全漏洞,該漏洞可能導致在基于glibc的Linux系統中使用root權限執行未經身份驗證的遠程代碼。該漏洞的代號為regreSSHion,CVE標識符為CVE-2024-6387。它駐留在OpenSSH服務器組件(也…

雙階段目標檢測算法:精確與效率的博弈

雙階段目標檢測算法:精確與效率的博弈 目標檢測是計算機視覺領域的一個核心任務,它涉及在圖像或視頻中識別和定位多個對象。雙階段目標檢測算法是一種特殊的目標檢測方法,它通過兩個階段來提高檢測的準確性。本文將詳細介紹雙階段目標檢測算…

小型語言模型的興起

過去幾年,我們看到人工智能能力呈爆炸式增長,其中很大一部分是由大型語言模型 (LLM) 的進步推動的。GPT-3 等模型包含 1750 億個參數,已經展示了生成類似人類的文本、回答問題、總結文檔等能力。然而,雖然 LLM 的能力令人印象深刻…

純語義,再也不用寫css了

Mojo CSS 是一個下一代的原子級 CSS 框架,由 Mohammad Zamanian 和 Ali Mirabbasi 開發和維護,于2023年發布。這個框架的核心特性在于它能夠自動掃描你的HTML代碼,并根據這些代碼實時生成對應的CSS視覺效果,這意味著開發者無需手動…

(linux系統服務)FTP、NFS以及SAMBA服務

一、FTP服務 1、Linux下ftp客戶端管理工具 ftp、lftp都是Linux下ftp的客戶端管理工具,但是需要獨立安裝 # yum install ftp lftp -y☆ ftp工具 # ftp 10.1.1.10 Connected to 10.1.1.10 (10.1.1.10). 220 (vsFTPd 3.0.2) Name (10.1.1.10:root): 輸入FTP的賬號3…

electron教程(一)創建項目

一、方式① 根據官網描述將electron/electron-quick-start項目克隆下來并啟動 electron/electron-quick-start地址: GitHub - electron/electron-quick-start: Clone to try a simple Electron app git clone https://github.com/electron/electron-quick-start…

代碼隨想錄Day71(圖論Part07)

53.尋寶 題目:53. 尋寶(第七期模擬筆試) (kamacoder.com) 思路:首先,我不知道怎么存這樣的東西,用三維數組嗎,沒搞懂,果斷放棄 prim算法實現 import java.util.*;class Main {publi…

LeetCode 3099.哈沙德數:計算一個數十進制下各位之和

【LetMeFly】3099.哈沙德數:計算一個數十進制下各位之和 力扣題目鏈接:https://leetcode.cn/problems/harshad-number/ 如果一個整數能夠被其各個數位上的數字之和整除,則稱之為 哈沙德數(Harshad number)。給你一個…