博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LVS DR +keepalived配置
阅读量:6295 次
发布时间:2019-06-22

本文共 1968 字,大约阅读时间需要 6 分钟。

hot3.png

LVS DR +keepalived配置

我们先来看看为什么要引入 keepalived,前面的 lvs 虽然已经配置成功也实现了负载均

衡,但是我们测试的时候发现,当某台 real server 把 nginx 停掉,那么 director 照样会把请

求转发过去,这样就造成了某些请求不正常。所以需要有一种机制用来检测 real server 的状

态,这就是 keepalived。它的作用除了可以检测 RS 状态外, 还可以检测备用 director 的状态,

也就是说 keepalived 可以实现 ha 集群的功能,当然了也需要一台备用 director 服务器。备用

director 也需要安装一下 keepalived 软件。两台 director 上都执行如下命令:

 

# yum install -y keepalived

主 director 上安装好后,编辑配置文件

# vim /etc/keepalived/keepalived.conf  //加入如下:

#全局部分配置主从#

vrrp_instance VI_1 {

    state MASTER   

#备用服务器上为 BACKUP

    interface eth0

    virtual_router_id 51

    priority 100  

#权重优先级备用服务器上为90,或比主上小也可以

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

#认证机制

    }

    virtual_ipaddress {

        192.168.0.110

#规定虚拟VIP,也是对外的vip

    }

}

#dir部分包含rs部分#

virtual_server 192.168.0.110 80 {

#规定虚拟VIP,也是对外的vip

    delay_loop 6                  

#(每隔6秒查询realserver状态)

    lb_algo wlc                  

#(lvs 算法可以是wlc lc rr wrr)

    lb_kind DR                  

#(Direct Route可自动识别)

    persistence_timeout 60        

#(同一IP的连接60秒内被分配到同一台realserver,长连接60秒,可改成0,不需要长连接)

    protocol TCP               

#(用TCP协议检查realserver状态)

 

    real_server 192.168.0.43 80 {

#真实real_server

        weight 100               

#(权重)

        TCP_CHECK {

        connect_timeout 10      

#(10秒无响应超时,就自动把这台server取消掉)

        nb_get_retry 3

        delay_before_retry 3

        connect_port 80

        }

    }

real_server 192.168.0.45 80 {

#真实real_server

        weight 100

        TCP_CHECK {

        connect_timeout 10

        nb_get_retry 3

        delay_before_retry 3

        connect_port 80

        }

     }

}

以上为主 director 的配置文件,从 director 的配置文件只需要修改如下内容:

state MASTER -> state BACKUP

priority 100 -> priority 90

配置完 keepalived 后,需要开启端口转发(主从都要做):

# echo 1 > /proc/sys/net/ipv4/ip_forward

然后,两个 rs 上执行/usr/local/sbin/lvs_dr_rs.sh 脚本

另外,需要注意的是,启动keepalived服务会自动生成vip和ipvsadm规则,不需要再去执行上面提到的/usr/local/sbin/lvs_dr.sh 脚本。

测试

把主上的keepalived服务停掉

# service keeplived stop

查看从上的keepalived服务

# ip addr 查看ip地址

163703_Ywcf_3760338.png

把其中的一个real_server1的nginx服务停掉,在打开一个虚拟机,测试

[root@wjh2 ~]# curl 192.168.0.111

rs2rs2

[root@wjh2 ~]# curl 192.168.0.111

rs2rs2

[root@wjh2 ~]# curl 192.168.0.111

rs2rs2

[root@wjh2 ~]# curl 192.168.0.111

rs2rs2

会自动把rs1摘除掉,转到rs2上

转载于:https://my.oschina.net/u/3760338/blog/1615642

你可能感兴趣的文章
大家猜猜看除了围棋,人工智能下一个颠覆的领域是什么?
查看>>
SharePoint 2013 数据库中手动更新用户信息
查看>>
SharePoint 2013 表单认证使用ASP.Net配置工具添加用户
查看>>
《C程序员:从校园到职场》出版预告(1):从“高大上”到“柴米油盐”
查看>>
李飞飞获全球最权威女性领导力奖 Athena Award,讲述推动AI多元化三大原因(视频)...
查看>>
线程堆栈大小 pthread_attr_setstacksize 的使用
查看>>
杀手洗车房:黑客能困住并攻击汽车
查看>>
云计算物联网Hold住未来十大技术趋势
查看>>
2016总结 - 我的转型之路
查看>>
优化Hadoop Balancer运行速度
查看>>
分析型数据库受大数据市场追捧
查看>>
深度学习训练,选择P100就对了
查看>>
ElasticSearch小操之Marvel,Sense
查看>>
[译] Redux 有多棒?
查看>>
Powershell 邮件发送
查看>>
创建代码生成器可以很简单:如何通过T4模板生成代码?[下篇]
查看>>
大数据时代分析师 Splunk助大数据落地
查看>>
【前沿】何恺明大神ICCV2017最佳论文Mask R-CNN的Keras/TensorFlow/Pytorch 代码实现
查看>>
云计算中心的实施技术
查看>>
iOS中 支付宝钱包详解/第三方支付 韩俊强的博客
查看>>