keepalive简介和安装

keepalived简介和安装

keepalived简介

  • 官网:http://keepalived.org

1)vrrp协议的软件实现,原生设计目的为了高可用ipvs服务。

2)keepalived功能

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

3)keepalived组件

  • 用户空间核心组件:
    vrrp stack-VIP消息通告
    checkers-监测real server
    system call-标记real server权重
    SMTP-邮件组件
    ipvs wrapper-生成IPVS规则
    Netlink Reflector-网络接口
    WatchDog-监控进程

  • 控制组件:配置文件解析器

  • IO复用器

  • 内存管理组件

  • 图示:
    keepalive简介和安装_第1张图片

  • http://keepalived.org/documentation.html

4)keepalived相关术语

  • vrrp协议:Virtual Router Redundancy Protocol 虚拟路由冗余协议

  • 虚拟路由器:Virtual Router

  • 虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器

  • 物理路由器:
    master:主设备
    backup:备用设备
    priority:优先级

  • VIP:Virtual IP

  • VMAC:Virutal MAC (00-00-5e-00-01-VRID)

5)keepalived的工作模式:

  • 主/备:单虚拟路由器
  • 主/主:主/备(虚拟路由器1),备/主(虚拟路由器2)

6)keepalived的工作方式

  • 抢占式
  • 非抢占式

7)keepalived的安全工作

  • 认证:
    无认证
    简单字符认证:预共享密钥

8)keepalived的通告:

  • 心跳
  • 优先级等
  • 周期性

Keepalived环境准备

各节点时间必须同步
关闭selinux和防火墙

Keepalived安装

1)Keepalived安装

  • #yum install keepalived (CentOS)
  • #apt-get install keepalived (Ubuntu)

2)编译安装

①获取源码包并解压缩
~]# cd /usr/local/src/  (/usr/local/src/源码包存放路径)
src]# wget https://keepalived.org/software/keepalived-2.0.18.tar.gz
src]# tar xf keepalived-2.0.18/
src]# cd keepalived-2.0.18/


②提供编译环境
keepalived-2.0.18]# yum install -y gcc libnfnetlink-devel libnfnetlink ipvsadm libnl libnl-devel libnl3 libnl3-devel lm_sensors-libs net-snmp-agent-libs net-snmp-libs openssh-server openssh-clients openssl openssl-devel automake iproute 


③configure
keepalived-2.0.18]# ./configure --prefix=/usr/local/keepalived --disable-fwmark
    ==># echo $? ==>确认没报错


④make && make install
keepalived-2.0.18]# make && make install


⑤复制相关配置文件及启动脚本
keepalived-2.0.18]# cp /usr/local/src/keepalived-2.0.18/keepalived/etc/init.d/keepalived.rh.init  /etc/sysconfig/keepalived.sysconfig
keepalived-2.0.18]# cp /usr/local/src/keepalived-2.0.18/keepalived/keepalived.service  /usr/lib/systemd/system/
keepalived-2.0.18]# cp /usr/local/src/keepalived-2.0.18/bin/keepalived  /usr/local/bin/


⑥准备简单的配置测试keepalived能否使用
keepalived-2.0.18]# vim /etc/keepalived/keepalived.conf


global_defs {
        notification_email {
                root@localhost
        }
        notification_email_from root@localhost
        smtp_server 192.168.200.1
        smtp_connect_timeout 30
        router_id centos7-27
}

    vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 80
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.38.200 dev eth0 label eth0:0
    }
}


keepalived-2.0.18]# systemctl start keepalived
  • #ifconfig (查看是否有VIP)
    keepalive简介和安装_第2张图片

程序环境:

主配置文件:/etc/keepalived/keepalived.conf

主程序文件:/usr/sbin/keepalived

Service File:

  • /usr/lib/systemd/system/keepalived.service (CentOS)
  • /lib/systemd/system/keepalived.service (Ubuntu)
  • Unit File的环境配置文件:/etc/sysconfig/keepalived

你可能感兴趣的:(keepalived)