LVS DR模式負載均衡服務(keepalive )

基礎環境

vip:10.0.1.15

Director節點 lvs-1:10.0.1.8 (master) Director節點 lvs-2:10.0.1.9 (backup)

Real server1 web1:10.0.1.4 Real server1 web2:10.0.1.5

服務部署

yum在線裝

yum -y install keepalived

master主機keepalive 配置

/etc/keepalived/keepalived.conf

! Configuration File for keepalived

vrrp_instance VI_1 {
    #備用服務器上爲 BACKUP
    state MASTER
    #綁定vip的網卡爲eth0,根據實際主機情況
    interface eth0
    virtual_router_id 50
    #備用服務器priority爲90
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass  LVSPass
    }
    virtual_ipaddress {
        10.0.1.15
    }
}
virtual_server 10.0.1.15 80 {
    #(每隔10秒查詢realserver狀態)
    delay_loop 10
    #(lvs 算法)
    lb_algo wlc
    #(DR模式)
    lb_kind DR
    #(同一IP的連接60秒內被分配到同一臺realserver)
    persistence_timeout 0
    #(用TCP協議檢查realserver狀態)
    protocol TCP

######### 後端web ###########
    real_server 10.0.1.4 80 {
        #(權重)
        weight 100
        TCP_CHECK {
        #(10秒無響應超時)
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
    real_server 10.0.1.5 80 {
        weight 100
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
     }
}

啓動服務

systemctl start keepalived
systemctl enable  keepalived

keepalived查看

ps aux |grep keepalived
ip add

backup主機keepalive 配置

三個區別參數 /etc/keepalived/keepalived.conf

vrrp_instance VI_1 {
    #備用服務器上爲 BACKUP
    state BACKUP
    #綁定vip的網卡爲eth0,根據實際主機情況
    interface eth0
    #備用服務器上爲90
    priority 90
	......

開啓轉發

echo 1 > /proc/sys/net/ipv4/ip_forward
grep  ip_forward  /etc/sysctl.conf &>/dev/null || echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf

lvs_rs.sh

/opt/lvs_rs.sh

yum -y install ipvsadm


#read -p "請輸入vip地址:" vip
vip=10.0.1.15

#把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

nginx兩臺配置

server {
listen 80 default_server;
default_type application/json;
server_name _;
return 200 '{"date":"$time_local","host":"web-2","result":"nginx json"}';
access_log  /usr/local/nginx/logs/default.log;
}
#禁止ip直接訪問

查看狀態

ipvsadm -ln
ipvsadm -ln --stats
ipvsadm -ln --rate

加權

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