安装部署Keepalived_2

本文详细介绍Keepalived的安装步骤及配置方法,包括主备节点的配置细节,如何通过修改配置文件实现高可用,以及如何启动服务并验证配置正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装部署Keepalived

学习笔记

一、安装

yum install keepalived -y

二、部署

主配置文件为/etc/keepalived/keepalived.conf

[root@localhost ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

##全局定义
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL #id为LVS_DEVEL,不同的keepalived.conf此ID要唯一
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
##全局定义

##高可用配置
vrrp_instance VI_1 { #实例名称VI_1,相同实例的备节点名字要和这个相同
    state MASTER #主节点状态为MASTER,备节点的状态为BACKUP
    interface eth0 #通信接口为eth0,此参数备节点设置和主节点相同
    virtual_router_id 51 #实例的表示(身份证),唯一
    priority 100 #优先级为100,备用节点必须低于主节点
    advert_int 1 #通知间隔(默认1秒,表示我还活着)
    #加密的认证
    authentication { 
        auth_type PASS #PAAS认证类型,此参数备节点设置和主节点相同
        auth_pass 1111 #密码是1111,此参数备节点设置和主节点相同
    }
    #VIP地址
    virtual_ipaddress {
        #192.168.200.16
        #192.168.200.17
        #192.168.200.18
        10.0.0.12/24 dev eth0 label eth0:1 #虚拟IP,即VIP为10.0.0.12,子网掩码为24位,绑定接口为eth0,别名为eth:1,此参数备节点设置和主节点相同
    }
}
##高可用配置

##下面是LVS的配置(没用)
virtual_server 192.168.200.100 443 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 192.168.201.100 443 {
        weight 1
        SSL_GET {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

virtual_server 10.10.10.2 1358 {
    delay_loop 6
    lb_algo rr 
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    sorry_server 192.168.200.200 1358

    real_server 192.168.200.2 1358 {
        weight 1
        HTTP_GET {
            url { 
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url { 
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url { 
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }

    real_server 192.168.200.3 1358 {
        weight 1
        HTTP_GET {
            url { 
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334c
            }
            url { 
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334c
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

virtual_server 10.10.10.3 1358 {
    delay_loop 3
    lb_algo rr 
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 192.168.200.4 1358 {
        weight 1
        HTTP_GET {
            url { 
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url { 
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url { 
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }

    real_server 192.168.200.5 1358 {
        weight 1
        HTTP_GET {
            url { 
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url { 
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url { 
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}
[root@localhost ~]# 

主节点配置

global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eno16777728
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.100.30/24 dev eno16777728 label eno16777
728:1
    }
}

备节点配置

global_defs {
   router_id LVS_BACKUP
}

vrrp_instance VI_1 {
    state BACKUP
    interface eno16777728
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.100.30/24 dev eno16777728 label eno16777
728:1
    }
}

启动keepalived服务

systemctl start keepalived

查看keepalived是否成功

[root@node01 ~]# ps -ef |grep keep |grep -v grep
root       9866      1  0 18:17 ?        00:00:00 /usr/sbin/keepalived -D
root       9867   9866  0 18:17 ?        00:00:00 /usr/sbin/keepalived -D
root       9868   9866  0 18:17 ?        00:00:00 /usr/sbin/keepalived -D

[root@node02 ~]# ps -ef |grep keep |grep -v grep
root      20267      1  0 18:35 ?        00:00:00 /usr/sbin/keepalived -D
root      20268  20267  0 18:35 ?        00:00:00 /usr/sbin/keepalived -D
root      20269  20267  0 18:35 ?        00:00:00 /usr/sbin/keepalived -D

出错看日志

tail -f /var/log/messages

验证

​ 关闭主节点

[root@node01 ~]# systemctl stop keepalived

bash 查看备节点是否接管

[root@node02 ~]# ip add |grep 30
    inet 192.168.100.30/24 scope global secondary eno16777736:1

测试成功

​ 切换到备用节点中间会掉一个包

在这里插入图片描述
注意:网卡名为每个节点的网卡名!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值