1. 源码包安装

官网下载地址: https://www.keepalived.org/download.html

官网下载源码包后上传到服务器,解压缩,然后进去解压出来的目录

  1. tar -zxvf keepalived-2.1.5.tar.gz
  2. cd keepalived-2.1.5

注:keepalived 是使用C 编写的程序,源码包安装需要gcc进行编译安装,所以需要首先安装gcc编译器
联网状态下可以使用 yum -y install gcc安装,断网状态下请事先查阅gcc官网https://gcc.gnu.org/install/ 或者其他在线资源。

执行安装配置

  • —prefix 指定安装目录
  • —sysconf 指定配置文件的目录,必须指定到/etc 下,否则可能导致启动错误

    1. ./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
      1. yum -y install libnl libnl-devel

编译

  1. make
  • 如出现 /usr/include/netlink/netlink-kernel.h:193:2: 错误:未知的类型名‘__u32’
  • 仍然是依赖的缺失导致的,执行如下命令后,重新运行./configure ,在进行编译安装
    1. yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel libnfnetlink-devel
    安装
    1. make install

测试安装结果

  1. /usr/local/keepalived/sbin/keepalived -v

如下输出则表示安装成功。

  1. Keepalived v2.1.5 (07/13,2020)
  2. Copyright(C) 2001-2020 Alexandre Cassen, <acassen@gmail.com>
  3. Built with kernel headers for Linux 3.10.0
  4. Running on Linux 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018
  5. configure options: --prefix=/usr/local/keepalived --sysconf=/etc
  6. Config options: LVS VRRP VRRP_AUTH OLD_CHKSUM_COMPAT FIB_ROUTING
  7. 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

同时需要查看下配置文件是否正确生成

  1. ls -l /etc/keepalived/

如下显示

  1. -rw-r--r--. 1 root root 3550 10 29 17:27 keepalived.conf
  2. drwxr-xr-x. 2 root root 4096 10 29 17:27 samples

把keepalived注册成系统服务

复制解压出来的配置文件到当前系统对应位置

  1. # /data/keepalived-2.1.5 是解压出来的文件夹,根据你的解压路径来,不是安装目录
  2. cp /data/keepalived-2.1.5/keepalived/etc/init.d/keepalived /etc/init.d/
  3. cp /data/keepalived-2.1.5/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

重新加载systemd 单元

  1. systemctl daemon-reload

然后就可以使用systemctl start(或者restart) keepalived 启动或重启 keepalived的了。
注: 如果你的keepalived没有正确配置,依然不能正确启动,需要进行配置,你可以通过 systemctl status keepalived 看到keepalived 是 dead 状态,但是启动是正常的, 如果你正确配置了 可以 使用 ps -ef | grep keepalived 查看到对应的进程

2. yum安装 不推荐,版本太早了,很多问题

运行命令

  1. yum install -y keepalived

安装完成后进行测试

  1. keepalived -v

如下输出则安装完成

  1. Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2
  2. Copyright(C) 2001-2017 Alexandre Cassen, <acassen@gmail.com>
  3. 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