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系统负载均衡几种实现方式

posted @ 2020-05-06 11:29  开源Linux  阅读(1653)  评论(0编辑  收藏  举报