中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Centos 7基于DR(直接路由)模式的負載均衡配置詳解

發布時間:2020-02-24 16:40:52 來源:網絡 閱讀:2530 作者:warrent 欄目:建站服務器

DR(直接路由)是三種負載均衡模式其中之一,也是使用最多的一種模式,關于該模式的介紹,可以參考博文:LVS負載均衡群集詳解。

DR的工作模式示意圖如下:

Centos 7基于DR(直接路由)模式的負載均衡配置詳解

該模式的原理已經在上面鏈接的博文中寫了下來。現在直接搭建一個基于DR模式的負載均衡群集。

環境如下:

Centos 7基于DR(直接路由)模式的負載均衡配置詳解

在上面這個環境中,需要解決的問題有下面幾點:

1、所有web節點和調度器都配置上VIP:客戶端訪問VIP(群集的虛擬IP地址)時,若是

調度器將請求轉發給web節點,然后由web節點直接去響應客戶端,那么客戶端在收到

數據包后,發現收到的數據包源地址不是200.0.0.254,那么就會直接丟棄web服務器返回

的數據包,為了解決這一問題,所以需要在所有web節點和調度器的虛接口上配置上200.0.0.254

這個地址,并且通過添加一條路由,將訪問VIP的數據限制在本地,以避免通信紊亂。

2、解決關于web節點ARP響應的問題:在所有web節點和調度器上配置上200.0.0.254

這個地址后,當client訪問200.0.0.254這個地址時,所有的web節點都有這個地址,所以

都會去進行ARP響應,那么這樣一來,可能就造成了client略過調度器直接去訪問web節點

了,這樣一來,調度器就沒有存在的意義了,自然也就達不到負載均衡的效果了,所以需要

關閉web節點的部分ARP應答,在廣播200.0.0.254這個地址時,只讓調度器去響應,web

節點不響應該廣播。

3、解決調度器內核自帶的ICMP的重定向優化問題:Linux內核有一個ICMP優化功能,

就是在client第一次訪問調度器時,調度器會將請求轉發給某一個web節點,在這時,Linux

自帶的ICMP優化功能會發現,客戶端可以直接和web節點通信,然后就會發送一個數據

包,告訴client,之后所有訪問200.0.0.254的數據包,直接發給那個web節點即可,這樣之

后所有的訪問請求都將直接發送給某一個web節點,而不再經過調度器,這樣肯定也是不可

以的,無法達到負載均衡的效果了。所以需要關閉Linux內核的ICMP重定向參數響應。

配置過程如下:

一、配置負載調度器(自行配置環境中除VIP以外的IP地址):

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

[root@LVS network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0               #在虛接口配置VIP
[root@LVS network-scripts]# vim ifcfg-ens33:0           #改動以下配置項
           .............
IPADDR=200.0.0.254
NETMASK=255.255.255.0           #必須寫子網掩碼信息
NAME=ens33:0              #注意改網卡名稱
DEVICE=ens33:0
ONBOOT=yes
[root@LVS network-scripts]# systemctl restart network            #重啟網卡使更改生效
[root@LVS network-scripts]# ifconfig        #查詢相關IP是否配置正確
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 200.0.0.1  netmask 255.255.255.0  broadcast 200.0.0.255
        inet6 fe80::2e1e:d068:9c41:c688  prefixlen 64  scopeid 0x20<link>
                           ...........................

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 200.0.0.254  netmask 255.255.255.0  broadcast 200.0.0.255
        ether 00:0c:29:77:2c:03  txqueuelen 1000  (Ethernet)

2、調整/proc相應參數:

[root@LVS ~]# vim /etc/sysctl.conf             #寫入下面三行
                 ................
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@LVS ~]# sysctl -p              #刷新一下配置
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

3、配置負載分配策略:

