cz-sjm 发表于 2018-12-28 12:44:01

Keepalived 2.0.6编译安装

  时间:2018.7.31
作者:李强
参考:man,info,magedu讲义,万能的internet
实验环境:VMware® Workstation 12 Pro ,Centos 7.4,SecureCRT Version 8.1.4
声明:以下英文纯属个人翻译,英文B级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。
版本:v1-2018.7.31

一、 参考资料
  1、https://www.cnblogs.com/succeed/p/6697185.html
2、https://www.cnblogs.com/waynechou/p/keepalived.html
3、http://www.keepalived.org/doc/installing_keepalived.html
4、https://blog.csdn.net/liyuling52011/article/details/80033229

二、安装前环境准备
  yum install curl gcc openssl-devel libnl3-devel net-snmp-devel

三、软件目录规划
  软件安装目录:/usr/local/app/keepalived_v
  日志文件单独存放在/var/log/keepalived/keepalived.log下

四、开始编译
  1、下载源码包

下载站点:
1、http://www.keepalived.org/download.html
2、http://keepalived.org/software
cd /tmp
curl --progress http://keepalived.org/software/keepalived-2.0.6.tar.gz | tar xz
  2、编译

cd keepalived-2.0.6
./configure   
# 此处可以--prefix 来指定编译的软件安装路径usr/local/ewifi/keepalived_v/keepalived-2.0.6
make && make install
编译出现错误:
configure: error: libnfnetlink headers missing
此时需要安装:
yum -y install libnfnetlink-devel
PS:编译时出现问题,基本上安装xx-devel即可
此时在执行./configure--prefix=usr/local/ewifi/keepalived_v/keepalived-2.0.6
出现如下提示,即编译成功。
Keepalived configuration
------------------------
Keepalived version       : 2.0.6
Compiler               : gcc
Preprocessor flags       :-I/usr/include/libnl3
Compiler flags         : -Wall -Wunused -Wstrict-prototypes -Wextra -Winit-self -g -D_GNU_SOURCE -fPIE -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -O2
Linker flags             :-pie
Extra Lib                :-lcrypto-lssl-lnl-genl-3 -lnl-3
Use IPVS Framework       : Yes
IPVS use libnl         : Yes
IPVS syncd attributes    : No
IPVS 64 bit stats      : No
fwmark socket support    : Yes
Use VRRP Framework       : Yes
Use VRRP VMAC            : Yes
Use VRRP authentication: Yes
With ip rules/routes   : Yes
Use BFD Framework      : No
SNMP vrrp support      : No
SNMP checker support   : No
SNMP RFCv2 support       : No
SNMP RFCv3 support       : No
DBUS support             : No
SHA1 support             : No
Use Json output          : No
libnl version            : 3
Use IPv4 devconf         : No
Use libiptc            : No
Use libipset             : No
init type                : systemd
Build genhash            : Yes
Build documentation      : No
  3、自启动脚本

yum 安装的目录结构
/etc/keepalived
/etc/keepalived/keepalived.conf
/etc/sysconfig/keepalived
/usr/bin/genhash
/usr/lib/systemd/system/keepalived.service
/usr/libexec/keepalived
/usr/sbin/keepalived
/usr/share/doc/keepalived-1.3.5

  编译安装后,会根据系统环境,生成启动脚本。
在源文件的目录下有,如果指定--with-init=systemd会生成,在这里生成keepalived.service文件,但是指定upstart不好使。
http://i2.运维网.com/images/blog/201812/20/3ec5f85aa589a16086f59b60453001c4.png

# cat /usr/lib/systemd/system/keepalived.service

Description=LVS and VRRP High Availability Monitor
After= network-online.target syslog.target
Wants=network-online.target

Type=forking
PIDFile=/var/run/keepalived.pid
KillMode=process
EnvironmentFile=-/usr/local/ewifi/keepalived_v/keepalived-2.0.6/etc/sysconfig/keepalived
ExecStart=/usr/local/ewifi/keepalived_v/keepalived-2.0.6/sbin/keepalived $KEEPALIVED_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID

WantedBy=multi-user.target
!!!!这里需要检查配置文件是否正确。然后是sysconfig/keepalived需要进行改造。这里建立软链接都没用。
否则启动会报错
Unable to find configuration file /etc/keepalived/keepalived.conf (glob returned 3)
7月 31 11:52:58 zabbix_server systemd: PID file /var/run/keepalived.pid not readable (yet?) after start.
cd /usr/local/ewifi/keepalived_v/keepalived-2.0.6/etc/sysconfig/
sed -i 's@KEEPALIVED_OPTIONS=.*@KEEPALIVED_OPTIONS="-f /usr/local/ewifi/keepalived_v/keepalived-2.0.6/etc/keepalived/keepalived.conf -D -S 0"@' keepalived
这里需要使用-f指定配置文件路径才能正常启动。
!!!!默认的日志存放位置在/var/log/messages中。
echo 'local0.* /var/log/keepalived/keepalived.log' >>/etc/rsyslog.conf                           
然后需要修改keepalived.conf 配置文件才可以启动成功,备份原始文件,删除里面定义的vrrp和lvs相关信息。
重启服务即可。

  4、设置开机启动

systemctl enable keepalived.service

  5、 建立备忘录

cd /usr/local/app/keepalived_v/keepalived-2.0.6
cat >>README /etc/rsyslog.conf
eof


页: [1]
查看完整版本: Keepalived 2.0.6编译安装