溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

模擬lvs-nat模式的負載均衡集群詳解

發(fā)布時間:2020-04-17 13:48:10 來源:億速云 閱讀:181 作者:三月 欄目:建站服務(wù)器

下文給大家?guī)砟Mlvs-nat模式的負載均衡集群詳解,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用億速云在行業(yè)內(nèi)累計的經(jīng)驗來做一個解答。

一、前言

 本次所有的實驗均在虛擬機的環(huán)境中進行,實驗的目的是搭建lvs-nat模式的負載均衡集群。本文不涉及l(fā)vs原理,只模擬了lvs-nat模式的負載均衡集群。

 

二、拓撲圖

模擬lvs-nat模式的負載均衡集群詳解

工具:ipvsadm

    環(huán)境準備:

    客戶端:192.168.91.128

    負載均衡云服務(wù)器:VIP:192.168.91.3 DIP:10.0.0.254

    真實服務(wù)器RS1:IP:10.0.0.111 gw:10.0.0.254

    真實服務(wù)器RS2:IP:10.0.0.5 gw:10.0.0.254

三、實驗操作

 1.客戶端操作   

[root@localhost ~]# ip a l | grep "ens33"       #查看ip
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.91.128/24 brd 192.168.91.255 scope global dynamic ens33

 2.RS1服務(wù)端操作

[root@rs1 ~]#  ip a l | grep "ens33"         #查看ip
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 10.0.0.111/24 brd 10.0.0.255 scope global ens33
[root@rs1 ~]# setenforce 0                #關(guān)閉selinux
[root@rs1 ~]# iptables -F                 #為了實驗方便,清空防火墻規(guī)則
yum install httpd                     #安裝httpd
[root@rs1 ~]# cat /var/www/html/index.html        #查看測試web內(nèi)容
<h3>web server RS1</h3>
[root@rs1 ~]# systemctl start httpd           #啟動httpd
[root@rs1 ~]# ss -tln | grep 80
LISTEN     0      128         :::80                      :::*

 3.RS2服務(wù)端操作

  操作大抵和上面一致

[root@rs2 ~]# ip a l | grep "ens33"
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 10.0.0.5/24 brd 10.0.0.255 scope global ens33
[root@rs2 ~]# setenforce 0
[root@rs2 ~]# iptables -F    
yum install httpd
[root@rs2 ~]# cat /var/www/html/index.html 
<h3>web server RS2</h3>
[root@rs2 ~]# systemctl start httpd
[root@rs2 ~]# ss -tln | grep 80
LISTEN     0      128         :::80                      :::*

 4.負載均衡服務(wù)端操作

[root@localhost ~]# ip a l | egrep "ens33|ens37"   #查看ip
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.91.3/24 brd 192.168.91.255 scope global dynamic ens33
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 10.0.0.254/8 brd 10.255.255.255 scope global ens37
yum install ipvsadm                    #安裝lvs管理工具ipvsadm
[root@localhost ~]# rpm -ql ipvsadm           #查看ipvsadm程序環(huán)境
/etc/sysconfig/ipvsadm-config                #配置文件
/usr/lib/systemd/system/ipvsadm.service    
/usr/sbin/ipvsadm                      #核心工具
/usr/sbin/ipvsadm-restore                  #讀入配置文件
/usr/sbin/ipvsadm-save                    #保存ipvsadm規(guī)則
/usr/share/doc/ipvsadm-1.27
/usr/share/doc/ipvsadm-1.27/README
/usr/share/man/man8/ipvsadm-restore.8.gz
/usr/share/man/man8/ipvsadm-save.8.gz
/usr/share/man/man8/ipvsadm.8.gz
[root@localhost ~]# systemctl enable ipvsadm       #設(shè)置開機自啟動
[root@localhost ~]# systemctl start ipvsadm       #啟動服務(wù)
echo 1 > /proc/sys/net/ipv4/ip_forward          #開啟核心轉(zhuǎn)發(fā)
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward    
1
setenforce 0                         #關(guān)閉selinux                           
iptabels -F                         #為了實驗方便,清空防火墻規(guī)則
ipvsadm -A -t 192.168.91.3:80 -s rr           #設(shè)置lvs調(diào)度器的算法為輪詢 
ipvsadm -a -t 192.168.91.3:80 -r 10.0.0.111:80 -m    #添加RS1服務(wù)器,-m選項即指定nat模式
ipvsadm -a -t 192.168.91.3:80 -r 10.0.0.0.5:80 -m    #添加RS2服務(wù)器
ipvsadm-save

 5.客戶端測試

 根據(jù)腳本的結(jié)果分析可知,客戶端輪詢訪問兩個真實服務(wù)器(RS1、RS2),由此證明成功地實現(xiàn)了輪詢調(diào)度算法的負載均衡模式。

[root@localhost ~]# for i in {1..10};do curl http://192.168.91.3;done
<h3>web server RS2</h3>
<h3>web server RS1</h3>
<h3>web server RS2</h3>
<h3>web server RS1</h3>
<h3>web server RS2</h3>
<h3>web server RS1</h3>
<h3>web server RS2</h3>
<h3>web server RS1</h3>
<h3>web server RS2</h3>
<h3>web server RS1</h3>

 6.修改調(diào)度算法為wrr(加權(quán)輪詢)

  負載均衡服務(wù)器端操作

[root@localhost ~]# ipvsadm -E -t 192.168.91.3:80 -s wrr               #修改調(diào)度算法為wrr
[root@localhost ~]# ipvsadm -e -t 192.168.91.3:80 -r 10.0.0.111:80 -m -w 2    #修改RS1的權(quán)重為2
[root@localhost ~]# ipvsadm -Ln                             #查看規(guī)則
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.91.3:80 wrr
  -> 10.0.0.5:80                  Masq    1      0          11        
  -> 10.0.0.111:80                Masq    2      0          14

  客戶端操作

   根據(jù)腳本的結(jié)果分析可知,客戶端先訪問一次RS2,接著再訪問兩次RS1,如此循環(huán)訪問。由此證明成功地實現(xiàn)了加權(quán)輪詢調(diào)度算法的負載均衡模式。

測試
[root@localhost ~]# for i in {1..10};do curl 192.168.91.3;done
<h3>web server RS2</h3>
<h3>web server RS1</h3>
<h3>web server RS1</h3>
<h3>web server RS2</h3>
<h3>web server RS1</h3>
<h3>web server RS1</h3>
<h3>web server RS2</h3>
<h3>web server RS1</h3>
<h3>web server RS1</h3>
<h3>web server RS2</h3>

四、實驗需要注意的問題

  1.根據(jù)真實環(huán)境,VIP為公網(wǎng)地址,RIP應(yīng)該為私有地址,這樣的目的是將服務(wù)器隱藏起來。所以在虛擬機實驗時最好將VIP設(shè)置為橋接的模式,RID設(shè)置為僅主機模式。

  2.RID的網(wǎng)關(guān)必須指向負載均衡器的DIP,并且RID與DIP在同一網(wǎng)段內(nèi)。

  3.負載均衡器一定要開啟核心轉(zhuǎn)發(fā)功能

  4.設(shè)置好相應(yīng)的防火墻規(guī)則(或者直接關(guān)閉),并且關(guān)閉selinux。

看了以上關(guān)于模擬lvs-nat模式的負載均衡集群詳解,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,億速云技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗了。

 

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI