keepalived高可用的安装与部署

1、安装keepalived

准备两台测试机keepalived-01和keepalived-02

(备注:两台安装环境一样,yum源提前配置好)


2、keepalived配置文件

主要由三部分组成:

1、global_defs 部分:部分用于全局定义,包括邮件通知和 SMTP 设置

2、vrrp_instance 部分:部分定义了一个 VRRP 实例,用于配置虚拟路由器的参数。

3、virtual_server 部分:部分定义了一个虚拟服务器的配置。

! Configuration File for keepalived

global_defs {
  notification_email {
    admin@example.com    #指定在发生故障时接收通知的电子邮件地址
  }
  notification_email_from keepalived@example.com #指定通知邮件的发件人地址
  smtp_server smtp.example.com    #指定用于发送通知邮件的 SMTP 服务器地址。
  smtp_connect_timeout 30       #指定连接 SMTP 服务器的超时时间
}

vrrp_instance VI_1 {
  state MASTER           #定义节点的初始状态,可以是 MASTER 或 BACKUP。这里设置为 MASTER,表示当前节点是主节点。
  interface eth0      #指定用于 VRRP 的网络接口,这里是 eth0。
  virtual_router_id 51 #VRRP 虚拟路由的标识号,用于唯一标识一个 VRRP 实例。
  priority 100          #节点的优先级,用于选举主节点,数字越大优先级越高。
  advert_int 1           #发送 VRRP 通告的时间间隔,单位为秒
  authentication {        #认证方式和密码
    auth_type PASS
    auth_pass MySecretPassword
  }
  virtual_ipaddress {      #指定由 VRRP 组共享的虚拟 IP 地址,这里是 
    10.10.10.1
  }
}

virtual_server 192.168.1.100 80 {    #指定一个虚拟服务器配置,绑定在 192.168.1.100 的 TCP 端口 80 上。
  delay_loop 6    #指定健康检查的时间间隔,单位为秒
  lb_algo rr       #负载均衡算法,这里是 round-robin(rr)。
  lb_kind DR        #负载均衡的类型,这里是 direct routing(DR)
  protocol TCP       #指定协议类型,这里是 TCP。

  real_server 192.168.1.10 80 {    #定义真实服务器,即后端提供服务的实际节点
    weight 1           #设置节点的权重,用于负载均衡算法
    TCP_CHECK {          #指定对真实服务器的健康检查参数
      connect_timeout 10
      nb_get_retry 3
      delay_before_retry 3
    }
  }



3、配置测试机参数

keepalived-01主服务器和keepalived-02备服务器

主备配置差异体现在实例router_id、state、priority三个参数上

router_id:主机实例id

state:定义节点的初始状态,可以是 MASTER(主) 或 BACKUP(备)。

priority:节点的优先级,用于选举主节点,数字越大优先级越高


4、启动keepalived服务检查浮动IP是否启用

主服务器配置的IP地址10.10.10.1已正常启用


 5、测试浮动IP飘移

5.1主备机器keepalived服务器正常状态下,10.10.10.1地址由于优先级在01主机下

 5.2模拟主服务器01宕机,IP飘逸备服务器02

下图自动切换成功

 等待01主服务器重启成功,由于优先级参数,自动由备02服务器选举切换为主01服务器

测试结果:自动切换成功


6、keepalived常见故障及排查办法

6.1、在 Keepalived 中,裂脑(Split Brain)是指当网络分区发生时,导致多个节点都认为自己是主节点(MASTER),从而造成服务的不一致性和冲突。这种情况下,不同节点可能同时拥有相同的虚拟 IP 或资源,这会导致网络中出现竞争条件和数据不一致性问题

一般来说,裂脑的发生,有以下几种原因。
1、高可用服务器对之间心跳线链路故障,导致无法正常通信。
    >心跳线坏了(包括断了,老化)
    >网卡及相关驱动坏了,IP配置及冲突问题(网卡直连了
    >心跳线间连接的设备故障(网卡及交换机)
    >仲裁的机器出问题(采用仲裁的方案)
2、高可用服务器对上开启了 iptables 防火墙阻挡了心跳消息传输!
3、高可用服务器对上心跳网卡地址等信息配置不正确,导致发送心跳失败。
4、其他服务配置不当等原因,如心跳方式不同,心跳广播冲突、软件 BUG 等。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值