网址
https://keepalived.org/download.html

下载二进制包
[root@ubuntu2004 ~]#wget https://keepalived.org/software/keepalived-2.2.7.tar.gz
解压文件
[root@ubuntu2004 ~]#tar xf keepalived-2.2.7.tar.gz -C /usr/local/
[root@ubuntu2004 ~]#cd /usr/local/
[root@ubuntu2004 local]#ls
bin etc games include keepalived-2.2.7 lib man sbin share src
[root@ubuntu2004 local]#cd keepalived-2.2.7/
安装编译软件
[root@ubuntu2004 ~]#apt-get -y install libssl-dev libpopt-dev daemon build-essential libssl-dev
编译
[root@ubuntu2004 ~]#mkdir -p /data/apps/keepalived
[root@ubuntu2004 keepalived-2.2.7]#./configure --prefix=/data/apps/keepalived --disable-fwmark
[root@ubuntu2004 keepalived-2.2.7]#make && make install
注意:
--disable-fwmark 可用于禁用iptables规则,可访止VIP无法访问
无此选项默认会启用 ipatbles规则
查看编译后结果
#查看目录结构
[root@ubuntu2004 ~]#tree /data/apps/keepalived/
/data/apps/keepalived/
├── bin
│ └── genhash -> ../sbin/keepalived
├── etc
│ ├── keepalived
│ │ ├── keepalived.conf.sample
│ │ └── samples
│ │ ├── keepalived.conf.HTTP_GET.port
│ │ ├── keepalived.conf.IPv6
│ │ ├── keepalived.conf.PING_CHECK
│ │ ├── keepalived.conf.SMTP_CHECK
│ │ ├── keepalived.conf.SSL_GET
│ │ ├── keepalived.conf.UDP_CHECK
│ │ ├── keepalived.conf.conditional_conf
│ │ ├── keepalived.conf.fwmark
│ │ ├── keepalived.conf.inhibit
│ │ ├── keepalived.conf.misc_check
│ │ ├── keepalived.conf.misc_check_arg
│ │ ├── keepalived.conf.quorum
│ │ ├── keepalived.conf.sample
│ │ ├── keepalived.conf.status_code
│ │ ├── keepalived.conf.track_interface
│ │ ├── keepalived.conf.virtual_server_group
│ │ ├── keepalived.conf.virtualhost
│ │ ├── keepalived.conf.vrrp
│ │ ├── keepalived.conf.vrrp.localcheck
│ │ ├── keepalived.conf.vrrp.lvs_syncd
│ │ ├── keepalived.conf.vrrp.routes
│ │ ├── keepalived.conf.vrrp.rules
│ │ ├── keepalived.conf.vrrp.scripts
│ │ ├── keepalived.conf.vrrp.static_ipaddress
│ │ ├── keepalived.conf.vrrp.sync
│ │ ├── sample.misccheck.smbcheck.sh
│ │ └── sample_notify_fifo.sh
│ └── sysconfig
│ └── keepalived
├── sbin
│ └── keepalived
└── share
├── doc
│ └── keepalived
│ └── README
├── man
│ ├── man1
│ │ └── genhash.1
│ ├── man5
│ │ └── keepalived.conf.5
│ └── man8
│ └── keepalived.8
└── snmp
└── mibs
15 directories, 35 files
服务管理
[root@ubuntu2004 ~]#vim /etc/profile.d/keepalived.sh
#!/bin/bash
#set keepalived environment
export KEEPALIVED_HOME=/data/apps/keepalived
export PATH=$PATH:$KEEPALIVED_HOME/sbin
[root@ubuntu2004 ~]#source /etc/profile.d/keepalived.sh
[root@ubuntu2004 ~]#chmod +x /etc/profile.d/keepalived.sh
[root@ubuntu2004 ~]#export PATH=$PATH:$KEEPALIVED_HOME/sbin
[root@ubuntu2004 ~]#export KEEPALIVED_HOME=/data/apps/keepalived
[root@ubuntu2004 ~]#source /etc/profile.d/keepalived.sh
目录配置
[root@ubuntu2004 ~]#mkdir /etc/keepalived #配置文件存放目录
[root@ubuntu2004 ~]#cp /data/apps/keepalived/etc/keepalived/keepalived.conf.sample /etc/keepalived/ #拷贝模板文件
[root@ubuntu2004 ~]#ln -s /data/apps/keepalived/etc/sysconfig//keepalived /etc/default/keealived #链接启动参数文件
配置service文件
[root@ubuntu2004 ~]#cat /lib/systemd/system/keepalived.service
[Unit]
Description=Keepalive Daemon (LVS and VRRP)
After=network-online.target
Wants=network-online.target
# Only start if there is a configuration file
ConditionFileNotEmpty=/etc/keepalived/keepalived.conf
[Service]
Type=simple
# Read configuration variable file if it is present
EnvironmentFile=-/etc/default/keepalived
ExecStart=/usr/sbin/keepalived --dont-fork $DAEMON_ARGS
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
启动服务
[root@ubuntu2004 ~]#systemctl daemon-reload
[root@ubuntu2004 ~]#systemctl enable --now keepalived.service
Created symlink /etc/systemd/system/multi-user.target.wants/keepalived.service → /lib/systemd/system/keepalived.service.
[root@ubuntu2004 ~]#systemctl status keepalived.service
● keepalived.service - Keepalive Daemon (LVS and VRRP)
Loaded: loaded (/lib/systemd/system/keepalived.service; enabled; vendor preset: enab>
Active: active (running) since Tue 2022-03-15 13:22:16 CST; 9s ago
Process: 73238 ExecStart=/data/apps/keepalived/sbin/keepalived $KEEPALIVED_OPITONS (c>
Main PID: 73255 (keepalived)
Tasks: 3 (limit: 1037)
Memory: 3.6M
CGroup: /system.slice/keepalived.service
├─73255 /data/apps/keepalived/sbin/keepalived
├─73256 /data/apps/keepalived/sbin/keepalived
└─73257 /data/apps/keepalived/sbin/keepalived