设为首页 收藏本站
查看: 966|回复: 0

[经验分享] keepalived整合lvs实现nginx高可用负载均衡

[复制链接]

尚未签到

发表于 2018-12-31 14:41:15 | 显示全部楼层 |阅读模式
       keepalived整合lvs实现nginx高可用负载均衡
  1.简介
LVS(Linux Virtual Server) 是Linux虚拟服务器,可以把多台服务器虚拟为一个虚拟IP,同时实现各种负载均衡算法
  Keepalived是基于LVS,并与LVS高度融合的,监控LVS下所有真实服务器健康状态,并通过健康健康状态动态调整LVS的复杂均衡转发权重和规则
  

  2,拓扑图
  

3,IP规划
名称
IP
备注
VIP
eth2:192.168.46.200/24
虚拟IP
主调度器(director server )
eth2:192.168.46.131/24负责lvs调度
辅调度器(director server )
eth2:192.168.46.132/24负责lvs调度
  真实服务器1

  (Real Server )
eth2:192.168.46.133/24nginx服务器
  真实服务器2
  (Real Server )
eth2:192.168.46.134/24nginx服务器
  

  4,安装lvs和keepalived包
   这里不在介绍了,大家可以看看我的另外的两篇文章
http://wolfword.blog.运维网.com/blog/4892126/1218416
http://wolfword.blog.运维网.com/blog/4892126/1217585  

  5,配置keepalived
主调度器192.168.46.131上安装keepalived,辅助调度器192.168.46.132上安装keepalived,不需要在real server上安装keepalived
vim   /etc/keepalived/keepalived.conf
global_defs {
notification_email {
root@localhost
}
notification_email_from  root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL_131
}
vrrp_sync_group VG1 {
group {
VI_1
}
}
vrrp_instance VI_1 {
state MASTER   //辅助调度器为BACKUP
interface eth2
virtual_router_id 51
priority 100  //辅助调度器为90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.46.200/24
}
}
virtual_server 192.168.46.200  80  {
delay_loop 6
lb_algo  rr
lb_kind  DR
protocol TCP
real_server 192.168.46.133 80 {
weight 100
TCP_CHECK {
connect_timeout  3
nb_get_retry  3
delay_beforce_retry  3
connect_port  80
}
}
real_server 192.168.46.134 80 {
weight  100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_beforce_retry  3
connect_port  80
}
}
}
  6,配置lvs

主辅调度器上的lvs脚本
#!/bin/bash
VIP=192.168.46.200
RIP1=192.168.46.133
RIP2=192.168.46.134
case "$1" in
start)
echo "start LVS of DirectorServer DR"
/sbin/iptables -F
/sbin/ipvsadm -C
/sbin/ifconfig eth2:0 $VIP  broadcast $VIP  netmask 255.255.255.0  up
/sbin/ipvsadm  -A -t $VIP:80  -s rr
/sbin/ipvsadm  -a -t $VIP:80  -r  $RIP1 -g
/sbin/ipvsadm  -a -t $VIP:80  -r  $RIP2 -g
/sbin/ipvsadm
;;
stop)
echo "stop  LVS of DirectorServer DR"
echo "0" >/proc/sys/net/ipv4/ip_forward
/sbin/ipvsadm -C
/sbin/ifconfig eth2:0 down
;;
*)
echo "argements error"
;;
esac
真实服务器real server  上的lvs脚本
#!/bin/bash
#DR server
VIP=192.168.46.200
case "$1" in
start)
echo "start LVS of DR"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add  -host  $VIP dev lo:0
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
;;
stop)
echo "stop LVS of DR"
/sbin/ifconfig lo:0 down
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage:$0 {start|stop}"
esac
exit 1  

  7,日志讲解
Sep 30 20:50:24 test2 Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.
Sep 30 20:50:24 test2 Keepalived_vrrp: Configuration is using : 65227 Bytes
Sep 30 20:50:24 test2 Keepalived_vrrp: Using LinkWatch kernel netlink reflector...
Sep 30 20:50:24 test2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE
Sep 30 20:50:24 test2 Keepalived_vrrp: VRRP sockpool: [ifindex(4), proto(112), fd(10,11)]
Sep 30 20:51:50 test2 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Sep 30 20:51:50 test2 Keepalived_vrrp: VRRP_Group(VG1) Syncing instances to MASTER state
Sep 30 20:51:51 test2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE  

  8,功能测试
   停掉主调度器keepalived服务,来看看辅助调度器上的日志
Oct  1 21:02:07 test2 avahi-daemon[4276]: Received response from host 192.168.139.1 with invalid source port 56132 on interface 'eth1.0'
Oct  1 21:02:09 test2 avahi-daemon[4276]: Received response from host 192.168.139.1 with invalid source port 56132 on interface 'eth1.0'
Oct  1 21:02:09 test2 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Oct  1 21:02:10 test2 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Oct  1 21:02:10 test2 Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs.
Oct  1 21:02:10 test2 Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth2 for 192.168.46.200
Oct  1 21:02:11 test2 avahi-daemon[4276]: Received response from host 192.168.139.1 with invalid source port 56132 on interface 'eth1.0'  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658035-1-1.html 上篇帖子: Redhat5下haproxy+keepalived+nginx配置笔记 下篇帖子: centos6.4下LVS+keepalived的高可用(LVS/DR模式)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表