[root@centos7 ~]#yum -y install gcc curl openssl-devel libnl3-devel net-snmp-devel
[root@centos7 ~]#tar xvf keepalived-2.2.2.tar.gz -C /usr/local/src
[root@centos7 ~]#cd /usr/local/src/keepalived-2.2.2/
[root@centos7 keepalived-2.2.2]#./configure --prefix=/apps/keepalived
[root@centos7 keepalived-2.2.2]#make && make install
[root@centos7 keepalived-2.2.2]#ln -s /apps/keepalived/sbin/keepalived /usr/sbin/
[root@centos7 keepalived-2.2.2]#keepalived -v
Keepalived v2.2.2 (03/05,2021)
#默认会自动生成unit文件,不需要修改
[root@centos7 keepalived-2.2.2]#cat /usr/lib/systemd/system/keepalived.service
[Unit]
Description=LVS and VRRP High Availability Monitor
After=network-online.target syslog.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/run/keepalived.pid
KillMode=process
EnvironmentFile=-/apps/keepalived/etc/sysconfig/keepalived
ExecStart=/apps/keepalived/sbin/keepalived $KEEPALIVED_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
[root@centos7 keepalived-2.2.2]#cat /apps/keepalived/etc/sysconfig/keepalived
# Options for keepalived. See `keepalived --help' output and keepalived(8) and
# keepalived.conf(5) man pages for a list of all options. Here are the most
# common ones :
#
# --vrrp -P Only run with VRRP subsystem.
# --check -C Only run with Health-checker subsystem.
# --dont-release-vrrp -V Dont remove VRRP VIPs & VROUTEs on daemon stop.
# --dont-release-ipvs -I Dont remove IPVS topology on daemon stop.
# --dump-conf -d Dump the configuration data.
# --log-detail -D Detailed log messages.
# --log-facility -S 0-7 Set local syslog facility (default=LOG_DAEMON)
#
KEEPALIVED_OPTIONS="-D"
#默认无法启动
[root@centos7 keepalived-2.2.2]#systemctl start keepalived.service
Job for keepalived.service failed because the control process exited with error code. See "systemctl status keepalived.service" and "journalctl -xe" for details.
#创建配置文件
[root@centos7 keepalived-2.2.2]#mkdir /etc/keepalived
[root@centos7 keepalived-2.2.2]#cp /apps/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
#再次启动成功
[root@centos7 keepalived-2.2.2]#systemctl enable --now keepalived.service
[root@centos7 keepalived-2.2.2]#systemctl status keepalived.service
● keepalived.service - LVS and VRRP High Availability Monitor
Loaded: loaded (/usr/lib/systemd/system/keepalived.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2022-04-15 10:48:47 CST; 25s ago
Process: 11669 ExecStart=/apps/keepalived/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 11670 (keepalived)
[root@centos7 keepalived-2.2.2]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:33:b7:af brd ff:ff:ff:ff:ff:ff
inet 10.0.0.7/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet 192.168.200.16/32 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.200.17/32 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.200.18/32 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::1232:ca51:c6c3:ef6c/64 scope link noprefixroute
valid_lft forever preferred_lft forever
#生成了3个VIP地址
[root@centos7 keepalived-2.2.2]#hostname -I
10.0.0.7 192.168.200.16 192.168.200.17 192.168.200.18