当前位置:   article > 正文

Keepalived 安装与配置

openwrt 配置keepalived

安装 Keepalived

apt -y install keepalived

里边有一个杠y,就是我安装的时候里面有yes,就直接是yes

添加 Keepalived 配置

安装好之后, 下一步就开始去来写这个配置文件了,就在这里面去建一个 etc 当中,就是在这个 etc 当中建一个这个 Keepalived 的 config 这样的一个文件:

mkdir -p /etc/keepalived && touch /etc/keepalived/keepalived.conf
chmod 644 /etc/keepalived/keepalived.conf
vim /etc/keepalived/keepalived.conf

第一台机器 Keepalived 配置文件内容:

  1. ! Configuration File for keepalived
  2. global_defs {
  3. # 指定router_id
  4. router_id ha01
  5. }
  6. vrrp_script check_haproxy {
  7. # 定义脚本
  8. script "/etc/keepalived/check_haproxy.sh"
  9. interval 1
  10. weight -30
  11. fall 3
  12. rise 2
  13. timeout 2
  14. }
  15. vrrp_instance VI_1 {
  16. # 在ha2上为 BACKUP
  17. state MASTER
  18. interface eth0
  19. garp_master_delay 10
  20. smtp_alert
  21. # 指定虚拟路由器ID, ha1和ha2此值必须相同
  22. virtual_router_id 66
  23. # 在ha2上为80, 代表着这台机器的权限比ha2高
  24. priority 100
  25. advert_int 1
  26. authentication {
  27. auth_type PASS
  28. # 指定验证密码, ha1和ha2此值必须相同
  29. auth_pass 123456
  30. }
  31. virtual_ipaddress {
  32. # 指定VIP, ha1和ha2此值必须相同
  33. 192.168.0.101/24 dev eth0 label eth0:1
  34. }
  35. track_script {
  36. # 调用上面定义的脚本
  37. check_haproxy
  38. }
  39. }

!> interface eth0 当中的 eth0 如何得来:

image-20230709104002199

几个关键的点:

  • interface eth0:对应的这个网卡名称,要看你现在你电脑里边的这个主网卡的这个名称是什么,那这个地方你就写什么
  • virtual_router_id:两台这个地方要相同, 指定虚拟路由器ID
  • priority: 优先级, 就是说我去找的时候哪个优先级高就先去找哪个
  • authentication: 两个互相访问的时候验证的一个这个密码,那么这个密码两台机器上必须设置一样
  • virtual_ipaddress: 虚拟IP,就是我们那个 VIP

我们刚才来申请的这个 IP 是不是 192.168.0.101,那你呢?就把这个 192.168.0.101 配置进去,好,改一下之后你看这在这中间是不是有这个 eth0,我们第一个这个网卡,那么下面这个地方就是你的虚拟 IP 虚拟 IP 绑定哪个地方?就是到时候绑定到 eth0:1 上面。

搞定之后这是一个脚本,这个脚本我们等会来去创建,我们现在先去把这个配置文件给写好。

等会把它配置上之后,启动了 Keeppalived 之后,然后再去看这个 ifconfig

第二台机器 Keepalived 配置文件内容:

  1. ! Configuration File for keepalived
  2. global_defs {
  3. # 指定router_id
  4. router_id ha02
  5. }
  6. vrrp_script check_haproxy {
  7. # 定义脚本
  8. script "/etc/keepalived/check_haproxy.sh"
  9. interval 1
  10. weight -30
  11. fall 3
  12. rise 2
  13. timeout 2
  14. }
  15. vrrp_instance VI_1 {
  16. # 在ha2上为 BACKUP
  17. state BACKUP
  18. interface eth0
  19. garp_master_delay 10
  20. smtp_alert
  21. # 指定虚拟路由器ID, ha1和ha2此值必须相同
  22. virtual_router_id 66
  23. # 在ha2上为80, 代表着这台机器的权限比ha2高
  24. priority 80
  25. advert_int 1
  26. authentication {
  27. auth_type PASS
  28. # 指定验证密码, ha1和ha2此值必须相同
  29. auth_pass 123456
  30. }
  31. virtual_ipaddress {
  32. # 指定VIP, ha1和ha2此值必须相同
  33. 192.168.0.101/24 dev eth0 label eth0:1
  34. }
  35. track_script {
  36. # 调用上面定义的脚本
  37. check_haproxy
  38. }
  39. }

刚才那个叫 MASTER,这个叫一个 BACKUP,其它的基本上一样改了一下优先级为 80, 好了第二台机子已经创建好了配置文件接下来就是创建脚本启动了。

创建 Keepalived 健康脚本

  1. cat > /etc/keepalived/check_haproxy.sh <<EOF
  2. #!/bin/bash
  3. /usr/bin/killall -0 haproxy || systemctl restart haproxy
  4. EOF
chmod a+x /etc/keepalived/check_haproxy.sh

如果运行启动 keepalived 命名报:Failed to restart keepalived.service: Unit keepalived.service not found.

该错误信息指示无法找到名为"keepalived.service"的服务单元。这可能是由于未安装Keepalived或未正确配置Keepalived服务导致的。(也就是说没有安装 keepalived)

systemctl restart keepalived

启动完毕之后,我们在第一天机器上输入 ifconfig:

image-20230709111339008

发现,已经对应上了我们申请下来的虚拟ID,好了完毕到此结束。我们现在的虚拟ID在第一台机器上面,我们将第一台机器进行关机在查看我们第二台机器的 ifconfig 信息看看虚拟ID有没有漂移到健康状态的机器当中。

139.9.50.116 关机:

image-20230709111708467

查看 116.205.227.222:

image-20230709111652169

139.9.50.116 开机:

查看 139.9.50.116:

查看 116.205.227.222:

image-20230709111851489

好了我们 116 复活之后又回来了,我们的 Keepalived 安装与配置就介绍到这。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/675560
推荐阅读
相关标签
  

闽ICP备14008679号