运维工程师面试题总结-LVS+Keepalived企业级集群解决方案09

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 个人学习

1. lvs 原理

LVS通过工作于内核的ipvs模块来实现功能,其主要工作于netfilter 的INPUT链上。 而用户需要对ipvs进行操作配置则需要使用ipvsadm这个工具。 ipvsadm主要用于设置lvs模型、调度方式以及指定后端主机

2. LVS 调度算法

静态方法:仅根据调度算法本身进行调度

rr: round robin,轮流,轮询,轮叫

wrr: weighted round robin, 加权轮询

sh:source hashing,session绑定

dh: destination hashing, 目标地址hash

动态方法:根据算法及各RS当前的负载状况进行调度

lc: least connection,最少连接 wlc: weighted lc,加权最少连接

sed: shortest expection delay,最少期望延迟

nq: never queue,永不排队

lblc: Locality-Based Least Connection,基于局部性的最少连接

lblcr:Replicated lblc,基于局部性的带复制功能的最少连接

LVS软件的工作模式及模式工作原理?

NET模式:安全性高,但是只通过网关接收和响应请求,负载低。

TUN模式:通过调度器接收用户请求,但是处理节点分布在因特网返回用户请求,这样代价昂贵。

DR模式:这种模式性能和成本相对都比较理想,半开式网络,节点和调度器都在局域网,而节点响应却通过路 由返回给用户。

请描述LVS软件在企业架构中的组件位置及作用?

LVS一般在企业架构中最前面接收用户请求,它可以接收用户请求,然后根据算法把请求分配给比如nginx代 理。充当整个架构的负载均衡的作用。

3. LVS软件的管理工具及模块名称?

ipvsadm

ip_vs

4. lvs和nginx的区别?

lvs的优点:

1.抗负载能力强,工作在第四层仅做分发之用,没有流量的产生,这个特点也决定了他在负责均衡软件里的性 能最强,无流量,同时保证了均衡器IO的性能不会受到大流量的影响。

2.工作稳定,自身有完整的双机热备方案,如lvs+keepalived

3.应用范围比较广,可以对所有应用做负载均衡。

4.配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多的接触,大大减少人为出错的几率

lvs的缺点:

1.软件本身不支持正则处理,不能做动静分离。

2.如果网站应用比较庞大,lvs/DR+keepalived就比较复杂了,特别是后面有windows server应用的机 器,实施及配置还有维护过程就比较麻烦,相对而言,nginx+keepalived就简单一点。

nginx的优点:

跨平台:可以linux系统运行,而且windows的移植版本。

配置简单:非常的简单,容易上手。

非阻塞并发连接:数据复制时,磁盘io的第一阶段是非阻塞,官方测试能支持5万并发连接,实际生产中能跑 2-3万并发连接数。发送报文是,nginx一边介绍web服务器的返回数据,一边把数据发送给客户端浏览器。

自带简单检查:当有服务器宕机后,新的请求就不会发送到这台机器上了,而是发送到其他节点。

节省带宽:支持gzip压缩,开启浏览器缓存。 网络依赖性低,理论上能ping通就可以实现负载均衡,而且可以有效区分内网,外网流量。

内存消耗小,稳定性高:开启10个nginx消耗内存125m,可以很好的处理静态资源,内存消耗少,宕机率很低。

5. 裂脑问题产生的原因

1) 心跳链路故障,导致无法通信

2) 开启防火墙阻挡心跳信息传输

3) 心跳网卡地址配置不正确

4) 其 他: 心跳方式不同,心跳广播冲突,软件bug等防止

6. 防止裂脑的方法

1)采用串行或以太网电缆连接,同时用两条心跳线路

2) 做好裂脑的监控报警,在问题发生时人为第一时间 介入仲裁

3) 启用磁盘锁,即正在服务的一方只在发现心跳线全部断开时,才开启磁盘锁

4) fence设备 (智能电源管理设备)

5) 增加仲裁盘

6) 加冗余线路

7. 请问Keepalived的功能

keepalived观其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单 点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,Keepalived通过请求一 个vip来达到请求真是IP地址的功能,而VIP能够在一台机器发生故障时候,自动漂移到另外一台机器上,从 来达到了高可用HA功能

请问Keepalived的原理

Keepalived工作在TCP/IP 参考模型的 三层、四层、五层,也就是分别为:网络层,传输层和应用层,根据TCP、IP参数模型隔层所能实现的功能,Keepalived运行机制如下:

