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

[经验分享] LVS负载均衡(5)——LVS+Keepalived

[复制链接]

尚未签到

发表于 2018-12-31 09:02:49 | 显示全部楼层 |阅读模式

Keepalived介绍
1. Keepalived 介绍
  Keepalived 起初是转为 LVS 设计的专门用来监控集群系统中各个服务节点的状态,后来又加入了 VRRP 的功能,VRRP 是 Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP 出现的目的是为了解决静态路由出现的单点故障问题,它能保证网络的不间断、稳定的运行,所以 Keepalived 一方面具有 LVS cluster nodes healthchecks 功能,又具有 LVS directors failover 功能
  一般安装 Keepalived 是在高可用服务器对之间安装,这个服务器不一定是调度器,也可以是 web 服务器,数据库服务器,存储服务器等。
2. Keepalived 故障切换转移原理
  Keepalived Directors 之间的故障切换转移是通过 VRRP 协议来实现的。
  在 Keepalived Directors 正常工作时,主 Director 节点会不断的向备节点广播心跳消息,用以告诉节点自己还活着,当主节点发生故障时,备节点就无法继续检测到主节点的心跳,进而调用自身的接管程序,接管主节点的 IP 资源及服务。当主节点恢复故障时,备节点会释放主节点故障时自身接管的 IP 资源及服务,恢复到原来的自身的备用角色。

Keepalived配置
  Keepalived 官方站点:http://www.keepalived.org,
  官方文档是:      http://www.keepalived.org/documentation.html
1. 安装 Keepalived
# 下载软件并安装
wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz
ll /usr/usr/linux              # 检查 link,如果没有可能 kernel-devel 包没装
tar zxf keepalived-1.1.17.tar.gz
cd keepalived-1.1.17 && ./configure
make && make install
# 配置规范启动
cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/         # 启动脚本命令
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/        # 配置启动脚本的参数
mkdir /etc/keepalived                              # 创建默认的 keepalived 配置文件路径
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived    # 拷贝配置模板
cp /usr/local/sbin/keepalived /usr/sbin
/etc/init.d/keepalived start
ps -ef | grep keepalived
/etc/init.d/keepalived stop        # 成功后,停止服务,因为是根据默认配置文件启动

2. Keepalived 配置文件
文章:http://18567.blog.运维网.com/8567/655043
  ! Configuration File for keepalived
  global_defs {
     notification_email {
         1160636144@qq.com
     }
     notification_email_from aa@qq
     smtp_server 192.168.100.100
     smtp_connect_timeout 30
     router_id LVS_181
  }
  

  vrrp_instance VI_1 {
      state MASTER
      interface eth1
      virtual_router_id 100
      priority 150
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
          192.168.100.100
      }
  }
  

  vrrp_instance VI_2 {
      state BACKUP
      interface eth1
      virtual_router_id 200
      priority 100
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
          192.168.100.200
      }
  }
  ! Configuration File for keepalived

  global_defs {
     notification_email {
         1160636144@qq.com
     }
     notification_email_from aa@qq
     smtp_server 192.168.100.100
     smtp_connect_timeout 30
     router_id LVS_182
  }
  

  vrrp_instance VI_1 {
      state BACKUP
      interface eth1
      virtual_router_id 100
      priority 100
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
          192.168.100.100
      }
  }
  

  vrrp_instance VI_2 {
      state MASTER
      interface eth1
      virtual_router_id 200
      priority 150
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
          192.168.100.200
      }
  }
2. LVS DR + Keepalived

  ! Configuration File for keepalived
  

  global_defs {
     notification_email {
         1160636144@qq.com
     }
     notification_email_from aa@qq
     smtp_server 192.168.100.100
     smtp_connect_timeout 30
     router_id LVS_181
  }
  

  vrrp_instance VI_1 {
      state MASTER
      interface eth1
      virtual_router_id 100
      priority 150
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
          192.168.100.100/24
      }
  }
  

  virtual_server 192.168.100.100 80 {
     delay_loop 6
     lb_algo wrr            
     lb_kind DR            
     nat_mask 255.255.255.0
     persistence_timeout 50     
     protocol TCP            
     real_server 192.168.100.183 80{
         weight 1
         TCP_CHECK {
            connect_timeout 8
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
         }
     }
  

     real_server 192.168.100.184 80{
         weight 1
         TCP_CHECK {
            connect_timeout 8
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
         }
     }
  }
  ! Configuration File for keepalived
  

  global_defs {
     notification_email {
         1160636144@qq.com
     }
     notification_email_from aa@qq
     smtp_server 192.168.100.100
     smtp_connect_timeout 30
     router_id LVS_182
  }
  

  vrrp_instance VI_1 {
      state BACKUP
      interface eth1
      virtual_router_id 100
      priority 100
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
          192.168.100.100/24
      }
  }
  

  virtual_server 192.168.100.100 80 {
      delay_loop 6
      lb_algo wrr
      lb_kind DR
      nat_mask 255.255.255.0
      persistence_timeout 50
      protocol TCP
      real_server 192.168.100.183 80 {
          weight 1
          TCP_CHECK {
               connect_timeout 8
               nb_get_retry 3
               delay_before_retry 3
               connect_port 80
          }
      }
  

      real_server 192.168.100.184 80 {
          weight 1
          TCP_CHECK {
               connect_timeout 8
               nb_get_retry 3
               delay_before_retry 3
               connect_port 80
          }
      }
  }
名称  接口
  IP
  用途
  MASTER
  eth0
  10.0.0.19
用于 WLAN 数据转发

  eth1
  192.168.1.19
用于 LAN 数据转发

  eth2
  192.168.2.19
用于 LB 间心跳连接

  vip
  10.0.0.29
提供服务
  BACKUP
  eth0
  10.0.0.16
用于 WLAN 数据转发

  eth1
  192.168.1.16
  用于 LAN 数据转发


  eth2
  192.168.2.16
  用于 LB 间心跳连接


  vip
  10.0.0.29

  RealServer01
  eth0
  10.0.0.17
用于 WLAN 数据转发

  eth1
  192.168.1.17
用于 LAN 数据转发
  BACKUP
  eth0
  10.0.0.18
用于 WLAN 数据转发

  eth1
  192.168.1.18
用于 LAN 数据转发




运维网声明 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-657831-1-1.html 上篇帖子: 基于keepalived主从模型实现Nginx的高可用 下篇帖子: lvs+keepalived+nginx环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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