1. 程式人生 > 其它 >技術文件:LVS負載均衡群集(DR模式)部署文件

技術文件:LVS負載均衡群集(DR模式)部署文件

技術標籤:linuxlvs

技術文件:LVS負載均衡群集(DR模式)部署文件

1 實驗準備

DR伺服器192.168.199.10
Web伺服器1192.168.199.20
Web伺服器2192.168.199.30
vip192.168.199.188
客戶端192.168.199.40

2 配置負載排程器(192.168.199.10)

systemctl stop firewalld.service 
setenforce 0
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

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

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0			#若隧道模式,複製為i fcfg-tunl0 
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.199.188
NETMASK=255.255.255.255

ifup ens33:0
ifconfig ens33:0

(2)調整proc響應引數

#由於LVS負載排程器和各節點需要共用VIP地址,應該關閉Linux核心的重定向引數響應,不充當路由器。
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)配置負載分配策略

ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
ipvsadm -C
ipvsadm -A -t 192.168.199.188:80 -s rr
ipvsadm -a -t 192.168.199.188:80 -r 192.168.199.20:80 -g		#若隧道模式,-g替換為-i
ipvsadm -a -t 192.168.199.188:80 -r 192.168.80.30:80 -g
ipvsadm

ipvsadm -ln				#檢視節點狀態,Route代表DR模式

2.部署共享儲存(NFS伺服器:192.168.199.40)

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.199.0/24(rw,sync)
/opt/benet 192.168.199.0/24(rw,sync)
systemctl start nfs.service
systemctl start rpcbind.service

3.配置節點伺服器(192.168.199.20、192.168.199.30 )

systemctl stop firewalld.service
setenforce 0

(1)配置虛擬IP地址(VIP: 192. 168.199.188)

#此地址僅用作傳送Web響應資料包的源地址,並不需要監聽客戶機的訪問請求(改由排程器監聽並分發)。因此使用虛介面lo:0
來承載VIP地址,併為本機新增一條路由記錄,將訪問VIP的資料限制在本地,以避免通訊紊亂。
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.199.188
NETMASK=255.255.255.255			#注意:子網掩碼必須全為1

ifup lo:0
ifconfig lo:0
route add -host 192.168.199.188 dev lo:0

或者
vim /etc/rc.local
/sbin/route add -host 192.168.199.188 dev lo:0 

chmod +x /etc/rc.d/rc.local

(2) 調整核心的ARP響應引數以阻止更新VIP的MAC地址,避免發生衝突

vim /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1		#系統只響應目的IP為本地IP的ARP請求
net.ipv4.conf.lo.arp_announce = 2	#系統不使用IP包的源地址來設定ARP請求的源地址,而選擇傳送介面的IP地址
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

sysctl -p

或者

echo "1" >/proc/sys/net/ipv4/conf/1o/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/1o/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.199.20---
mount.nfs 192.168.199.40:/opt/kgc /var/www/html
echo 'this is kgc web!' > /var/www/html/index.html

--192.168.199.30---
mount.nfs 192.168.199.40:/opt/benet /var/www/html
echo 'this is benet web!' > /var/www/html/index.html

4.測試LVS群集

在客戶端使用瀏覽器訪問http://192.168.199.188/ , 預設閘道器指向192.168.199.188