欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

keepalived安装及配置文件详解

程序员文章站 2022-05-18 17:10:26
...

一个执着于技术的公众号

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标识。示例代码如下:

keepalived安装及配置文件详解

参数说明:

1)第一行是注释

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

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

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

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

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

(2)VRRP 实例定义块

keepalived安装及配置文件详解

参数说明:

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)虚拟服务器定义块

keepalived安装及配置文件详解

参数说明:

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 :重试连接间隔,单位:秒

keepalived安装及配置文件详解

  往期精彩  

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

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

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

◆  LVM逻辑卷学习

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

◆  抓包工具tcpdump用法说明

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

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

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

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

keepalived安装及配置文件详解