目錄
LVS_DR
LVS_DR數(shù)據(jù)包流向分析
LVS-DR中ARP問題
問題一
問題二
解決ARP的兩個問題的設(shè)置方法
LVS-DR特點
LVS-DR優(yōu)缺點
優(yōu)點
缺點
LVS-DR集群構(gòu)建
1.配置負(fù)載調(diào)度器
2.部署共享存儲
3.配置節(jié)點服務(wù)器
4.測試 LVS 群集
LVS_DR
LVS_DR數(shù)據(jù)包流向分析
客戶端向目標(biāo)VIP發(fā)送請求,負(fù)載均衡器接收
負(fù)載均衡器根據(jù)算法選擇節(jié)點服務(wù)器,不修改也不封裝IP報文,而是將數(shù)據(jù)的目標(biāo)MAC地址改為節(jié)點服務(wù)器的MAC地址,然后在局域網(wǎng)上發(fā)送
節(jié)點服務(wù)器收到這個幀進(jìn)行解封裝,發(fā)現(xiàn)目標(biāo)IP后與本機匹配(節(jié)點服務(wù)器事先綁定了VIP)后,處理這個報文,隨后重新封裝報文發(fā)送到局域網(wǎng)
客戶端收到報文后,客戶端認(rèn)為得到正常服務(wù),而不會知道是哪一臺服務(wù)器處理的
LVS-DR中ARP問題
問題一
當(dāng)ARP廣播發(fā)送到LVS-DR集群時,因為負(fù)載均衡器和節(jié)點服務(wù)器都是連接到相同的網(wǎng)絡(luò)上,它們都會接收到ARP廣播,在局域網(wǎng)中具有相同的IP地址,勢必會造成各服務(wù)器ARP通信的紊亂,
對節(jié)點服務(wù)器進(jìn)行處理,使其不響應(yīng)針對VIP的ARP請求,會不對本地物理網(wǎng)卡的arp請求進(jìn)行響應(yīng)
1.使用虛接口lo:0承載VIP地址
2.設(shè)置內(nèi)核參數(shù)arp_ignore=1:系統(tǒng)只響應(yīng)目的IP為本地IP的ARP請求
問題二
網(wǎng)關(guān)路由器收到的的源IP地址為VIP的ARP請求的報文后又更新ARP緩存表,導(dǎo)致外網(wǎng)再發(fā)送請求時,數(shù)據(jù)包到達(dá)不了調(diào)度器
設(shè)置內(nèi)核參數(shù)arp_announce = 2
系統(tǒng)不使用響應(yīng)數(shù)據(jù)包的源IP地址 (VIP) 來作為本機進(jìn)行ARP請求報文的源IP地址,而使用發(fā)送報文的物理網(wǎng)卡IP地址作為ARP請求報文源IP地址,這樣就可以防止網(wǎng)關(guān)路由器收到的的源IP地址為VIP的ARP請求的報文后又更新ARP緩存表,導(dǎo)致外網(wǎng)再發(fā)送請求時,數(shù)據(jù)包到達(dá)不了調(diào)度器
解決ARP的兩個問題的設(shè)置方法
修改/etc/sysctl.conf文件
net.ipv4.conf.lo.arp ignore = 1
net.ipv4.conf.lo.arp announce = 2?
net.ipv4.conf.all.arp ignore = 1?
net.ipv4.conf.all.arp announce = 2
LVS-DR特點
(1) 負(fù)載均衡器和節(jié)點服務(wù)器必須在同一個物理網(wǎng)絡(luò)中
(2) 節(jié)點服務(wù)器可以使用私有地址,也可以使用公網(wǎng)地址。如果使用公網(wǎng)地址,可以通過互聯(lián)網(wǎng)對 RIP 進(jìn)行直接訪問。
(3) 負(fù)載均衡器作為群集的訪問入口,但不作為網(wǎng)關(guān)使用。
(4) 所有的請求報文經(jīng)由負(fù)載均衡器,但回復(fù)響應(yīng)報文不能經(jīng)過 負(fù)載均衡器。
(5)節(jié)點服務(wù)器的網(wǎng)關(guān)不允許指向負(fù)載均衡器IP,即節(jié)點服務(wù)器發(fā)送的數(shù)據(jù)包不允許經(jīng)過 負(fù)載均衡器。
(6) 節(jié)點服務(wù)器上的 lo 接口配置 VIP 的 IP 地址。
LVS-DR優(yōu)缺點
優(yōu)點
負(fù)載均衡器只負(fù)責(zé)將請求包分給物理服務(wù)武器,物理服務(wù)器將應(yīng)答包直接發(fā)送給用戶,所以負(fù)載均衡器能處理巨大的請求流量,一臺負(fù)載均衡能為超過100臺物理服務(wù)器服務(wù),負(fù)載均衡器不再是系統(tǒng)的瓶頸。使用LVS-DR模式,如果你的負(fù)載均衡器擁有100M全雙工網(wǎng)卡的話,使用LVS能達(dá)到1G的吞吐量甚至更高
缺點
所有調(diào)度器和節(jié)點服務(wù)器在同一個廣播域,不支持異地容災(zāi)
LVS-DR集群構(gòu)建
LVS-DR 服務(wù)器:192.168.233.110? ? NFS服務(wù)器:192.168.233.100?
Web 服務(wù)器1:192.168.233.60? ? ? ?Web 服務(wù)器2:192.168.233.70? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? vip:192.168.10.111
? ??
1.配置負(fù)載調(diào)度器
192.168.233.110? ?
systemctl stop firewalld.service
setenforce 0
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm
(1)配置虛擬 IP 地址
VIP:192.168.233.111?
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0?? ??? ??? ??? ?#若隧道模式,復(fù)制為ifcfg-tunl0
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.233.111
NETMASK=255.255.255.255
ifup ens33:0
ifconfig ens33:0
(2)調(diào)整 proc 響應(yīng)參數(shù)
#由于 LVS 負(fù)載調(diào)度器和各節(jié)點需要共用 VIP 地址,需要關(guān)閉 icmp 的重定向,不充當(dāng)路由器。
vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
(3)配置負(fù)載分配策略
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
ipvsadm -C
ipvsadm -A -t 192.168.233.111:80 -s rr
ipvsadm -a -t 192.168.233.111:80 -r 192.168.233.60:80 -g?? ??? ??? ?#若隧道模式,-g替換為-i
ipvsadm -a -t 192.168.233.111:80 -r 192.168.233.70:80 -g
ipvsadm
ipvsadm -ln?? ??? ??? ??? ??? ?#查看節(jié)點狀態(tài),Route代表 DR模式
2.部署共享存儲
NFS服務(wù)器:192.168.233.100
systemctl stop firewalld.service
setenforce 0
yum -y install nfs-utils rpcbind
mkdir /opt/kgc /opt/benet
chmod 777 /opt/kgc /opt/benet
vim /etc/exports
/usr/share *(ro,sync)
/opt/kgc 192.168.233.0/24(rw,sync)
/opt/benet 192.168.233.0/24(rw,sync)
systemctl start nfs.service
systemctl start rpcbind.service
3.配置節(jié)點服務(wù)器
92.168.233.60、192.168.233.70??
systemctl stop firewalld.service
setenforce 0
(1)配置虛擬 IP 地址
VIP:192.168.233.110
#此地址僅用作發(fā)送 Web響應(yīng)數(shù)據(jù)包的源地址,并不需要監(jiān)聽客戶機的訪問請求(改由調(diào)度器監(jiān)聽并分發(fā))。因此使用虛接口 lo∶0 來承載 VIP 地址,并為本機添加一條路由記錄,將訪問 VIP 的數(shù)據(jù)限制在本地,以避免通信紊亂。
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0?? ??? ?
vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.233.110
NETMASK=255.255.255.255?? ??? ??? ??? ??? ??? ?#注意:子網(wǎng)掩碼必須全為 1
ifup lo:0
ifconfig lo:0
route add -host 192.168.233.110?dev lo:0
vim /etc/rc.local
/sbin/route add -host 192.168.233.110 dev lo:0
chmod +x /etc/rc.d/rc.local
(2)調(diào)整內(nèi)核的 ARP 響應(yīng)參數(shù)以阻止更新 VIP 的 MAC 地址,避免發(fā)生沖突
vim /etc/sysctl.conf
......
net.ipv4.conf.lo.arp_ignore = 1?? ??? ??? ?#系統(tǒng)只響應(yīng)目的IP為本地IP的ARP請求
net.ipv4.conf.lo.arp_announce = 2?? ??? ?#系統(tǒng)不使用IP包的源地址來設(shè)置ARP請求的源地址,而選擇發(fā)送接口的IP地址
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p
或者
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
yum -y install nfs-utils rpcbind httpd
systemctl start rpcbind
systemctl start httpd
--192.168.233.60---
mount.nfs 192.168.233.100:/opt/kgc /var/www/html
echo 'this is kgc web!' > /var/www/html/index.html
--192.168.233.70---
mount.nfs 192.168.233.100:/opt/benet /var/www/html
echo 'this is benet web!' > /var/www/html/index.html
4.測試 LVS 群集
在客戶端使用瀏覽器訪問 http://192.168.233.111/
?文章來源:http://www.zghlxwxcb.cn/news/detail-662524.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-662524.html
到了這里,關(guān)于LVS-DR模式以及其中ARP問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!