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