zoukankan      html  css  js  c++  java
  • keepalived安装及配置文件详解

    一个执着于技术的公众号

    在上一篇文章中,我们对Keepalived进行了简单入门学习:

    Keepalived入门学习

    今天我们继续学习Keepalived服务。

    一、安装Keepalived服务

    两种安装方式:

    (1)yum方式安装

    yum -y install keepalived
    
    # 查看安装路径
    rpm -ql keepalived
    

    (2)源码安装

    1)安装依赖
    yum -y install gcc openssl-devel libnfnetlink-devel
    
    2)下载源码
    wget https://www.keepalived.org/software/keepalived-1.4.5.tar.gz
    
    3)解压
    tar -zxvf keepalived-1.4.5.tar.gz -C /usr/src
    
    4)编译安装
    cd /usr/src/keepalived-1.4.5/
    ./configure && make -j 4 && make install
    

    二、 keepalived配置文件解析

    Keepalived 主配置文件的名称为:

    /etc/keepalived/keepalived.conf

    一个功能比较完整的常用的 keepalived 配置文件,主要包含以下三块:

    ! Configuration File for keepalived
    #全局定义块
    global_defs {
       ...
    }
    
    #VRRP 实例定义块
    vrrp_instance VI_1 {
       ...
    }
    
    #虚拟服务器定义块
    virtual_server 10.10.10.2 1358 {
       ...
    }
    

    注意:全局定义块是必须配置项;如果Keepalived只用来做HA,则虚拟服务器是可选配置。下面详细介绍Keepalived配置文件:

    (1)全局定义块

    这部分主要用来设置Keepalived的故障通知机制和Router ID标识。示例代码如下:

    参数说明:

    1)第一行是注释

    2)第4~8行:email通知,用于服务有故障时发送邮件报警。可选项,不建议用。需系统开启sendmail服务,建议用第三方独立监控服务,如使用nagios监控代替。

    3)第9行:指定发件人,可选配置。

    4)第10行:指定发送邮件的smtp服务器地址,可选配置。

    5)第11行:指定连接smtp的超时时间,可选配置。

    6)第12行:用户标识本节点的名称,通常为 hostname

    (2)VRRP 实例定义块

    参数说明:

    1)第15行:定义一个vrrp_install实例,名称为VI_1

    2)第16行:表示该实例的角色状态,有MASTER和BACKUP两种主备状态。

    3)第17行:对外提供服务的网络接口,如eth0,ens33

    4)第18行:虚拟路由ID标识,主备服务器配置中相同实例的ID必须一致,否则将出现脑裂问题。

    5)第19行:priority表示实例优先级。数字越大,优先级越高。

    6)第20行:advert_int为同步通知间隔。主备之间通信检查的时间间隔,默认为1秒。

    7)第21~24行:权限认证配置。

    8)第25~29行:虚拟IP地址;可以配置多个IP,每个IP占一行。注意,这里的IP就是在工作中需要和域名绑定的ip,即可配置的高可用服务监听的ip保持一致。

    (3)虚拟服务器定义块

    参数说明:

    1)virtual_server:定义一个虚拟服务器,这个ip是virtual_address中定义的其中一个。语法格式:ip+空格+服务端口

    • 第58行:delay_loop 6

    健康检查时间间隔,单位:秒

    • 第59行:lb_algo rr

    负载均衡调度算法,互联网应用常用方式为 wlc或rr

    • 第60行:lb_kind NAT

    负载均衡转发规则。包括DR、NAT、TUN 3种,一般使用路由(DR)转发规则。

    • 第61行:persistence_timeout 50

    http服务会话保持时间,单位:秒

    • 第62行:protocol TCP

    转发协议,分为TCP和UDP两种

    2)real_server:真实服务器IP和端口,可以定义多个

    • 第67行:weight 1

    负载权重,值越大,转发的优先级越高

    • 第81行:connect_timeout 3

    服务连接超时时长,单位:秒

    • 第82行:nb_get_retry 3

    服务连接失败重试次数

    • 第83行:delay_before_retry 3 :重试连接间隔,单位:秒

      往期精彩  

    ◆  必看 | Linux系列学习书籍免费送

    ◆  利用expect批量修改Linux服务器密码

    ◆  Linux运维工程师面试问答录

    ◆  LVM逻辑卷学习

    ◆  Linux网络重点知识总结性梳理

    ◆  抓包工具tcpdump用法说明

    ◆  一文带你速懂虚拟化KVM和XEN

    ◆  实战 | Hadoo大数据集群搭建

    ◆  运维工程师心法:6大技能让你告别背锅

    ◆  亿级web系统负载均衡几种实现方式

    十年磨一剑
  • 相关阅读:
    python 适配器
    python 装饰器
    实测 《Tensorflow实例:利用LSTM预测股票每日最高价(二)》的结果
    TFRecord 存入图像和标签
    TFRecord 读取图像和标签
    CONDA常用命令
    sotfmax的通俗理解
    sigmoid的通俗理解
    查看日志,定位错误_常用的操作
    工作中Git实操详解_看完这篇直接上手!
  • 原文地址:https://www.cnblogs.com/qinlulu/p/12855441.html
Copyright © 2011-2022 走看看