3

ucarp的安装配置

 2 years ago
source link: https://zhangrr.github.io/posts/20220225-ucarp/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Ucarp的安装配置

2022-02-25 2 分钟阅读

有 V2EX 的坛友问到如何静态编译 keepalived 的问题,实际上 keepalived 确实配置比较麻烦。那还有一个简单易行的 ucarp,生产也可以用这个。

ucarp 跟 keepalived 一样,都是用于高可用的 IP 漂移

但是比 keepalived 配置简单,而且 opnsense 就是用的这个做的高可用,opnsense 是个非常可靠的防火墙软件。

首先有两台虚机,172.18.19.1和172.18.19.2,虚拟ip是172.18.19.3

先配置172.18.19.1

yum install epel-release
yum install psmisc
yum install ucarp

cat<< EOF >> /etc/systemd/system/ucarp.service
[Unit]
Description=UCARP virtual interface
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/ucarp.sh
RemainAfterExit=true
ExecStop=/usr/bin/killall -SIGTERM ucarp
ExecStop=/bin/sleep 10
TimeoutStopSec=30
StandardOutput=journal

[Install]
WantedBy=multi-user.target
EOF

注意,上面我们的systemd是直接调用了ucarp.sh来启动,这样更简单。
三个脚本,注意权限是755

cat<< EOF >> /usr/local/bin/ucarp.sh
#!/bin/bash'
/usr/sbin/ucarp -i eth0 -B -p nb1Dshiwode -v 001 -a 172.18.19.3 -s 172.18.19.1 --shutdown --preempt -u /usr/local/bin/vip-up.sh -d /usr/local/bin/vip-down.sh
EOF

cat<< EOF >> /usr/local/bin/vip-up.sh 
#!/bin/sh
/sbin/ip addr add ${2}/24 dev ${1}
/sbin/ip neigh flush dev ${1}
EOF

cat<< EOF >> /usr/local/bin/vip-down.sh
#!/bin/sh
/sbin/ip addr del ${2}/24 dev ${1}
/usr/sbin/arp -d ${2}
EOF

chmod 755 /usr/local/bin/ucarp.sh /usr/local/bin/vip-up.sh /usr/local/bin/vip-down.sh

ok,第一台机器就配置好了

所有的东西都在ucarp.sh的那一行的参数上,直接用ucarp -h来查看

配置第二台172.18.19.2,其他的东西都一样,唯一不同的就是ucapr.sh的一处不一样

cat<< EOF >> /usr/local/bin/ucarp.sh
#!/bin/bash'
/usr/sbin/ucarp -i eth0 -B -p nb1Dshiwode -v 001 -a 172.18.19.3 -s 172.18.19.2 --shutdown --preempt -u /usr/local/bin/vip-up.sh -d /usr/local/bin/vip-down.sh
EOF

# -s 172.18.19.2 源ip和19.1不同

ok,两台都配置完毕, 分别执行启动

systemctl daemon-reload
systemctl enable --now ucarp

可以再找一台机器,一直长 ping 172.18.19.3,然后随机杀掉 19.1 和 19.2 上面的 ucarp 进程,可以看到 vip 172.18.19.3 会来回飘

注意:如果主掉了,从接管了 vip 变成 master,那么主再起来的时候不会去抢从的 master。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK