1.下载rpm包
官网地址:https://www.keepalived.org/download.html
2.上传包并且创建keepalived用户目录下并且解压
3.进入keepalived-1.3.5
配置keepalived
cd keepalived-1.3.5/
./configure --prefix=/home/keepalived
4.报错*** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS
1.yum下载即可
yum -y install libnl libnl-devel
2.rpm下载插件
地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=libnl-devel&submit=Search+…&system=&arch=
切换root用户安装
rpm -ivh libnl-devel-1.1.4-3.el7.x86_64.rpm
5.重新配置报错configure: error: libnfnetlink headers missing
1.yum下载插件
yum install -y libnfnetlink-devel
2.rpm下载
地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=libnfnetlink-devel&submit=Search+…&system=&arch=
rpm -ivh libnfnetlink-devel-1.0.1-4.el7.x86_64.rpm
6.重新执行配置及安装命令
./configure --prefix=/home/keepalived
make && make install
多出目录
测试
进入sbin
./keepalived -v
6.keepalived安装后会自动在/usr/lib/systemd/system目录下创建keepalived.service文件及其他keepalived配置文件
cat /usr/lib/systemd/system/keepalived.service
7.配置日志文件
1.修改keepalived启动参数文件
vi /etc/sysconfig/keepalived
KEEPALIVED_OPTIONS="-D -d -S 0"
2.在/etc/rsyslog.conf rsyslog文件末尾指定不同级别的文件放到哪个文件下面
vi /etc/rsyslog.conf
添加
local0.* /home/keepalived/log/keepalived.log
3.重启日志服务和keepalived服务
systemctl restart rsyslog
systemctl start keepalived
4.查看到keepalived日志已经在对应目录下面产生
并且查看到对应vip已经绑定到keepalived配置文件指定的网卡上面
8.keepalived 配置demo如下
1,master配置
! Configuration File for keepalived
global_defs {
notification_email {
13802883042@139.com
}
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id NodeB
}
vrrp_script chk {
# script "/apps/sh/#app#_check.sh"
script "</dev/tcp/127.0.0.1/30080" # connects and exits
interval 2
weight -20
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 201
priority 100
advert_int 1
smtp alert
nopreempt
track_interface {
eth0
}
track_script {
chk
}
authentication {
auth_type PASS
auth_pass a9I@2Jk1Lsk
}
virtual_ipaddress {
192.168.77.225/20 dev eth0 label eth0:1
}
}
2.slave配置
! Configuration File for keepalived
global_defs {
notification_email {
13802883042@139.com
}
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id NodeB
}
vrrp_script chk {
# script "/apps/sh/#app#_check.sh"
interval 2
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 201
priority 99
advert_int 1
smtp alert
nopreempt
track_interface {
eth0
}
# track_script {
# chk
# }
authentication {
auth_type PASS
auth_pass a9I@2Jk1Lsk
}
virtual_ipaddress {
192.168.77.225/20 dev eth0 label eth0:1
}
}