keepalived基础介绍

                                  作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.keepalived概述

1>.什么是keepalived

  vrrp协议(Virtual Router Redundancy Protocol)的软件实现,原生设计目的为了高可用ipvs服务。
  
  keepalived有以下组件:
    用户空间核心组件(Core components):
      VRRP Stack:
        定期发送广播包通知其它节点自己拥有的IP地址,即VIP消息报告。
      Checkers:
        在ipvs模式下使用,用来监测服务器(real server)是否存货。
      System call 
        顾名思义,用来标记服务器(real server)的权重。       
      SMTP-邮件组件
        发送邮件通知的组件。
      IPVS wrapper:
        根据咱们自定义的配置文件生成相应的IPVS规则。
      Netlink Reflector:
        用来传输数据的网络接口。
      WatchDog:
        监控进程,用来监控以上组件的进程。
    控制组件(Control Plane):
      配置文件分析器,说白了就是解析配置文件的组件。
    IO复用器(Scheduler-I/O Multiplexer):
      IO多路复用的一个组件。
    内存管理组件(Memory Mngt):
      顾名思义,管理内存的组件。

  通告:
    心跳,优先级等;周期性
  
  工作方式:
    抢占式,非抢占式

  安全工作认证:
    无认证
    简单字符认证:预共享密钥

  工作模式:
    主/备:单虚拟路由器
    主/主:主/备(虚拟路由器1),备/主(虚拟路由器2)


  博主推荐阅读:
    https://keepalived.org/documentation.html

  keepalived基础介绍

2>.keepalived功能

  基于vrrp协议完成地址流动
  为vip地址所在的节点生成ipvs规则(在配置文件中预先定义)
  为ipvs集群的各RS做健康状态检测
  基于脚本调用接口通过执行脚本完成脚本中定义的功能,进而影响集群事务,以此支持nginx、haproxy等服务

3>.keepalived术语

  虚拟路由器(Virtual Router):
  虚拟路由器标识:VRID(
0-255),唯一标识虚拟路由器
  物理路由器:     master(主设备)     backup(备用设备)     priority(优先级)     VIP(Virtual IP)     VMAC(Viruta lMAC (
00-00-5e-00-01-VRID))

 

二.安装keepalived

1>.使用yum方式安装keepalived

[root@node102.yinzhengjie.org.cn ~]# yum -y install keepalived
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                          | 8.3 kB  00:00:00     
 * base: mirrors.aliyun.com
 * epel: mirrors.njupt.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                          | 3.6 kB  00:00:00     
epel                                                                          | 5.3 kB  00:00:00     
extras                                                                        | 2.9 kB  00:00:00     
updates                                                                       | 2.9 kB  00:00:00     
(1/2): epel/x86_64/updateinfo                                                 | 1.0 MB  00:00:03     
(2/2): epel/x86_64/primary_db                                                 | 6.9 MB  00:00:46     
Resolving Dependencies
--> Running transaction check
---> Package keepalived.x86_64 0:1.3.5-16.el7 will be installed
--> Processing Dependency: libnetsnmpmibs.so.31()(64bit) for package: keepalived-1.3.5-16.el7.x86_64
--> Processing Dependency: libnetsnmpagent.so.31()(64bit) for package: keepalived-1.3.5-16.el7.x86_64
--> Processing Dependency: libnetsnmp.so.31()(64bit) for package: keepalived-1.3.5-16.el7.x86_64
--> Running transaction check
---> Package net-snmp-agent-libs.x86_64 1:5.7.2-43.el7 will be installed
--> Processing Dependency: libsensors.so.4()(64bit) for package: 1:net-snmp-agent-libs-5.7.2-43.el7.x
86_64---> Package net-snmp-libs.x86_64 1:5.7.2-43.el7 will be installed
--> Running transaction check
---> Package lm_sensors-libs.x86_64 0:3.4.0-8.20160601gitf9185e5.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================
 Package                    Arch          Version                                  Repository   Size
=====================================================================================================
Installing:
 keepalived                 x86_64        1.3.5-16.el7                             base        331 k
Installing for dependencies:
 lm_sensors-libs            x86_64        3.4.0-8.20160601gitf9185e5.el7           base         42 k
 net-snmp-agent-libs        x86_64        1:5.7.2-43.el7                           base        706 k
 net-snmp-libs              x86_64        1:5.7.2-43.el7                           base        750 k

Transaction Summary
=====================================================================================================
Install  1 Package (+3 Dependent packages)

Total download size: 1.8 M
Installed size: 6.0 M
Downloading packages:
(1/4): lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64.rpm              |  42 kB  00:00:00     
(2/4): keepalived-1.3.5-16.el7.x86_64.rpm                                     | 331 kB  00:00:01     
(3/4): net-snmp-libs-5.7.2-43.el7.x86_64.rpm                                  | 750 kB  00:00:00     
(4/4): net-snmp-agent-libs-5.7.2-43.el7.x86_64.rpm                            | 706 kB  00:00:01     
-----------------------------------------------------------------------------------------------------
Total                                                                1.0 MB/s | 1.8 MB  00:00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1:net-snmp-libs-5.7.2-43.el7.x86_64                                               1/4 
  Installing : lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64                             2/4 
  Installing : 1:net-snmp-agent-libs-5.7.2-43.el7.x86_64                                         3/4 
  Installing : keepalived-1.3.5-16.el7.x86_64                                                    4/4 
  Verifying  : keepalived-1.3.5-16.el7.x86_64                                                    1/4 
  Verifying  : 1:net-snmp-agent-libs-5.7.2-43.el7.x86_64                                         2/4 
  Verifying  : lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64                             3/4 
  Verifying  : 1:net-snmp-libs-5.7.2-43.el7.x86_64                                               4/4 

Installed:
  keepalived.x86_64 0:1.3.5-16.el7                                                                   

Dependency Installed:
  lm_sensors-libs.x86_64 0:3.4.0-8.20160601gitf9185e5.el7  net-snmp-agent-libs.x86_64 1:5.7.2-43.el7 
  net-snmp-libs.x86_64 1:5.7.2-43.el7                     

Complete!
[root@node102.yinzhengjie.org.cn ~]# 
[root@node102.yinzhengjie.org.cn ~]# yum -y install keepalived

相关文章: