LVS負載均衡部署

1、lvs-nat模式

1.一、環境介紹linux

  本實驗用三臺虛擬機完成,一臺虛擬機模擬lvs調度器,兩塊網卡,一塊模擬公網一塊模擬私網,公網地址192.168.0.201/24,私網地址192.168.4.130/24,另外兩臺虛擬機分別模擬一臺後端web服務器。IP地址分別爲192.168.4.128/24,192.168.4.129/24,兩臺web服務器經過私網地址和調度服務器鏈接,此例一權重輪訓方式爲例。經過訪問192.168.0.201達到輪訓兩臺web服務器。若是兩臺web服務器的資源是同樣的就能夠達到web服務器的負載均衡。web

1.二、環境準備算法

  兩臺web服務器起web服務,配置默認首頁,首頁內容分別爲二者的IP地址。這裏不詳細介紹。vim

  配置三臺服務器的IP地址。後端

  配置命令:centos

  lvs服務器: 服務器

1 nmcli connection modi ens34 ipv4.method manual ipv4.addresses 192.168.4.130/24 ipv4.gateway 192.168.4.2 ipv4.dns 114.114.114.114 connection.autoconnect yes 2 nmcli connection up ens34 3 nmcli connection modi ens33 ipv4.method manual ipv4.addresses 192.168.0.201/24 ipv4.gateway 192.168.4.2 ipv4.dns 114.114.114.114 connection.autoconnect yes 4 nmcli connection up ens33

  web服務器:網絡

1 nmcli connection modi ens34 ipv4.method manual ipv4.addresses 192.168.4.128/24 ipv4.gateway 192.168.4.130 ipv4.dns 114.114.114.114 connection.autoconnect yes #這裏網關必須是lvs服務器內網的IP地址 2 nmcli connection up ens34
1 nmcli connection modi ens34 ipv4.method manual ipv4.addresses 192.168.4.129/24 ipv4.gateway 192.168.4.130 ipv4.dns 114.114.114.114 connection.autoconnect yes #這裏網關必須是lvs服務器內網的IP地址 2 nmcli connection up ens34

1.三、配置lvs調度服務器負載均衡

  1.3.一、安裝ipvsadm工具curl

  lvs是linux內置的功能模塊,是集成在內核中的,可是須要ipvsadm工具來傳遞命令給內核才能使用。

  命令: 

1 yum -y install ipvsadm

  1.3.二、配置調度器

[root@client ~]# ipvsadm -A -t 192.168.0.201:80 -s wrr [root@client ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.201:80 wrr [root@client ~]# ipvsadm -a -t 192.168.0.201:80 -r 192.168.4.128 -w 2 -m [root@client ~]# ipvsadm -a -t 192.168.0.201:80 -r 192.168.4.129 -w 1 -m [root@client ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.201:80 wrr -> 192.168.4.128:80             Masq    2      0          0         
  -> 192.168.4.129:80             Masq    1      0          0 [root@client ~]# 

1.3.三、測試負載均衡

 

 測試成功,兩臺web服務器經過訪問192.168.0.201,實際訪問的是192.168.4.128和192.168.4.129,且是加權輪訓,128的權重是2,訪問時輪訓2次後,訪問另外一臺web,因此纔出現上述結果。

 2、LVS-DR負載均衡部署

2.一、實驗背景

使用LVS實現DR模式的集羣調度服務器,爲用戶提供Web服務:

  • 客戶端IP地址爲192.168.0.6
  • LVS調度器VIP地址爲192.168.0.202
  • LVS調度器DIP地址設置爲192.168.0.201
  • 真實Web服務器地址分別爲192.168.0.1九、192.168.0.127
  • 使用加權輪詢調度算法,web1的權重爲1,web2的權重爲2

說明:

CIP是客戶端的IP地址;

VIP是對客戶端提供服務的IP地址;

RIP是後端服務器的真實IP地址;

DIP是調度器與後端服務器通訊的IP地址(VIP必須配置在虛擬接口)。

2.二、方案

使用4臺虛擬機,1臺做爲客戶端、1臺做爲Director調度器、2臺做爲Real Server,拓撲結構如圖-2所示。實驗拓撲結構主機配置細節如表-4所示。

 

 

 

 2.三、配置步驟

實現此案例須要按照以下步驟進行。

說明:

CIP是客戶端的IP地址;

