Keepalived高可用服务详解(面试点+实践点都包括噢!!!

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

Keepalived介绍


  • Keepalived软件起初是为管理及监控LVS集群中各节点状态而设计的,后来加入了VRRP功能,可以为其他服务解决高可用问题。

  • Keepalived软件主要通过VRRP协议实现高可用功能。

  • VRRP协议是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,目的是为解决静态路由单点故障。

  • 官方网站:http://www.keepalived.org

Keepalived服务重要功能


  • 管理LVS负载均衡软件

  • 实现对LVS集群节点健康检查功能(healthcheck)

  • 作为系统网络服务的高可用功能(failover)

Keepalived高可用故障切换转移原理


Keepalived高可用服务通过VRRP来实现故障切换转移。

VRRP协议工作原理

  • VRRP协议是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,目的是为解决静态路由单点故障。

  • VRRP通过竞选协议机制来决定路有任务运行在哪台主机上。

  • VRRP用IP多播方式(默认多播地址224.0.0.18)实现高可用对之间通信的。

  • 工作时主节点向备节点发包,当某时刻备节点接收不到数据包的时候,会启动接管程序接管主节点资源。

  • 备节点可以有多个,通过优先级竞选,但在工作中通常还是一对居多。

Keepalived服务工作原理

  • Keepalived高可用服务通过VRRP协议进行通讯,通过竞选机制确定主备。

  • 工作时主节点优先获得资源,备节点等待,当主节点出现故障时,备节点主动接管主节点资源,继续对外提供服务。

  • 主节点向备节点发送VRRP广播包,告诉备节点自己的存活,当备节点接收不到来自主节点的广播包时,就会主动接管资源,继续提供服务,接管速度最快可以小于1秒。

实践部分

=============================================================

实践部分从Keepalived的搭建、配置文件、高可能配置上说明。

环境搭建及讲解


环境搭建

这里先用一台主机搭建Keepalived服务

  • 环境准备

cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

uname -r

3.10.0-693.el7.x86_64

  • 安装Keepalived服务(采用yum安装方式)

yum -y install keepalived

  • 启动服务及查看状态(默认启动三个进程三个VIP)

systemctl start keepalived

ps -ef | grep keepalived | grep -v grep

root 1662 1 0 09:53 ? 00:00:00 /usr/sbin/keepalived -D

root 1663 1662 0 09:53 ? 00:00:00 /usr/sbin/keepalived -D

root 1664 1662 0 09:53 ? 00:00:00 /usr/sbin/keepalived -D

  • 关闭服务

systemctl stop keepalived

配置文件说明

yum安装的keepalived版本为v1.3.5,如果想要更新的版本甚至2.x版本的话请使用编译安装

Keepalived服务高可用功能的配置文件包含两个重要模块:全局定义部分和VRRP实例定义区块部分

yum安装的配置文件位置为/etc/keepalived/keepalived.conf

这部分内容为全局定义模块:

1 ! Configuration File for keepalived

2

3 global_defs {

4 notification_email {

5 acassen@firewall.loc

6 failover@firewall.loc

7 sysadmin@firewall.loc

8 }

9 notification_email_from Alexandre.Cassen@firewall.loc

10 smtp_server 192.168.200.1

11 smtp_connect_timeout 30

12 router_id LVS_DEVEL

13 vrrp_skip_check_adv_addr

14 vrrp_strict

15 vrrp_garp_interval 0

16 vrrp_gna_interval 0

17 }

以上内容含义分别为:

  • 第一行:注释,定义这个keepalived服务配置文件

  • 第四~八行:定义服务故障报警的邮箱地址(基本不用)

  • 第九行:指定邮箱的发件人

  • 第十行:指定发送邮箱的SMTP服务区

  • 第十一行:连接SMTP的超时时间

  • 第十二行:Keepalived的服务标识,同一局域网,标识唯一

  • 第十三行:检查收到的 VRRP 广告中的所有地址

  • 第十四行:强制执行严格的 VRRP 协议合规性

  • 第十五行:接口上发送的免费 ARP 消息之间的延迟

  • 第十六行:在接口上发送的未经请求的 NA 消息之间的延迟

这部分内容为VRRP实例定义区块:

19 vrrp_instance VI_1 {

20 state MASTER

21 interface eth0

22 virtual_router_id 51

23 priority 100

24 advert_int 1

25 authentication {

26 auth_type PASS

27 auth_pass 1111

28 }

29 virtual_ipaddress {

30 192.168.200.16

31 192.168.200.17

32 192.168.200.18

33 }

34 }

以上内容含义分别为:

  • 第十九行:定义这是一个vrrp_instance实例,名字为VI_1

  • 第二十行:表示角色状态为MASTER,备机为BACKUP

  • 第二十一行:表示对外提供服务的网络端口,注意多网卡时要选对网卡

  • 第二十二行:虚拟路由ID标识,一个高可用集群中标识相同

  • 第而十三行:优先级,数字越大优先级越高

  • 第二十四行:MASTER与BACKUP之间通信检查的时间间隔,默认1秒

  • 第二十五~八行:权限认证配置,一个实例中主备认证相同,密码建议4位数字

  • 第二十九~三十三行:定义虚拟ip,可以有多个,最好指明子网掩码和绑定网卡

更多配置说明请访问官方文档地址:https://www.keepalived.org/manpage.html

Keepalived服务单实例配置


  • 准备两台装着相同Keepalived服务的主机,安装方式上面有

  • lb01主机上的配置(MASTER)

! Configuration File for keepalived

global_defs {

router_id lb01

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.100.100/24 dev eth0 label eth0:3

}

}

  • lb02主机配置,由于配置类似,只说不同点(BACKUP)

4 router_id lb02

8 state BACKUP

11 priority 50

  • 两台主机启动服务

systemctl start keepalived

  • 此时MASTER节点能看到VIP,BACKUP节点看不到为正常

inet 192.168.100.100/24 scope global eth0:3

  • 测试:关闭MASTER节点服务,VIP是否漂移到BACKUP节点

在这里插入图片描述

分享

首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:

(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构…实在是太多了)

其次分享一些技术知识,以截图形式分享一部分:

Tomcat架构解析:

算法训练+高分宝典:

Spring Cloud+Docker微服务实战:

最后分享一波面试资料:

切莫死记硬背,小心面试官直接让你出门右拐

1000道互联网Java面试题:

Java高级架构面试知识整理:

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
oud+Docker微服务实战:

[外链图片转存中…(img-OyOhlOMF-1713422432366)]

最后分享一波面试资料:

切莫死记硬背,小心面试官直接让你出门右拐

1000道互联网Java面试题:

[外链图片转存中…(img-O4DG3ePL-1713422432366)]

Java高级架构面试知识整理:

[外链图片转存中…(img-sMgkXmtb-1713422432367)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-8BiODRLZ-1713422432367)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值