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

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

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-2-23 08:25:22 | 显示全部楼层 |阅读模式
一、VRRP概述
1.VRRP协议
        虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,1998年已推出正式的RFC2338协议标准。VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及及时在实际第一跳路由器使用失败的情形下仍能够维护路由器间的连通性。

  2.vrrp术语
参考:H3C VRRP技术白皮书

虚拟路由器
由一个Master路由器和多个Backup路由器组成。主机将虚拟路由器当作默认网关。
VRID
虚拟路由器的标识。有相同VRID的一组路由器构成一个虚拟路由器
Master路由器
虚拟路由器中承担报文转发任务的路由器,主节点(仅能有一个)
Backup路由器
Master路由器出现故障时,能够代替Master路由器工作的路由器,备用节点(可以有多个)
虚拟IP地址(VIP)
虚拟路由器的IP地址。已改为虚拟路由器可以拥有一个或多个IP地址
IP地址拥有者
接口IP地址与虚拟IP地址相同的路由器被称为IP地址拥有者
虚拟MAC地址(VMAC)
一个虚拟路由器拥有一个虚拟MAC地址。虚拟路由器回应APR请求使用的是细腻MAC地址,只有虚拟路由器做特护配置的时候,才会回应接口的真实MAC地址
优先级
VRRP根据优先级来确定虚拟路由器中每台路由器的地位
非抢占方式
若Backup路由器工作在非抢占方式下,只要Master路由器每出现故障,Backup即使随后被配置更高的优先级也不会成为Master路由器
抢占方式
若Backup路由器工作在抢占方式下,当收到VRRP报文后,会将自己的优先级与通告报文中的优先级进行比较。若当前的Master路由器的优先级高,就会主动抢占成为Master路由器;否则保持Backup状态

  3.工作过程
      (1) 虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
      (2) Master路由器周期性发送VRRP报文,以公布其配置信息(优先级等)和工作状况
      (3) 若Master路由器出现故障,虚拟路由器中的Backup路由器将根据优先级重新选举新的Master
      (4) 虚拟路由器状态切换时,Master路由器由一台设备切换为另一台设备,新的Master路由器知识简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的ARP此昂管信息。网络中的主机感知不到Master路由器已经切换为另外一台设备
      (5) Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(抢占和非抢占)决定是否重新选举Master

4.VRRP功能
      (1)Master路由器选举
      (2)Master路由器状态通告
      (3)VRRP认证功能

5.VRRP高可用工作模型
    (1)主备备份
              业务仅由Master路由器承担。当Master路由器出现故障时,才会由选举出来的Backup路由器接替它工作
wKiom1bLK0GTS9zuAADpvBWgHoo138.jpg
    (2)主主备份
            在路由器的一个接口上可创建多个虚拟路与其,使得该路由器可以在一个虚拟路由器中作为Master路与其,同时在其他的虚拟路由器中做为Backup路由器。主主备份方式能实现负载分担的功能
wKioL1bLK7qxkbLTAAEFmYOX17k545.jpg



二、keepalived高可用调度器
1.keepalived功能
         keepalived程序是vrrp协议在Linux主机上以守护进程方式的实现。能够根据配置文件生成ipvs规则,并对各Real Server的健康做检测,以及LoadBalance主机和BackUP主机之间failover的实现
         keepalived在CentOS 6.4+收录到发行版光盘内,佛在需要编译安装或者第三方RPM包     

  2.程序组件
          核心程序、IO复用器、内存管理、配置文件分析器
wKiom1bLK2ihNvzeAAL6DM_rc1w417.jpg
核心组件具体如下:

Watch  dog
高可用监视器
checkers
健康状态检测器(TCP、HTTP、SSL、MISC…  ...)
smtp
支持发送邮件通告机制
System  call
支持系统调用机制,作出管理操作
vrrp stack
VRRP栈的实现,实现VRRP协议调用
Netlink  Reflectior
VRRP借助于Netlink监控网络,实现网络功能配置
ipvs wrapper
ipvs控制

3.keepalived高可用集群配置前提   
         (1)各节点时间要同步;必须不能超过一秒,一般使用网络偶时间服务器(ntp server)
         (2)确保iptables及selinux不会成为障碍;
         (3)各节点之间可通过主机名互相通信;节点的名称设定与hosts文件中解析的主机名都要保持一致;
     #uname -n 获得的主机,与解析的主机名要相同;
         (4)各节点之间基于密钥认证的方式通过ssh互信通信;
   说明:第三条和第四条非必须



三、keepalived程序环境配置
  1.主配置文件:/etc/keepalived/keepalived.conf
     (1)GLOBALCONFIGURATION:全局配置
global_defs          # Block id
{
...
}
    常用配置:
notification_email  {  …  }
收件人邮箱地址
notification_email_from
发件人邮箱地址
smtp_server
邮件发送服务器IP;
smtp_connect_timeout
邮件服务器建立连接的超时时长;默认30秒
router_id  LVS_DEVEL
物理节点的标识符;建立使用主机名;
vrrp_mcast_group4
IPV4多播地址,默认224.0.0.18;
     (2)VRRPDCONFIGURATION:配置vrrp实例
vrrp instance:虚拟路由器
vrrp_instance NAME {
...
}
vrrp synchronization group
vrrp_sync_group NAME  {
...
}
     1)常用配置:
state    MASTER|BACKUP
在当前VRRP实例中此节点的初始状态;
interface   IFACE_NAME
vrrp用于绑定vip的接口;
virtual_router_id  #
当前VRRP实例的VRID,可用范围为0-255,默认为51;
priority #
当前节点的优先级,可用范围0-255;
advert_int 1
通告时间间隔;默认1秒
    2)认证方式配置:
authentication{     # Authentication block
#PASS||AH
#PASS - Simple Passwd (suggested)
#AH - IPSEC (not recommended))
auth_typePASS
#Password for accessing vrrpd.
#should be the same for all machines.
#Only the first eight (8) characters are used.
auth_pass1234
}
    3)虚拟IP配置:
virtual_ipaddress{
<IPADDR>/<MASK>brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>
}
       (3)LVSCONFIGURATION:ipvs的相关配置集群服务,服务内的RS;

  2.双主备份VRRP配置实例
          第一步:node1节点配置
vrrp_instanceVI_1 {
stateMASTER
interfaceeno16777736
virtual_router_id101
priority100
advert_int1
authentication{
auth_typePASS
auth_passZPNnTQ6F
}
virtual_ipaddress{
172.16.100.9/16
}
}
vrrp_instanceVI_2 {
stateBACKUP
interfaceeno16777736
virtual_router_id102
priority99
advert_int1
authentication{
auth_typePASS
auth_passIWyijM5Q
}
virtual_ipaddress{
172.16.100.10/16
}
}                                
          第二步:node2节点配置
vrrp_instanceVI_1 {
stateBACKUP
interfaceeno16777736
virtual_router_id101
priority99
advert_int1
authentication{
auth_typePASS
auth_passZPNnTQ6F
}
virtual_ipaddress{
172.16.100.9/16
}
}
vrrp_instanceVI_2 {
stateMASTER
interfaceeno16777736
virtual_router_id102
priority100
advert_int1
authentication{
auth_typePASS
auth_passIWyijM5Q
}
virtual_ipaddress{
172.16.100.10/16
}
}                              

运维网声明 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-181548-1-1.html 上篇帖子: keepalived(nginx)+httpd实现动静分离 下篇帖子: keeplived 之 主从web服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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