在网络层:我们知道运行这4个重要的协议,互联网络IP协议,互联网络可控制报文协议ICMP、地址转换协议 ARP、反向地址转换协议RARP,在网络层Keepalived在网络层采用最常见的工作方式是通过ICMP协议向服务 器集群中的每一个节点发送一个ICMP数据包(有点类似与Ping的功能),如果某个节点没有返回响应数据包, 那么认为该节点发生了故障,Keepalived将报告这个节点失效,并从服务器集群中剔除故障节点。

在传输层:提供了两个主要的协议:传输控制协议TCP和用户数据协议UDP,传输控制协议TCP可以提供可靠的 数据输出服务、IP地址和端口,代表TCP的一个连接端,要获得TCP服务,需要在发送机的一个端口和接收机 的一个端口上建立连接,而Keepalived在传输层里利用了TCP协议的端口连接和扫描技术来判断集群节点的 端口是否正常,比如对于常见的WEB服务器80端口。或者SSH服务22端口,Keepalived一旦在传输层探测到 这些端口号没有数据响应和数据返回,就认为这些端口发生异常,然后强制将这些端口所对应的节点从服务器 集群中剔除掉。

在应用层:可以运行FTP,TELNET,SMTP,DNS等各种不同类型的高层协议,Keepalived的运行方式也更加 全面化和复杂化,用户可以通过自定义Keepalived工作方式,例如:可以通过编写程序或者脚本来运行 Keepalived,而Keepalived将根据用户的设定参数检测各种程序或者服务是否允许正常,如果 Keepalived的检测结果和用户设定的不一致时,Keepalived将把对应的服务器从服务器集群中剔除

8. keeplived 有哪些模块

主要有三个模块,分别是core、check和vrrp

9. 解释一下vrrp 协议

虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组, 这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其 他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就 需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

10. keepalived作用

keepalived长和lvs或nginx搭配使用,进行负载均衡

11. Keepalived的工作原理

在一个虚拟路由器中,只有作为MASTER的VRRP路由器会一直发送VRRP通告信息, BACKUP不会抢占MASTER,除非它的优先级更高。当MASTER不可用时(BACKUP收不到通告信息) 多台BACKUP中优先级最高的这台会被抢占为MASTER。这种抢占是非常快速的(<1s),以保证服务的连续性 由于安全性考虑,VRRP包使用了加密协议进行加密。BACKUP不会发送通告信息,只会接收通告信息

如果想上手操作的朋友们可以通过阿里云ecs服务器免费试用和低价购买,入口如下

入口一:新人免费试用

入口二:大学生免费试用

入口三:低价服务器购买

入口四:低价服务器购买2

入口五:建站特惠购买

                   

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2月前
|
存储 负载均衡 Java
Elasticsearch集群面试系列文章一
【9月更文挑战第9天】Elasticsearch(简称ES)是一种基于Lucene构建的分布式搜索和分析引擎,广泛用于全文搜索、结构化搜索、分析以及日志实时分析等场景。
105 7
|
21天前
|
运维 监控 网络协议
|
15天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
51 1
|
1月前
|
存储 运维 搜索推荐
|
30天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
57 3
|
1月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
30天前
|
存储 运维 监控
实时计算Flink版在稳定性、性能、开发运维、安全能力等等跟其他引擎及自建Flink集群比较。
实时计算Flink版在稳定性、性能、开发运维和安全能力等方面表现出色。其自研的高性能状态存储引擎GeminiStateBackend显著提升了作业稳定性,状态管理优化使性能提升40%以上。核心性能较开源Flink提升2-3倍,资源利用率提高100%。提供一站式开发管理、自动化运维和丰富的监控告警功能,支持多语言开发和智能调优。安全方面,具备访问控制、高可用保障和全链路容错能力,确保企业级应用的安全与稳定。
38 0
|
2月前
|
Java 程序员
反问面试官:如何实现集群内选主
这个示例展示了多个节点通过投票选举一个新的主节点的过程。Netty 用于节点间的通信,而每个节点则负责发起和响应选举消息。
反问面试官:如何实现集群内选主
|
1月前
|
缓存 关系型数据库 API
京东面试题:ElasticSearch深度分页解决方案!
京东面试题:ElasticSearch深度分页解决方案!
|
3月前
|
存储 NoSQL Java
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
这篇文章是关于Java面试中的分布式架构问题的笔记,包括分布式架构下的Session共享方案、RPC和RMI的理解、分布式ID生成方案、分布式锁解决方案以及分布式事务解决方案。
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)