DR模式LVS搭建、keepalived+LVS

DR模式LVS搭建

準備shell

三臺機器,須要三臺機器的公網IP,而且須要一個VIP。後端

調度器IP:192.168.42.128瀏覽器

服務器rs1 IP:192.168.42.129bash

服務器rs2 IP:192.168.42.130服務器

VIP:192.168.42.200架構

在調度器上編寫一個shell腳本/usr.local/sbin/lvs_dr.sh:負載均衡

#! /bin/bash 
echo 1 > /proc/sys/net/ipv4/ip_forward 
ipv=/usr/sbin/ipvsadm 
vip=192.168.42.200
rs1=192.168.42.129
rs2=192.168.42.130
#注意這裏的網卡名字
ifdown ens33
ifup ens33
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2 
$ipv -C 
$ipv -A -t $vip:80 -s wrr 
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

在兩臺服務器上編寫一個腳本 /usr/local/sbin/lvs_re.sh:測試

#/bin/bash 
vip=192.168.42.200 
#把vip綁定在lo上,是爲了實現rs直接把結果返回給客戶端 
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up 
route add -host $vip lo:0 
#如下操做爲更改arp內核參數,目的是爲了讓rs順利發送mac地址給客戶端 
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

在三臺機器上執行各自的腳本spa

測試rest

瀏覽器訪問VIP

keepalived+LVS

    LVS架構中,不管是NAT模式仍是DR模式,當後端的真實服務器宕掉的時候,調度器依然會把請求轉發給宕掉的服務器上,這樣的結果並非咱們想要看到的。使用keepalived就能夠解決這個問題,keepalived不只有高可用功能,還有負載均衡的功能。在調度器上安裝了keepalived,就不用再安裝ipvsadm,一不用編寫LVS相關的腳本,由於keepalived已經嵌入了LVS功能。完整的keepalived+LVS架構須要兩臺調度器實現高可用,提供調度服務的須要一臺,另一臺作備用。

準備

    爲節省資源,值設置一臺調度器上安裝keepalived,而且準備兩臺服務器和準備一個VIP。

 主keepalived:192.168.42.128

服務器rs1:192.268.42.129

服務器rs2:192.168.42.130

VIP:192.168.42.200

編輯keepalived配置文件 /etc/keepalived/keepalived.conf

須要更改裏面ip信息,

若是之前執行過LVS的腳本就須要執行一些操做:

ipvsadm -C

systemctl restart network

兩臺服務器上都執行設置DR模式的腳本

調度器上啓動keepalived

systemctl start keepalived

查看有沒有keepalived進程

ps aux |grep keepalived

在瀏覽器上訪問vip來檢驗是否成功,而後把其中一臺服務器的Nginx關閉,而後刷新瀏覽器查看結果。

使用ipvsadm -ln查看鏈接數

相關文章
相關標籤/搜索