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

加权

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