[root@LVS ~]# modprobe ip_vs         #加載ip_vs模塊
[root@LVS ~]# yum -y install ipvsadm           #安裝ipvsadm工具
[root@LVS ~]# ipvsadm -C              #清除原有策略
[root@LVS ~]# ipvsadm -A -t 200.0.0.254:80 -s rr        #配置群集VIP及添加相關節點
[root@LVS ~]# ipvsadm -a -t 200.0.0.254:80 -r 200.0.0.2:80 -g -w 1
[root@LVS ~]# ipvsadm -a -t 200.0.0.254:80 -r 200.0.0.3:80 -g -w 1
[root@LVS ~]# ipvsadm-save                        #保存策略
[root@LVS ~]# ipvsadm-save > /etc/sysconfig/ipvsadm           #導出策略備份
[root@LVS ~]# ipvsadm -ln             #確認群集當前策略
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  200.0.0.254:80 rr
  -> 200.0.0.2:80                 Route   1      0          0         
  -> 200.0.0.3:80                 Route   1      0          0         

二、配置web節點服務器:

web節點服務器的VIP地址僅用來發送web響應數據包的源地址,并不需要監聽客戶機的訪問請求(由調度器監聽并分發)。因此使用虛接口lo:0來承載VIP地址,并添加一條路由記錄,將訪問VIP的數據包限制在本地。

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

[root@web1 ~]# cd /etc/sysconfig/network-scripts/
[root@web1 network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@web1 network-scripts]# vim ifcfg-lo:0      #編輯該文件,只保留以下四行,并配置VIP
DEVICE=lo:0
IPADDR=200.0.0.254
NETMASK=255.255.255.255               #注意:子網掩碼必須是全為1。也就是4個255。
ONBOOT=yes
[root@LVS network-scripts]# systemctl restart network            #重啟網卡使更改生效
[root@LVS network-scripts]# ifconfig        #查詢VIP是否配置正確 
                ............................
lo:0: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 200.0.0.254  netmask 255.255.255.255
        loop  txqueuelen 1000  (Local Loopback)
[root@web1 ~]# route add -host 200.0.0.254 dev lo:0              #添加VIP本地訪問路由記錄
[root@web1 ~]# vim /etc/rc.local               #設置開機自動添加這條路由記錄              
                ................................
/sbin/route add -host 200.0.0.254 dev lo:0

2、調整/proc響應參數:

[root@web1 ~]# vim /etc/sysctl.conf                  #調整/proc響應參數,寫入下面六行
                    ...................
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
[root@web1 ~]# sysctl -p                #刷新一下
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

3、安裝并啟動httpd服務(可根據需求選擇搭建Nginx還是apache):

[root@web1 ~]# yum -y install httpd             #安裝http服務
[root@web1 ~]# echo 1111111111111 > /var/www/html/index.html          
#準備測試網頁,等看到負載均衡的效果后,再掛載共享存儲設備。
[root@web1 ~]# systemctl start httpd               #啟動http服務
[root@web1 ~]# systemctl enable httpd           #設置為開機自啟動

重復以上三個步驟,配置其他web節點服務器(我這里將另一個web節點的首頁文件改為了:2222222222222222)。

三、client訪問VIP,以便測試LVS群集:

Centos 7基于DR(直接路由)模式的負載均衡配置詳解

Centos 7基于DR(直接路由)模式的負載均衡配置詳解

若訪問到的是同一頁面,在排除配置上錯誤的情況下,可以打開多個網頁,或者稍等一會再刷新,因為它可能有一個保持連接的時間,所以會存在延遲。

四、配置NFS共享存儲:

測試出群集效果后,就需要部署共享存儲,以便所有的web節點可以向客戶機提供同樣的網頁文件,具體配置過程已經寫在了這篇博文的末尾:Centos 7基于NAT(地址轉換)模式的負載均衡配置詳解。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

手游| 齐齐哈尔市| 海口市| 石楼县| 舒兰市| 河北省| 连平县| 晋中市| 佛坪县| 玉环县| 北海市| 巩留县| 云梦县| 淮北市| 康乐县| 郸城县| 桐梓县| 陇西县| 读书| 军事| 集安市| 通州区| 华亭县| 建平县| 东乌| 长宁县| 宜宾县| 汉寿县| 封丘县| 新营市| 蕉岭县| 乌拉特前旗| 新密市| 读书| 普定县| 乐清市| 林芝县| 巢湖市| 通海县| 杭锦旗| 广汉市|