1. 源码包安装
官网下载地址: https://www.keepalived.org/download.html
官网下载源码包后上传到服务器,解压缩,然后进去解压出来的目录
tar -zxvf keepalived-2.1.5.tar.gz
cd keepalived-2.1.5
注:keepalived 是使用C 编写的程序,源码包安装需要gcc进行编译安装,所以需要首先安装gcc编译器
联网状态下可以使用 yum -y install gcc
安装,断网状态下请事先查阅gcc官网https://gcc.gnu.org/install/ 或者其他在线资源。
执行安装配置
- —prefix 指定安装目录
—sysconf 指定配置文件的目录,必须指定到/etc 下,否则可能导致启动错误
./configure --prefix=/usr/local/keepalived --sysconf=/etc
如出现 * WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.提示,则需要安装如下依赖。
- libnl
- libnl-devel
yum -y install libnl libnl-devel
编译
make
- 如出现 /usr/include/netlink/netlink-kernel.h:193:2: 错误:未知的类型名‘__u32’
- 仍然是依赖的缺失导致的,执行如下命令后,重新运行./configure ,在进行编译安装
安装yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel libnfnetlink-devel
make install
测试安装结果
/usr/local/keepalived/sbin/keepalived -v
如下输出则表示安装成功。
Keepalived v2.1.5 (07/13,2020)
Copyright(C) 2001-2020 Alexandre Cassen, <acassen@gmail.com>
Built with kernel headers for Linux 3.10.0
Running on Linux 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018
configure options: --prefix=/usr/local/keepalived --sysconf=/etc
Config options: LVS VRRP VRRP_AUTH OLD_CHKSUM_COMPAT FIB_ROUTING
System options: PIPE2 SIGNALFD INOTIFY_INIT1 VSYSLOG EPOLL_CREATE1 IPV6_ADVANCED_API RTA_ENCAP RTA_EXPIRES RTA_PREF FRA_SUPPRESS_PREFIXLEN FRA_TUN_ID RTAX_CC_ALGO RTAX_QUICKACK RTA_VIA FRA_OIFNAME IFA_FLAGS IP_MULTICAST_ALL NET_LINUX_IF_H_COLLISION LIBIPTC_LINUX_NET_IF_H_COLLISION VRRP_VMAC IFLA_LINK_NETNSID CN_PROC SOCK_NONBLOCK SOCK_CLOEXEC O_PATH GLOB_BRACE INET6_ADDR_GEN_MODE SO_MARK SCHED_RESET_ON_FORK
同时需要查看下配置文件是否正确生成
ls -l /etc/keepalived/
如下显示
-rw-r--r--. 1 root root 3550 10月 29 17:27 keepalived.conf
drwxr-xr-x. 2 root root 4096 10月 29 17:27 samples
把keepalived注册成系统服务
复制解压出来的配置文件到当前系统对应位置
# /data/keepalived-2.1.5 是解压出来的文件夹,根据你的解压路径来,不是安装目录
cp /data/keepalived-2.1.5/keepalived/etc/init.d/keepalived /etc/init.d/
cp /data/keepalived-2.1.5/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
重新加载systemd 单元
systemctl daemon-reload
然后就可以使用systemctl start(或者restart) keepalived
启动或重启 keepalived的了。
注: 如果你的keepalived没有正确配置,依然不能正确启动,需要进行配置,你可以通过 systemctl status keepalived 看到keepalived 是 dead 状态,但是启动是正常的, 如果你正确配置了 可以 使用 ps -ef | grep keepalived 查看到对应的进程
2. yum安装 不推荐,版本太早了,很多问题
运行命令
yum install -y keepalived
安装完成后进行测试
keepalived -v
如下输出则安装完成
Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2
Copyright(C) 2001-2017 Alexandre Cassen, <acassen@gmail.com>
Build options: PIPE2 LIBNL3 RTA_ENCAP RTA_EXPIRES RTA_PREF FRA_OIFNAME FRA_SUPPRESS_PREFIXLEN FRA_TUN_ID RTAX_CC_ALGO RTAX_QUICKACK LIBIPTC LIBIPSET_DYNAMIC LVS LIBIPVS_NETLINK VRRP VRRP_AUTH VRRP_VMAC SOCK_NONBLOCK SOCK_CLOEXEC FIB_ROUTING INET6_ADDR_GEN_MODE SNMP_V3_FOR_V2 SNMP SNMP_KEEPALIVED SNMP_CHECKER SNMP_RFC SNMP_RFCV2 SNMP_RFCV3 SO_MARK