修改keepalived.service 文件

    1. vim /usr/lib/systemd/system/keepalived.service

    修改KillMode=control-group

    • KillMode值释义:
      • process kill 主进程
      • control-group 杀死进程组,不设置时默认值

    指定PIDFile=keepalived.pid 的生成路径,需要注意文件存放目录是否有写入权限

    • $MAINPID 为该文件记录的值,需要指定pid才可以正确执行reload 和 stop

    指定 ExecReload=/bin/kill -HUP $MAINPID
    指定 ExecStop=/bin/kill -TERM $MAINPID

    完整配置如下

    1. [Unit]
    2. Description=LVS and VRRP High Availability Monitor
    3. After=syslog.target network-online.target
    4. [Service]
    5. Type=forking
    6. PIDFile=/var/run/keepalived.pid
    7. KillMode=control-group
    8. EnvironmentFile=-/etc/sysconfig/keepalived
    9. ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS
    10. ExecReload=/bin/kill -HUP $MAINPID
    11. ExecStop=/bin/kill -TERM $MAINPID
    12. [Install]
    13. WantedBy=multi-user.target
    14. ~

    之后使用 systemctl stop keepalived 关闭keepalived,
    并使用 ps aux | grep keepalived | grep -v grep 查看进程

    1. [root@localhost keepalived]# systemctl stop keepalived
    2. [root@localhost keepalived]# ps aux | grep keepalived | grep -v grep

    可以看到 keepalived 进程已关闭
    重新启动后再次查看

    1. [root@localhost keepalived]# systemctl start keepalived
    2. [root@localhost keepalived]# systemctl status keepalived
    3. keepalived.service - LVS and VRRP High Availability Monitor
    4. Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
    5. Active: active (running) since 2020-11-02 17:25:36 CST; 5s ago
    6. Process: 17784 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
    7. Main PID: 17785 (keepalived)
    8. CGroup: /system.slice/keepalived.service
    9. ├─17785 /usr/sbin/keepalived -D
    10. ├─17786 /usr/sbin/keepalived -D
    11. └─17787 /usr/sbin/keepalived -D
    12. 11 02 17:25:36 localhost.localdomain Keepalived_vrrp[17787]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(10,11)]
    13. 11 02 17:25:39 localhost.localdomain Keepalived_vrrp[17787]: VRRP_Instance(VI_1) Transition to MASTER STATE
    14. 11 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: VRRP_Instance(VI_1) Entering MASTER STATE
    15. 11 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: VRRP_Instance(VI_1) setting protocol VIPs.
    16. 11 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
    17. 11 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.61.132
    18. 11 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
    19. 11 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
    20. 11 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
    21. 11 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
    22. [root@localhost keepalived]# ps aux | grep keepalived | grep -v grep
    23. root 17785 0.0 0.1 123000 1408 ? Ss 17:25 0:00 /usr/sbin/keepalived -D
    24. root 17786 0.0 0.2 123000 2628 ? S 17:25 0:00 /usr/sbin/keepalived -D
    25. root 17787 0.0 0.1 123000 1896 ? S 17:25 0:00 /usr/sbin/keepalived -D