• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
孙龙 程序员
少时总觉为人易,华年方知立业难
博客园    首页    新随笔    联系   管理    订阅  订阅
nginx HA高可用keepalived

1.Keepalived高可用基本概述

 

1.什么是高可用

    一般是指2台机器启动着相同的业务系统,当有一台机器down机了,另外一台服务器能快速的接管,对于访问的用户是无感知
2.高可用通常使用什么软件?
通常服务高可用我们们选择使用keepalived软件实现

  1. keepalived 传送门
  2. heartbeat

3.keepalived是如何实现高可用的?

    keepalived软件是基于VRRP协议实现的。VRRP虚拟路由冗余协议,主要用于解决单点故障问题
4.那VRRP是如何诞生的,VRRP的原理又是什么?
   比如公司的网络是通过网关转换进行上网的,那如果该路由器故障了,网关无法转发报文了,此时所有人都将无法上网,这么时候怎么办呢?
   通常做法是给路由增加一台备节点,但问题来,了?如果我们的主网关ngster故障了,用户是需要手动修改网关指向Backup,如果用户过多修改起来会非常的麻烦。
第一个问题:假设用户将指向都修改至Backup路由器,那么Master路由器如果修复好了又该怎么办?
第二个问题:假设Master网关故障,我们将Backup网关配置为Master网关iP行不行?
其实上不行,因为PC第一次是通过ARP广播寻找型Master网关的Mac地址与iP地址,PC则会将Master网关的对应IP与MAC地址写入ARP缓存表中,那公PC第二次则会直接读取ARP缓存表中的MAC地址与iP地址,然后进行数据包的转发。此时PC转发的数据包还是会教给Master。(除非PC的ARP缓存表过期,在次发起ARP广播的时候才能正确获取Bakcup的Mac地址与对应的iP地址。)*

 

5.高可用核心概念,总结

 2.Keepalived高可用安装配置

 

[roota1b01 ~]# yum install keepalived -y
[roota1b02 ~# yum install keepalived -y


/etc/keepalived/keepalived.conf/usr/share/doc/keepalived-1.3.5/keepalived.conf.SYNOPSIS#超详细配置文件及说明

[root@lb01 ~]# rpm -ql keepalived
etc/keepalived
/etc/keepalived/keepalived.conf
etc/sysconfig/keepalived
/usr/bin/genhash
usr/libexec/keepalived
/usr/lib/systemd/system/keepalived.service
/etc/keepalived/keepalived.conf/usr/share/doc/

 3,配置节点

\cp /etc/keepalived/keepalived.conf{,.bak}
vim /etc/keepalived/keepalived.conf

#启动
systemctl enable keepalived.service
systemctl start keepalived.service

 

4.通过windows查看arp缓存表,验证地址漂移后是否会自动更新MAC地址

抓包查看-keepalived漂移
wireshark-过滤器-输入 vrrp or arp

 

 5.keepalived 监控nginx 高可用



[root@lb0l ~]# systemctl is-active nginx keepalived.service
active
active


root@lb01~]# pkill nginx
root@lb0l ~]# systemctl is-active nginx keepalived.service
failed
active

 

 

6.keepalived高可用故障脑裂

由于某些原因,导致两台keepalived高可用服务器在指定时间内,无法检测到对方的心跳消息,各自取得资源及服务的所有权,而此时的两台高可用服务器又都还活着。
1.服务器网线松动等网络故障
2.服务器硬件故障发生损坏现象而崩溃
3.主备都开启firewalld防火墙
1.在备上编写检测脚本 测试如果能ping 通主并且备节点还有 VIP的话则认为产生了列脑

脑裂的时候是什么样子的:
有vip地址
ping通 master_ip
curl /wget

#脑裂检查脚本思路:
#1,检查备节点是否有vip
#2.检查备节点是否可以ping通 主节点
##1.和2.同时成立 脑裂

 

本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/p/18522122

posted on 2024-11-02 16:12  孙龙-程序员  阅读(47)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3