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

[经验分享] keepalived 高可用调度器配置

[复制链接]
YunVN网友  发表于 2018-12-30 12:25:51 |阅读模式
  一、vrrp 概述
  1.VRRP协议
  虚拟路由冗余协议,是IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议.
  VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混
  乱,准许主机使用单路由器,及时在在实际第一跳路由器使用失败的情形下仍能够维护路由器
  间的连通性。
   2.VRRP基本术语

  3.VRRP工作原理

   4.VRRP的主要功能
  1.master 路由器的选择功能
  2.master 路由器的状态通告
  3.VRRP 认证功能
  5.VRRP高可用工作模型
  1.主备模型
  联网业务由master路由器承担,当master路由器出现故障时候,才会由选出来的backup路由器
  接替主路由器的工作

  2.主主模型
  在路由器的一个接口上可以创建多个虚拟机路由器,似的该路由器可以在一个虚拟路由器中作
  为master路由器,同时在其它的虚拟路由器中作为backup路由器,主主模型备份方式可以实现
  负载分担的功能

  

   二、keepalived高可用调度器
    1.keepalived 的功能
       keepalived程序是vrrp协议在linux主机上以守护进程方式的实现。能够根据配置
     文件生成ipvs规则,并对各RealServer的健康做检测,以及loadbalance主机和Backup
     主机之间failover的实现
     CentOS 6.4+,程序包已经在base源提供;
    2.程序组件有
      1.核心程序 、IO复用器、内存管理、配置文件分析器
     
  3.keepalived高可用几圈配置前提
  1.各节点时间要同步,不能超过1s,一半使用网络时间服务器(ntp-server)
  2.确保iptables及selinux不会成为障碍
  3.各节点之间可通过主机名想通信,节点的名称设定与hosts文件中解析的主机名都要保持一
  致,#uname -n 获得的主机名,与解析的主机名要相同;
  4.各节点之间基于秘钥认证的方式通过ssh互信通信;
  备注:第3.4条非必须
  三、keepalived 环境配置详解
  1.程序包的安装
      yum instll keepalived -y
  备注:CentOS 6.4+,程序包已经在base源提供
  2.生成的配置文件有
      主配置文件:/etc/keepalived/keepalived.conf
  Unit  file:/usr/lib/systemd/system/keepalived.service
  配置文件:/etc/sysconfig/keepalived
       全局配置详解;
  global_defs {
  notification_email {
  acassen@firewall.loc
  failover@firewall.loc
  sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  
  3.配置vrrp实例:
     vrrp instance:虚拟路由器
          vrrp_instance Name {
               ...
     }
     vrrp synchronization group
        vrrp_sync_group Name {
               ...
     }
      1)基本配置;

  2)认证方式配置;

    3)虚拟IP地址配置
  
  4.keepalived主备模型配置
  1.主节点配置
  
  global_defs {
  notification_email {
   root@localhost
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id node1
  }
  

  vrrp_instance VI_1 {
  state MASTER
  interface eno16777736
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.1.200
  }
  }
  2.备用节点配置
  
  global_defs {
  notification_email {
  root@localhost
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id node1
  }
  

  vrrp_instance VI_1 {
  state BACKUP
  interface eno16777736
  virtual_router_id 51
  priority 98
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.1.200
  }
  }
  主备节点配置完毕后进行服务的启动工作
  主节点;systemctl start keepalived.service
  然后使用ip addr list 进行查看工作,如下所示
  
  eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
  link/ether 00:0c:29:48:cf:50 brd ff:ff:ff:ff:ff:ff
  inet 192.168.1.107/24 brd 192.168.1.255 scope global dynamic eno16777736
  valid_lft 5109sec preferred_lft 5109sec
      inet 192.168.1.200/32 scope global eno16777736
         valid_lft forever preferred_lft forever   这个就是虚拟vip 已经显示在这里了。
  inet6 fe80::20c:29ff:fe48:cf50/64 scope link
  valid_lft forever preferred_lft forever
  如果现在主节点停止服务的话,备用节点将自动上线,来代替主节点的工作。如下所示
  使用命令systemctl stop keepalived.servcie
  我们来看一下备节点的情况
  
  eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
  link/ether 00:0c:29:08:0d:91 brd ff:ff:ff:ff:ff:ff
  inet 192.168.1.129/24 brd 192.168.1.255 scope global dynamic eno16777736
  valid_lft 4305sec preferred_lft 4305sec
      inet 192.168.1.200/32 scope global eno16777736 现在备用节点已经得到了IP地址。
         valid_lft forever preferred_lft forever
      inet6 fe80::20c:29ff:fe08:d91/64 scope link
  valid_lft forever preferred_lft forever
  
如果主服务自动上线的话,我们的备用节点又会自动退出,主节点继续工作,备用节点去后台暂时休息。
  
  5.keepalived 双主配置
  
  节点1-node1:
  vrrp_instance VI_1 {
  state MASTER
  interface eno16777736
  virtual_router_id 171
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 0c5UMiJo
  }
  

  virtual_ipaddress {
  192.168.1.200 dev eno16777736 label eno16777736:0
  }
  

  track_script {
  chk_down
  }
  

  notify_master "/etc/keepalived/notify.sh master"
  notify_backup "/etc/keepalived/notify.sh backup"
  notify_fault "/etc/keepalived/notify.sh fault"
  }
  

  
  priority 98vrrp_instance VI_2 {
  state BACKUP
  interface eno16777736
  virtual_router_id 172
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 0c6UMiJo
  }
  

  virtual_ipaddress {
  192.168.1.201 dev eno16777736 label eno16777736:1
  }
  

  track_script {
  chk_down
  }
  

  notify_master "/etc/keepalived/notify.sh master"
  notify_backup "/etc/keepalived/notify.sh backup"
  notify_fault "/etc/keepalived/notify.sh fault"
  }
  
  节点2-node2:
  vrrp_instance VI_1 {
  state BACKUP
  interface eno16777736
  virtual_router_id 171
  priority 98
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 0c5UMiJo
  }
  

  virtual_ipaddress {
  192.168.1.200 dev eno16777736 label eno16777736:0
  }
  

  track_script {
  chk_down
  }
  

  notify_master "/etc/keepalived/notify.sh master"
  notify_backup "/etc/keepalived/notify.sh backup"
  notify_fault "/etc/keepalived/notify.sh fault"
  }
  

  vrrp_instance VI_2 {
  state MASTER
  interface eno16777736
  virtual_router_id 172
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 0c6UMiJo
  }
  

  virtual_ipaddress {
  192.168.1.201 dev eno16777736 label eno16777736:1
  }
  

  track_script {
  chk_down
  }
  

  notify_master "/etc/keepalived/notify.sh master"
  notify_backup "/etc/keepalived/notify.sh backup"
  notify_fault "/etc/keepalived/notify.sh fault"
  }
  

  好了,就写到这里吧,写博客看来也挺痛苦的,继续加油,师傅领进门修行靠个人。继续跟着马哥前行吧。
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  




运维网声明 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-657576-1-1.html 上篇帖子: keepalived 高可用配置实例 下篇帖子: nginx+keepalived做高可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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