目錄
簡介
一、LVS 與群集技術基礎
1.1 群集技術概述
1.2 負載均衡群集的分層結構
1.3 負載均衡工作模式
二、LVS 虛擬服務器核心組件與配置
2.1 LVS 內核模塊與管理工具
2.2 負載調度算法解析
2.3 ipvsadm 管理工具實戰
三、NFS 共享存儲服務配置
3.1 NFS 服務基礎配置
3.2 客戶端訪問 NFS 共享
四、案例:LVS-NAT 負載均衡群集
4.1 案例環境準備
4.2 配置負載調度器
4.3 配置真實服務器節點
4.4 測試 LVS 群集效果
五、總結
簡介
在當今互聯網應用場景中,單臺服務器早已無法滿足高并發、高可用的服務需求。LVS(Linux Virtual Server)作為 Linux 平臺下的高性能負載均衡解決方案,通過整合多臺服務器資源,以統一入口提供服務,成為企業構建高可用集群的核心技術之一。
一、LVS 與群集技術基礎
1.1 群集技術概述
群集(Cluster)是一組服務器的集合體,對外表現為一個整體服務單元。根據目標不同,群集主要分為三類:
- 負載均衡群集:提升系統響應能力,處理高并發請求(如 DNS 輪詢、反向代理)
- 高可用群集:確保服務連續性,減少中斷時間(如雙機熱備、故障切換)
- 高性能運算群集:整合計算資源,實現分布式運算(如云計算、網格計算)
1.2 負載均衡群集的分層結構
典型的負載均衡群集包含三個層次:
- 負載調度器:唯一入口,使用群集 IP(VIP),支持主備熱備
- 服務器池:真實服務器(RIP)組成,處理調度器分發的請求
- 共享存儲:確保各節點數據一致性,常用 NFS 或 NAS
1.3 負載均衡工作模式
LVS 支持三種核心工作模式:
- NAT 模式(地址轉換):調度器作為網關,服務器使用私有 IP,安全性高
- TUN 模式(IP 隧道):服務器分散在公網,通過隧道與調度器通信
- DR 模式(直接路由):服務器與調度器同網絡,性能更高
二、LVS 虛擬服務器核心組件與配置
2.1 LVS 內核模塊與管理工具
LVS 作為 Linux 內核模塊(ip_vs),默認已編譯。可通過以下命令加載并查看版本:
modprobe ip_vs # 手動加載ip_vs模塊
cat /proc/net/ip_vs # 查看LVS模塊版本信息
2.2 負載調度算法解析
LVS 提供多種調度算法,常用四種:
- 輪詢(RR):順序分配請求,不考慮服務器負載
- 加權輪詢(WRR):按權重分配,性能高的節點承擔更多請求
- 最少連接(LC):將請求分配給連接數最少的節點
- 加權最少連接(WLC):結合權重與連接數,動態調整分配
2.3 ipvsadm 管理工具實戰
(1)安裝 ipvsadm 工具
dnf install ipvsadm # 在OpenEuler系統中安裝ipvsadm管理工具
ipvsadm -v # 查看ipvsadm版本信息
(2)創建虛擬服務器
ipvsadm -A -t 172.16.16.172:80 -s rr # -A添加虛擬服務器,-t指定VIP和端口,-s指定輪詢算法
(3)添加真實服務器節點
ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m -w 1 # -a添加真實服務器,-r指定RIP和端口,-m指定NAT模式,-w設置權重為1
(4)查看群集狀態
ipvsadm -ln # -l列表顯示,-n以數字形式顯示IP和端口,避免DNS解析
(5)保存與恢復策略
ipvsadm-save > /etc/sysconfig/ipvsadm # 保存當前LVS策略到配置文件
systemctl start ipvsadm # 啟動ipvsadm服務,應用保存的策略
三、NFS 共享存儲服務配置
3.1 NFS 服務基礎配置
NFS(網絡文件系統)用于群集節點間數據共享,基于 RPC 機制實現:
(1)安裝 NFS 服務組件
yum -y install nfs-utils rpcbind # 安裝NFS服務和RPC支持組件
systemctl enable nfs-server rpcbind # 設置服務開機自啟動
(2)配置共享目錄
vi /etc/exports # 編輯NFS配置文件
# 添加以下內容(示例):
/opt/wwwroot 192.168.10.0/24(rw,sync,no_root_squash) # 共享/opt/wwwroot目錄給192.168.10.0/24網段,允許讀寫
(3)啟動 NFS 服務
systemctl start rpcbind # 先啟動RPC服務
systemctl start nfs-server # 再啟動NFS服務
netstat -anpt | grep rpc # 檢查RPC相關端口是否正常監聽
(4)查看共享目錄
showmount -e # 查看本機發布的NFS共享目錄
3.2 客戶端訪問 NFS 共享
(1)客戶端環境準備
yum -y install rpcbind nfs-utils # 安裝客戶端所需組件
systemctl enable rpcbind # 啟用RPC服務并設置自啟動
systemctl start rpcbind
(2)手動掛載 NFS 共享
mount 192.168.10.104:/opt/wwwroot /var/www/html # 掛載NFS共享目錄到本地路徑
tail -1 /etc/mtab # 確認掛載結果
(3)設置自動掛載
vi /etc/fstab # 編輯fstab文件
# 添加以下內容:
192.168.10.104:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0 # _netdev參數表示設備依賴網絡
四、案例:LVS-NAT 負載均衡群集
4.1 案例環境準備
主機 | 操作系統 | IP 地址 | 應用 |
lvs | OpenEuler 24.03 | 192.168.10.101 | ipvsadm(調度器) |
web1 | OpenEuler 24.03 | 192.168.10.102 | Apache(真實服務器) |
web2 | OpenEuler 24.03 | 192.168.10.103 | Apache(真實服務器) |
nfs | OpenEuler 24.03 | 192.168.10.104 | NFS(共享存儲) |
4.2 配置負載調度器
(1)開啟路由轉發
vi /etc/sysctl.conf # 編輯系統參數配置文件
# 添加:
net.ipv4.ip_forward=1 # 啟用IP轉發功能
sysctl -p # 立即生效配置
(2)配置 VIP 地址
ifconfig ens36 inet 192.168.74.129 netmask 255.255.255.0 # 為ens36網卡配置VIP地址
# 若網卡配置文件不存在,創建并編輯:
vi /etc/sysconfig/network-scripts/ifcfg-ens36
# 內容示例:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.74.129
NETMASK=255.255.255.0
(3)配置 LVS 負載策略
ipvsadm -C # 清除原有LVS策略
ipvsadm -A -t 192.168.74.129:80 -s rr # 創建虛擬服務器,使用輪詢算法
ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.102:80 -m -w 1 # 添加真實服務器1,NAT模式,權重1
ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.103:80 -m -w 1 # 添加真實服務器2,NAT模式,權重1
ipvsadm --save # 保存LVS策略
systemctl enable ipvsadm # 設置ipvsadm服務開機自啟動
4.3 配置真實服務器節點
(1)設置網關指向調度器
route del default gw 192.168.10.254 # 刪除原有默認網關
route add default gw 192.168.10.101 # 設置LVS調度器為新網關
(2)安裝 Web 服務并配置
yum -y install httpd # 安裝Apache服務
mount 192.168.10.104:/opt/wwwroot /var/www/html # 掛載NFS共享目錄
vi /var/www/html/index.html # 創建測試網頁(不同節點可設置不同內容用于測試)
# 示例內容:
<h1>LVS負載均衡群集--節點1測試網頁</h1>
systemctl start httpd # 啟動Apache服務
systemctl enable httpd # 設置開機自啟動
4.4 測試 LVS 群集效果
(1)查看 LVS 節點狀態
ipvsadm -ln # 查看LVS群集配置和節點狀態
# 輸出示例:
TCP 192.168.74.129:80 rr
->192.168.10.102:80 Masq 1 0 0
->192.168.10.103:80 Masq 1 0 0
(2)查看連接記錄
ipvsadm -lnc # 查看客戶端連接詳細信息
(3)瀏覽器訪問測試
通過瀏覽器多次訪問??http://192.168.74.129?
?,觀察網頁內容是否在不同節點間切換,驗證負載均衡效果。
五、總結
LVS-NAT 模式作為最基礎的負載均衡方案,通過地址轉換實現請求分發,具有配置簡單、安全性高的特點,適合中小規模應用場景。在實際生產環境中,可根據需求進一步擴展:
- 性能優化:切換至 DR 模式或 TUN 模式,提升吞吐量
- 高可用增強:結合 Keepalived 實現調度器熱備
- 復雜場景:與 Docker、Kubernetes 等容器技術結合,構建彈性集群
- 監控體系:集成 Prometheus、Grafana 等工具,實時監控集群狀態
LVS 作為 Linux 內核級的負載均衡方案,憑借其高效性和穩定性,在金融、電商、云計算等領域廣泛應用。掌握 LVS 核心原理與配置,是構建高可用、可擴展服務架構的重要基礎。