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