什么是 Keepalived?
Keepalived是用C语言编写的路由软件。
该项目的主要目标是为Linux系统和基于Linux的基础结构提供负载均衡和高可用性的简单而强大的功能。
负载平衡框架是依赖于提供第4层负载平衡的著名且广泛使用的 Linux Virtual Server (IPVS) 内核模块。
Keepalived 还实现了一组检查器,以根据其运行状况动态,自适应地维护和管理负载平衡的服务器池。另一方面,VRRP 实现了高可用性协议。VRRP( Virtual Router Redundancy Protoco ) 即虚拟路由冗余协议,是路由器故障转移的基础。此外,Keepalived还实现了一组VRRP有限状态机的挂钩,从而提供了低级和高速协议交互。为了提供最快的网络故障检测,Keepalived实施BFD协议。VRRP状态转换可以考虑BFD提示来驱动快速状态转换。Keepalived框架可以独立使用,也可以一起使用以提供弹性基础架构。
图片来源百度百科
Keepalived是免费软件;您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它。
二、安装方式
1. yum 安装
安装
yum install keepalived
管理服务
systemctal start keepalived
2 源码包安装
2.1 安装依赖包
yum install -y openssl-devel libnl3-devel \
ipset-devel iptables-devel \
file-devel net-snmp-devel \
pcre2-devel
2.2 从官方网站下载源码包
wget https://www.keepalived.org/software/keepalived-2.1.5.tar.gz
解压,并进入解压后的目录
tar -xf keepalived-2.1.5.tar.gz
cd keepalived-2.1.5
2.3 配置
从源代码编译时一般建议指定PREFIX。例如(不要执行下面的命令
):
./configure --prefix=/usr/local/keepalived-2.1.5
这样,只需删除父目录即可轻松卸载Keepalived的编译版本。此外,这种安装方法允许安装多个版本的Keepalived,而不会互相覆盖。使用符号链接指向所需的版本。
例如,您的目录结构可能如下所示:
[root@lvs1 ~]# cd /usr/local
[root@lvs1 local]# ls -l
total 12
lrwxrwxrwx. 1 root root 17 Feb 24 20:23 keepalived -> keepalived-2.1.5
drwxr-xr-x 2 root root 4096 9月 13 09:38 keepalived-1.4.5
drwxr-xr-x 2 root root 4096 9月 13 09:38 keepalived-2.0.0
drwxr-xr-x 2 root root 4096 9月 13 09:39 keepalived-2.1.0
drwxr-xr-x 6 root root 4096 9月 12 08:13 keepalived-2.1.5
正确的配置参数
./configure --prefix=/usr/local/keepalived-2.1.5 \
--with-run-dir=/var/run/ \
--with-default-config-file=/etc/keepalived/keepalived.conf \
--enable-dynamic-linking \
--enable-regex --enable-regex-timers \
--enable-sha1 --enable-bfd \
--enable-snmp --enable-snmp-rfc \
--enable-snmp-checker --enable-snmp-vrrp \
--enable-snmp-keepalived
部分配置参数说明
配置参数 | 说明 |
---|---|
–with-run-dir | 指定 PID 文件目录(目前版本需要指定) |
–enable-dynamic-linking | 编译的时候使用动态链接到 libiptc/libipset/libnl |
–enable-regex | 授权使用正则 |
–enable-regex-timers | 使用HTTP_GET regex 生成计时器 |
–enable-bfd | 使用BFD框架 |
–enable-snmp-vrrp | 使用SNMP vrrp支持进行编译 |
–enable-snmp-checker | 使用SNMP检查器支持进行编译 |
–enable-snmp-rfc | 使用SNMP RFC2787(VRRPv2)和SNMP RFC6527编译(VRRPv3)支持 |
–enable-sha1 | 支持 SHA1 |
2.4 编译
编译就是按照之前配置好的相关参数,生成相关文件,比如命令文件,配置文件,依赖库文件等。
make
2.5 安装
安装就是把编译好的相关文件,按照之前配置好的参数拷贝到当前系统的指定目录中
make install
三、安装后的配置
1. 处理配置文件
首先从安装目录中拷贝配置文件到 /etc/keepalived
目录下
[root@shark etc]# cd /usr/local/keepalived-2.1.5/etc
[root@shark etc]# cp keepalived/keepalived.conf /etc/keepalived/
修改配置文件 /etc/keepalived/keepalived.conf
的如下内容
原内容 | 修改后的内容 | 含义 |
---|---|---|
vrrp_garp_interval 0 | vrrp_garp_interval 0.001 | 以毫秒为单位,接口发送 ARRP 报文的时间间隔,值应该为:十进制的整数或者浮点数 |
vrrp_gna_interval 0 | vrrp_gna_interval 0.000001 | 接口上主动发送的NA消息之间的延迟时间(以毫秒为单位) |
四、管理 keepalived 服务
保证执行了上面的步骤。
[root@shark ~]# systemctl start keepalived # 启动
[root@shark ~]# systemctl status keepalived # 查看状态
[root@shark ~]# systemctl enable keepalived # 授权开启自动启动此服务
[root@shark ~]# systemctl stop keepalived # 停止
[root@shark ~]# systemctl restart keepalived # 重启