LVS负载均衡群集部署之——NAT模式的介绍及搭建步骤
文章目錄
- 一、企業群集應用概述
- 1.1 群集的三種類型
- 1 負載均衡群集
- 2 高可用群集
- 3 高性能運算群集
- 1.2 負載均衡結構
- 1.3 負載均衡群集工作模式
- (1) NAT模式——地址轉換
- (2) TUN模式——IP隧道
- (3) DR模式——直接路由
- 1.4 關于LVS虛擬服務器
- 1.4.1 LVS 的負載調度算法
- 1.4.2 使用 ipvsadm 管理工具
- 二、NAT模式 LVS負載均衡群集部署
- 2.1 NAT模式 LVS負載均衡群集部署操作步驟(理論)
- 1.部署共享存儲(NFS服務器:192.168.153.70)
- 2.配置節點服務器(192.168.80.10、192.168.80.20)
- 3.配置負載調度器(內網關 ens33:192.168.80.1,外網關 ens36:12.0.0.1)
- (1)配置SNAT轉發規則
- (2)加載LVS內核模塊
- (3)安裝ipvsadm 管理工具
- (4)配置負載分配策略(NAT模式只要在服務器上配置,節點服務器不需要特殊配置)
- 4.測試效果
- 2.2 NAT模式 LVS負載均衡群集部署實驗具體步驟(實操)
- 第一步:環境搭建
- 第二步:部署共享服務器(NFS服務器:192.168.153.70)
- 第三步:配置節點服務器(192.168.153.50、192.168.153.60)
- 第四步:配置負載調度器(內網關 ens33:192.168.153.40,外網關 ens36:12.0.0.1)
- 第五步:瀏覽器中進行測試(不斷刷新瀏覽器測試負載均衡效果,刷新間隔需長點)
一、企業群集應用概述
群集的含義
Cluster,集群、群集
由多臺主機構成,但對外只表現為一個整體
1.1 群集的三種類型
負載均衡群集、高可用群集和高性能運算群集。
1 負載均衡群集
提高應用系統的響應能力、盡可能處理更多的訪問請求、減少延遲為目標,獲得高并發、高負載(LB)的整體性能
LB的負載分配依賴于主節點的分流算法
2 高可用群集
提高應用系統的可靠性、盡可能地減少中斷時間為目標,確保服務的連續性,達到高可用(HA)的容錯效果
HA的工作方式包括雙工和主從兩種模式
3 高性能運算群集
提高應用系統的CPU運算速度、擴展硬件資源和分析能力為目標,獲得相當于大型、超級計算機的高性能運算(HPC)能力
高性能依賴于“分布式運算”、“并行計算”,通過專用硬件和軟件將多個服務器的CPU、內存等資源整合在一起,實現只有大型、超級計算機才具備的計算能力
1.2 負載均衡結構
第一層,負載調度器(Load Balancer或Director)
第二層,服務器池(Server Pool)
第三層,共享存儲(Share Storage)
1.3 負載均衡群集工作模式
負載均衡群集是目前企業用得最多的群集類型
群集的負載調度技術有三種工作模式
(NAT)地址轉換
(TUN)IP隧道
(DR)直接路由
(1) NAT模式——地址轉換
Network Address Translation,簡稱NAT模式;
類似于防火墻的私有網絡結構,負載調度器作為所有服務器節點的網關,即作為客戶機的訪問入口,也是各節點回應客戶機的訪問出口;
服務器節點使用私有IP地址,與負載調度器位于同一個物理網絡,安全性要優于其他兩種方式。
(2) TUN模式——IP隧道
IP Tunnel,簡稱TUN模式;
采用開放式的網絡結構,負載調度器僅作為客戶機的訪問入口,各節點通過各自的Internet連接直接回應客戶機,而不再經過負載調度器;
服務器節點分散在互聯網中的不同位置,具有獨立的公網IP地址,通過專用IP隧道與負載調度器相互通信。
(3) DR模式——直接路由
Direct Routing,簡稱DR模式
采用半開放式的網絡結構,與TUN模式的結構類似,但各節點并不是分散在各地,而是與調度器位于同一個物理網絡
負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的IP隧道
1.4 關于LVS虛擬服務器
Linux Virtual Server 是針對 Linux 內核開發的一個負載均衡項目,由我國的章文嵩 博士在 1998 年 5 月創建,官方站點位于 http://www.linuxvirtualserver.org/。LVS 實際 上相當于基于 IP 地址的虛擬化應用,為基于 IP 地址和內容請求分發的負載均衡提出了一種 高效的解決方法。
LVS 現在已成為 Linux 內核的一部分,默認編譯為 ip_vs 模塊,必要時能夠自動調用。 在 CentOS 7 系統中,以下操作可以手動加載 ip_vs 模塊,并查看當前系統中 ip_vs 模塊的 版本信息。
1.4.1 LVS 的負載調度算法
針對不同的網絡服務和配置需要,LVS 調度器提供多種不同的負載調度算法,其中最常用的四種算法是輪詢、加權輪詢、最少連接和加權最少連接。
輪詢(Round Robin):將收到的訪問請求按照順序輪流分配給群集中的各節點,均 等地對待每臺服務器,而不管服務器實際的連接數和系統負載。
加權輪詢(Weighted Round Robin):根據調度器設置的權重值來分發請求,權重 值高的節點優先獲得任務并且分配的請求越多,這樣可以保證性能高的節點承擔更 多請求。
最少連接(Least Connections):根據真實服務器已建立的連接數進行分配,將收 到的訪問請求優先分配給連接數最少的節點。如果所有的服務器節點性能相近,采 用這種方式可以更好地均衡負載。
加權最少連接(Weighted Least Connections):在服務器節點的性能差異較大的 情況下,調度器可以根據節點服務器負載自動調整權重,權重較高的節點將承擔更 大比例的活動連接負載。
1.4.2 使用 ipvsadm 管理工具
ipvsadm 是在負載調度器上使用的 LVS 群集管理工具,通過調用 ip_vs 模塊來添加、刪 除 服 務器 節 點 ,以 及 查 看 群集 的 運 行狀 態 。 在 CentOS 7 系 統 中 , 需 要 手動 安裝 ipvsadm.x86_64 0:1.27-7.el7 軟件包。
[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# ipvsadm -v
ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
LVS 群集的管理工作主要包括創建虛擬服務器、添加服務器節點、查看群集節點狀態、 刪除服務器節點和保存負載分配策略。
ipvsadm 工具選項說明:
選項 解釋
-A 添加虛擬服務器
-D 刪除整個虛擬服務器
-s 指定負載調度算法(輪詢:rr、加權輪詢:wrr、最少連接:lc、加權最少連接:wlc)
-a 表示添加真實服務器(節點服務器)
-d 刪除某一個節點
-t 指定 VIP地址及 TCP端口
-r 指定 RIP地址及 TCP端口
-m 表示使用 NAT群集模式
-g 表示使用 DR模式
-i 表示使用 TUN模式
-w 設置權重(權重為 0 時表示暫停節點)
-p 60 表示保持長連接60秒
-l 列表查看 LVS 虛擬服務器(默認為查看所有)
-n 以數字形式顯示地址、端口等信息,常與“-l”選項組合使用。ipvsadm -ln
二、NAT模式 LVS負載均衡群集部署
2.1 NAT模式 LVS負載均衡群集部署操作步驟(理論)
實驗環境準備:
負載調度器:內網關 ens33:192.168.153.40,外網關 ens37:12.0.0.1
Web節點服務器1:192.168.153.60
Web節點服務器2:192.168.153.50
NFS服務器:192.168.153.70
客戶端:12.0.0.12
1.部署共享存儲(NFS服務器:192.168.153.70)
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
yum install nfs-utils rpcbind -y
systemctl start rpcbind.service
systemctl start nfs.service
systemctl enable rpcbind.service
systemctl enable nfs.service
mkdir /opt/accp/ /opt/benet/
chmod 777 /opt/kgc /opt/benet
echo ‘this is accp web!’ > /opt/kgc/index.html
echo ‘this is benet web!’ > /opt/benet/index.html
vim /etc/exports
/opt/accp 192.168.153.0/24(rw,sync)
/opt/benet 192.168.153.0/24(rw,sync)
–發布共享—
exportfs -rv
2.配置節點服務器(192.168.80.10、192.168.80.20)
ens33網關需要設置為網關服務器
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
yum install httpd -y
systemctl start httpd.service
systemctl enable httpd.service
yum install nfs-utils rpcbind -y
showmount -e 192.168.80.30
systemctl start rpcbind.service
systemctl start nfs.service
systemctl enable rpcbind.service
systemctl enable nfs.service
–192.168.80.10—
mount.nfs 192.168.80.30:/opt/kgc /var/www/html
vim /etc/fstab
192.168.80.30:/opt/kgc /myshare nfs defaults,_netdev 0 0
另一臺節點服務器掛載如下:
–192.168.80.20—
mount.nfs 192.168.153.70:/opt/benet /var/www/html
vim /etc/fstab
192.168.80.30:/opt/benet /myshare nfs defaults,_netdev 0 0
3.配置負載調度器(內網關 ens33:192.168.80.1,外網關 ens36:12.0.0.1)
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
(1)配置SNAT轉發規則
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 #添加ip路由轉發
或 echo ‘1’ > /proc/sys/net/ipv4/ip_forward
sysctl -p
iptables -t nat -F
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.153.0/24 -o ens36 -j SNAT --to-source 12.0.0.1
(2)加載LVS內核模塊
modprobe ip_vs #加載 ip_vs模塊
cat /proc/net/ip_vs #查看 ip_vs版本信息
##加載全部模塊
for i in (ls/usr/lib/modules/(ls /usr/lib/modules/(ls/usr/lib/modules/(uname -r)/kernel/net/netfilter/ipvs|grep -o “[.]*”);do echo $i; /sbin/modinfo -F
filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done
(3)安裝ipvsadm 管理工具
yum -y install ipvsadm
–啟動服務前須保存負載分配策略—
ipvsadm-save > /etc/sysconfig/ipvsadm
或者 ipvsadm --save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service
(4)配置負載分配策略(NAT模式只要在服務器上配置,節點服務器不需要特殊配置)
ipvsadm -C #清除原有策略
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.153.50:80 -m [-w 1] #添加真實ip
ipvsadm -a -t 12.0.0.1:80 -r 192.168.153.60:80 -m [-w 1] #添加真實ip
ipvsadm #啟用策略
ipvsadm -ln #查看節點狀態,Masq代表 NAT模式
ipvsadm-save > /etc/sysconfig/ipvsadm #保存策略
ipvsadm -d -t 12.0.0.1:80 -r 192.168.80.10:80 -m [-w 1] #刪除群集中某一節點服務器
ipvsadm -D -t 12.0.0.1:80 #刪除整個虛擬服務器
systemctl stop ipvsadm #停止服務(清除策略)
systemctl start ipvsadm #啟動服務(重建規則)
ipvsadm-restore < /etc/sysconfig/ipvsadm #恢復LVS 策略
4.測試效果
網絡設置里面網關需要設置為網關服務器
在一臺IP為12.0.0.12的客戶機使用瀏覽器訪問 http://12.0.0.1/ ,不斷刷新瀏覽器測試負載均衡效果,刷新間隔需長點。
2.2 NAT模式 LVS負載均衡群集部署實驗具體步驟(實操)
第一步:環境搭建
1)網關服務器網卡配置(在虛擬機設置里面添加新網卡),內外網網關ip如下:
2)web節點服務器1的IP和網關如下:
3)web節點服務器2的IP和網關如下:
4)客戶端IP和網關設置如下:
5)關閉所有設備的防火墻和SElinux
第二步:部署共享服務器(NFS服務器:192.168.153.70)
1)安裝相關軟件并設置開機自啟
2)創建accp和benet目錄,分別創建index.html并寫入內容
3)添加要發布的目錄
4)發布共享
第三步:配置節點服務器(192.168.153.50、192.168.153.60)
1)節點服務器1和2安裝httpd服務并開啟
2)節點服務器1和2安裝nfs-utils和rpcbind程序
3)節點服務器1掃描并掛載共享目錄
4)節點服務器2掃描并掛載共享目錄
第四步:配置負載調度器(內網關 ens33:192.168.153.40,外網關 ens36:12.0.0.1)
1)配置SNAT轉發規則
2)情況iptables規則并添加新規則
3)加載LVS內核模塊并查看
4)安裝ipvsadm管理工具
5)保存負載分配策略并啟動服務
6)配置負載分配策略(NAT模式只要在服務器上配置,節點服務器不需要特殊配置)
7)查看節點策略并保存
第五步:瀏覽器中進行測試(不斷刷新瀏覽器測試負載均衡效果,刷新間隔需長點)
總結
以上是生活随笔為你收集整理的LVS负载均衡群集部署之——NAT模式的介绍及搭建步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tomcat多实例和负载均衡
- 下一篇: LVS负载均衡群集部署之——DR模式的介