1. 程式人生 > >LVS負載均衡群集

LVS負載均衡群集

-s ans 超級計算機 rgb res 存儲設備 family 負載均衡 參數

群集的含義:

cluster,群集,集群

由多臺主機構成,但對外只表現為一個整體

群集的類型

  1. 負載均衡群集(Load Balance Cluster):以提高應用系統的響應能力,盡可能處理更多的訪問請求,減少延遲為目標,獲得高並發、高負載(LB)的整體性能。

  2. 高可用群集(High Availability Cluster):以提高應用系統的可靠性、盡可能地減少中斷時間為目標,確保服務的連續性、達到高可用(HA)的容錯效果。

  3. 高性能運算群集(High Performance Computer Cluster):以提高應用系統的CPU運算速度、擴展硬件資源和分析能力為目標,獲得相當於大型、超級計算機的高性能運算(HPC)能力。

負載均衡的分層結構

技術分享圖片

負載均衡的工作模式

技術分享圖片

1)地址轉換,簡稱nat模式,負載均衡調度器作為網關,服務器和負載調度器在同一個私有網絡,安全性較好。

2)Ip隧道,簡稱tun模式,負載調度器僅作為客戶機的訪問入口,各節點通過各自的internet連接直接回應客戶機,不在經過負載調度器,服務器的節點分散在互聯網的不同位置,具有獨立的共有ip地址,通過專用的ip隧道與負載調度器相互通信。

3)直接路由,簡稱DR模式,與TUN模式類似,但各節點不是分散在各地,而是與調度器位於同一個物理網絡,負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的ip隧道。

以上三種工作模式中,NAT方式只需要一個公網IP地址,從而成為最易用的一種負載均衡模式,安全性也比較好,許多硬件負載均衡設備就是采用這種方式;相比較而言,DR模式和TUN模式的負載能力強大,適用範圍更廣,但節點的安全性要稍差一些。

LVS虛擬服務器(Linux Virtual Server)

針對Linux內核開發的一個負載均衡項目,由我國的章文嵩博士在1988年5月創建,官方站點位於htttp://www.linuxvirtualserver.org/。

LVS現在已成為Linux內核的一部分,默認編譯為ip_vs模塊,必要時能夠自動調用。

技術分享圖片

LVS的負載調度算法

1)輪詢:將受到的訪問請求按順序輪流分配給群集中的各節點,不管服務器的連接數和系統負載。

2)加權輪詢:也是輪流分配,但是可以調整權重,讓處理性能強的服務器承擔更多的訪問流量。

3)最少連接:根據連接數分配,分配給連接數少的節點。

4)加權最少連接:權重高的節點將承擔更大比例的負載。

使用ipvsadm管理工具

ipvsadm是在負載調度器上使用的LVS群集管理工具,通過調用ip_vs模塊來添加、刪除服務器節點,以及查看群集的運行狀態。需要手動安裝

技術分享圖片

技術分享圖片

ipvsadm命令選項參數

選項
含義
舉例
-A
添加虛擬服務器
ipvsadm -A -t 172.16.16.172:80 -s rr
-t
指定VIP(虛擬IP)地址及TCP端口

-s
指定負載調度算法,輪詢(rr)、加權輪詢(wrr)、最少連接(lc)、加權最少連接(wlc)

-p
保持連接時間(秒)

-a
添加真實服務器
ipvsadm -a -t 172.16.16.172:80 -r 192.168.1.10:80 -m -w 1
-r
指定RIP(真實IP)地址及TCP端口

-m
使用NAT群集模式

-g
使用DR模式

-i
使用TUN模式

-w
設置權重(權重為0時表示暫停節點)

-l
可以列表查看LVS虛擬服務器
ipvsadm -ln
-n
以數字形式顯示地址、端口等信息,
-d
刪除服務器池中某一個節點,執行刪除操作必須指定目標對象,包括節點地址、虛擬IP地址。
ipvsadm -d -r 192.168.1.10:80 -t 172.16.16.172:80
-D
刪除整個虛擬機服務器,只需指定虛擬IP地址即可
ipvsadm -D -t 172.16.16.172:80
ipvsadm-save
保存LVS策略
ipvsadm-save > /etc/sysconfig/ipvsadm
ipvsadm-restore
恢復LVS策略
ipvsadm-save < /etc/sysconfig/ipvsadm

