天天看點

Keepalived 解決使用systemctl 無法關閉Keepalived 解決使用systemctl 無法關閉

Keepalived 解決使用systemctl 無法關閉

修改keepalived.service 檔案

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

完整配置如下

[Unit]
Description=LVS and VRRP High Availability Monitor
After=syslog.target network-online.target

[Service]
Type=forking
PIDFile=/var/run/keepalived.pid
KillMode=control-group
EnvironmentFile=-/etc/sysconfig/keepalived
ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID

[Install]
WantedBy=multi-user.target
~
           

之後使用

systemctl stop keepalived

關閉keepalived,

并使用

ps aux | grep keepalived | grep -v grep

檢視程序

[[email protected] keepalived]# systemctl stop keepalived
[[email protected] keepalived]# ps aux | grep keepalived | grep -v grep
           

可以看到 keepalived 程序已關閉

重新啟動後再次檢視

[[email protected] keepalived]# systemctl start keepalived
[[email protected] keepalived]# systemctl status keepalived
● keepalived.service - LVS and VRRP High Availability Monitor
   Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
   Active: active (running) since 一 2020-11-02 17:25:36 CST; 5s ago
  Process: 17784 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 17785 (keepalived)
   CGroup: /system.slice/keepalived.service
           ├─17785 /usr/sbin/keepalived -D
           ├─17786 /usr/sbin/keepalived -D
           └─17787 /usr/sbin/keepalived -D

11月 02 17:25:36 localhost.localdomain Keepalived_vrrp[17787]: VRRP sockpool: [ifindex(2), proto(112), unicast(0), fd(10,11)]
11月 02 17:25:39 localhost.localdomain Keepalived_vrrp[17787]: VRRP_Instance(VI_1) Transition to MASTER STATE
11月 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: VRRP_Instance(VI_1) Entering MASTER STATE
11月 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: VRRP_Instance(VI_1) setting protocol VIPs.
11月 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
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
11月 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
11月 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
11月 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
11月 02 17:25:40 localhost.localdomain Keepalived_vrrp[17787]: Sending gratuitous ARP on ens33 for 192.168.61.132
[[email protected] keepalived]# ps aux | grep keepalived | grep -v grep
root      17785  0.0  0.1 123000  1408 ?        Ss   17:25   0:00 /usr/sbin/keepalived -D
root      17786  0.0  0.2 123000  2628 ?        S    17:25   0:00 /usr/sbin/keepalived -D
root      17787  0.0  0.1 123000  1896 ?        S    17:25   0:00 /usr/sbin/keepalived -D
           

繼續閱讀