VIP是對客戶端提供服務的IP地址;

RIP是後端服務器的真實IP地址;

DIP是調度器與後端服務器通訊的IP地址(VIP必須配置在虛擬接口)。

步驟一:配置實驗網絡環境

2.3.一、設置LVS代理服務器的VIP和DIP

注意:爲了防止衝突,VIP必需要配置在網卡的虛擬接口。

 

 

 

重啓網卡,可是重啓網卡後可能不生效,須要將另外一個網卡管理程序關掉(通常在rhel7和centos7以上的版本中會出現這種狀況)

命令:

 

2.3.二、設置Web1服務器網絡參數

1 nmcli connect modif ens33 ipv4.method manual ipv4.address 192.168.0.19/24 ipv4.gateway 192.168.0.1 ipv4.dns 114.114.114.114 connection.autoconnect yes 2 nmcli connect up ens3

接下來給web1配置VIP地址。

注意:這裏的子網掩碼必須是32(也就是全255),網絡地址與IP地址同樣,廣播地址與IP地址也同樣。

 

 

 

 配置完web1的VIP後先不急着重啓網卡,由於直接重啓會發生地址衝突的狀況,由於同一個網絡中存在多個VIP,會形成網絡中地址衝突。

防止地址衝突的問題:

這裏由於web1也配置與代理同樣的VIP地址,默認確定會出現地址衝突;

sysctl.conf文件寫入這下面四行的主要目的就是訪問192.168.0.202的數據包,只有調度器會響應,其餘主機都不作任何響應,這樣防止地址衝突的問題。

1 vim /etc/sysctl.conf 2 #手動寫入以下4行內容 3 net.ipv4.conf.all.arp_ignore = 1
4 net.ipv4.conf.lo.arp_ignore = 1
5 net.ipv4.conf.lo.arp_announce = 2
6 net.ipv4.conf.all.arp_announce = 2
7 #當有arp廣播問誰是192.168.4.15時,本機忽略該ARP廣播,不作任何迴應 8 #本機不要向外宣告本身的lo迴環地址是192.168.4.15
9 sysctl -p       #這條命令會讓/etc/sysctl.conf當即生效,或者直接重啓服務器

 

 重啓網卡後查看網卡,會發現出現一個虛擬網卡ens33:0

 

 2.3.三、設置Web2服務器網絡參數

  配置步驟和配置web1的步驟同樣,只須要把RIP的地址改成192.168.0.127.這裏不作詳細介紹,按照web1 的配置步驟就能夠。

 

 2.四、配置後端的web服務器

  httpd,安裝配置啓服務,這裏不作介紹,2臺web服務器的主頁分別是192.168.4.128和192.168.4.129.

2.五、LVS調度器安裝軟件並部署LVS-DR模式調度器

2.5.一、安裝軟件(若是已經安裝,此步驟能夠忽略)

1  [root@proxy ~]# yum -y install ipvsadm

2.5.二、清理以前實驗的規則,建立新的集羣服務器規則

1 [root@proxy ~]# ipvsadm -C #清空全部規則 2 [root@proxy ~]# ipvsadm -A -t 192.168.0.202:80 -s wrr

2.5.三、添加真實服務器(-g參數設置LVS工做模式爲DR模式,-w設置權重)

[root@proxy ~]# ipvsadm -a -t 192.168.0.202:80 -r 192.168.0.19 -g -w 1 [root@proxy ~]# ipvsadm -a -t 192.168.0.202:80 -r 192.168.0.127 -g -w 2

2.5.四、查看規則列表,並保存規則

1 [root@client network-scripts]# ipvsadm -e -t 192.168.0.202:80 -r 192.168.0.127 -w 2 -g 2 [root@client network-scripts]# ipvsadm -Ln 3 IP Virtual Server version 1.2.1 (size=4096) 4 Prot LocalAddress:Port Scheduler Flags 5   -> RemoteAddress:Port Forward Weight ActiveConn InActConn 6 TCP  192.168.0.202:80 rr 7   -> 192.168.0.19:80              Route   1      0          0         
8   -> 192.168.0.127:80             Route   2      0          0         
9 [root@client network-scripts]# 

 

 2.六、客戶端測試

在客戶端192.168.0.6上使用curl命令反覆鏈接http://192.168.0.202,查看訪問的頁面是否會輪詢到不一樣的後端真實服務器。

相關文章
相關標籤/搜索