DR模式

簡介

在DR模式中,LVS負載調度器作爲集羣的訪問入口,但是不作爲網關使用,服務器中的節點都各自接入Internet,發送給客戶機的web響應不經過LVS負載調度器。
這種方式入站、出站數據被分別處理,因此LVS負載調度器和所有的節點都需要配置有VIP地址,以便響應整個羣集的訪問。
通過改寫請求報文的MAC地址,將請求發送到真實服務器,真實服務器將響應直接返回給用戶,直接路由模式可以極大的提高集羣系統的伸縮性,這種方法沒有IP隧道的開銷,集羣中真實的服務器也沒有必要必須支持IP隧道協議,只是需要調度器與真實服務器有一塊網卡連在同一物理網段上。

環境

負載調度器:ens33:10.0.0.21 ens33:0:10.0.0.50
節點1:ens33:10.0.0.22 lo:0:10.0.0.50
節點2:ens33:10.0.0.23 lo:0:10.0.0.50

負載調度器:採用虛接口方式(eth0:0),爲網卡eth0綁定VIP地址,以便響應羣集訪問。eth0:192.168.20.138/24 eth0:0:192.168.20.139

首先,先安裝LVS

yum -y install ipvsadm

加載ip_vs模塊:

modprobe ip_vs

查看一下版本信息:

cat /proc/net/ip_vs

開始配置
首先配置網卡信息(VIP),有兩種方式,可以去配置文件中添加一個配置文件

cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:0
vim ifcfg-eth0:0
DEVICE=eth0:0
BOOTPROTO=static
IPADDR=10.0.0.50
NETMASK=255.255.255.0
ifup eth0:0

也可以配置一個臨時的ip,我這裏配置了一塊臨時ip

ifconfig ens33:0 10.0.0.50 netmask 255.255.255.0

配置好查看一下

ifconfig

在這裏插入圖片描述
然後配置負載分配策略:

ipvsadm -A -t 10.0.0.50:80 -s rr
ipvsadm -a -t 10.0.0.50:80 -r 10.0.0.22:80 -g -w 1
ipvsadm -a -t 10.0.0.50:80 -r 10.0.0.23:80 -g -w 1
service ipvsadm save

配置之後可以查看一下規則

ipvsadm -ln

在這裏插入圖片描述

下面開始配置節點服務器

使用DR模式時,節點服務器也需要vip地址,並調整內核的ARP響應參數以阻止更新vip的MAC地址,避免發生衝突。除此以外,web服務器配置和NAT模式一樣。
配置虛擬IP地址
每個節點服務器同樣需要具有vip,10.0.0.50,但此地地址僅用作發送web響應數據包的源地址,並不需要監聽客戶機的訪問請求(由調度器監聽並分發)。因此使用虛接口lo:0來承載vip地址,併爲本機添加一條路由記錄,將訪問vip的數據限制在本地,以免通信紊亂。

配置如下:

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.0.0.50
NETMASK=255.255.255.255
ONBOOT=yes
ifup lo:0

添加VIP本地訪問路由

vim /etc/rc.local
/sbin/route add -host 10.0.0.50 dev lo:0
route add -host 10.0.0.50 dev lo:0

調整/proc參數響應(其中在這三種IP負載均衡的技術中,DR和TUN模式都需要在真實服務器上對arp_ignore和arp_announce參數進行配置,主要是實現禁止響應對VIP的ARP請求。)

vim /etc/sysctl.conf
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
sysctl -p

然後,安裝好測試頁面後開始測試
在這裏插入圖片描述
在這裏插入圖片描述
這裏就測試完成了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章