NFS共享存儲服務

NFS是一種基於TCP/IP傳輸的網絡文件系統協議,最初有SUN公司開發。

  1. 使用NFS發布共享資源

NFS服務的實現依賴於RPC(Remote Process Call,遠程過程調用)機制,以完成遠程到本地的映射過程。

(1)安裝支持軟件

技術分享圖片

(2)設置共享目錄

NFS的配置文件為/etc/exports,文件內容默認為空。

技術分享圖片

技術分享圖片

當需要將同一個目錄共享給不同的客戶機,且分配不同的權限是,只需以空格分隔即可。

技術分享圖片

(3)啟動NFS服務程序

技術分享圖片

(4)查看NFS服務程序

技術分享圖片

(5)設置iptables,允許客戶機訪問

技術分享圖片

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

訪問時使用mount命令來進行掛載,對應的文件系統類型為nfs。既可以手動掛載,也可以加入fstab配置文件來實現開機自動掛載。

(1)安裝rpcbind、nfs-utils軟件包

(2)查看共享目錄

技術分享圖片

(3)手動掛載NFS共享目錄

技術分享圖片

完成掛載以後,訪問客戶機的/var/www/html文件夾,實際上就相當於訪問NFS服務器中的/opt/wwwroot文件夾,其中的網絡映射過程對於用戶程序來說是透明的。

(4)fstab自動掛載設置

技術分享圖片

技術分享圖片

構建LVS負載均衡群集

一、構建地址轉換模式(LVS-NAT)

實驗環境

技術分享圖片

  1. 配置負載調度器

(1)安裝ipvsdm工具

(2)配置SNAT轉發規則

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

(3)配置負載轉發策略

技術分享圖片

2.搭建NFS服務器(方法同上)

3.配置節點服務器

所有的節點服務器均使用相同的配置,包括httpd服務端口、網站文檔內容。實際上各節點的網站文檔可存放在共享存儲設備中,從而免去同步的過程。但在案例調試階段可以為各節點采用不同的網頁,以便測試負載均衡效果。

技術分享圖片

技術分享圖片

設置iptables規則

技術分享圖片

4.測試LVS群集

安排多臺測試,從Internet中直接訪問 http://172.16.16.172/ ,將能夠看到由真實服務器提供的網頁內容,如果各節點網頁不同,則不同客戶機看到的網頁可能也不一樣(可以多刷新幾次)

在LVS負載均衡調度器中,通過查看節點狀態可以觀察當前的負載分配情況,對於輪詢算法來說,每個節點所獲得的連接負載應大致相當。

技術分享圖片



二、構建直接路由模式(LVS-DR)

實驗環境

技術分享圖片

  1. 配置負載調度器

(1)配置虛擬IP地址(VIP)

采用虛接口的方式(eth0:0),為網卡eth0綁定VIP地址,以便響應群集訪問。

技術分享圖片

技術分享圖片

技術分享圖片

(2)調整/proc響應參數

對於DR群集模式來說,由於LVS負載調度器和各節點需要共用VIP地址,應該關閉Linux內核的重定向參數響應

vim /etc/sysctl.conf

技術分享圖片

執行 sysctl -p ,立即生效

(3)配置負載分配策略

技術分享圖片

2.配置NFS服務器(方法同上)

3.配置節點服務器

(1)配置虛擬IP地址(VIP)

技術分享圖片

技術分享圖片

技術分享圖片

添加VIP本地訪問路由

永久

技術分享圖片

技術分享圖片

臨時

技術分享圖片

(2)調整/proc響應參數

vim /etc/sysctl.conf

技術分享圖片

執行 sysctl -p ,立即生效

(3)搭建測試網站(方法同上),並啟用httpd服務程序

4.測試LVS群集

技術分享圖片


LVS負載均衡群集