2023年最新版的linux运维面试题(二)

  • 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 

  • 公众号:网络豆云计算学堂

  •  座右铭:低头赶路,敬事如仪

  • 个人主页: 网络豆的主页​​​​​

目录

写在前面

 11. LVS三种负载均衡模式的比较

 12. LVS的负载调度算法

13. LVS与nginx的区别

 nginx与LVS的对比:

14. 负载均衡的作用有哪些?

15. nginx实现负载均衡的分发策略 

后续持续更新!


写在前面

大家好,我是网络豆,一个专注于运维领域的博主。今天,我为大家带来了一个特别的话题:运维的面试题。在IT行业日益发展的今天,运维岗位的面试不再仅仅局限于基础知识的考察,而更加注重应聘者的实战经验、问题解决能力以及持续学习的态度。因此,这篇文章将为大家分享一些常见的运维面试题目,帮助大家更好地准备面试,提升自己的竞争力。

随着云计算、大数据等技术的普及,运维岗位在IT领域中的地位越来越重要。一个优秀的运维工程师不仅要具备扎实的技术基础,还需要具备良好的问题解决能力、团队协作精神和学习能力。因此,面试是选拔优秀运维工程师的关键环节。

在面试过程中,面试官通常会从基础知识、实战经验、团队协作、学习能力等方面进行考察。下面,我将为大家逐一介绍这些方面的面试题目,并给出相应的解答思路和技巧。希望通过这篇文章,能够帮助大家更好地准备运维面试,获得心仪的职位。

请注意,这些题目只是常见的面试题之一,实际面试中可能还会涉及到其他方面的内容。因此,建议大家在准备面试时,除了掌握这些题目外,还要注重全面提升自己的技术能力和综合素质。


 11. LVS三种负载均衡模式的比较

 三种负载均衡: nat,tunneling,dr
|类目|NAT|TUN|DR|
|--|--|--|--|
操作系统|任意|支持隧道|多数(支持non-arp)
|服务器网络|私有网络|局域网/广域网|局域网
|服务器数目|10-20|100|大于100
|服务器网关|负载均衡器|自己的路由|自己的路由|
效率|一般|高|最高

 12. LVS的负载调度算法

轮叫调度
加权轮叫调度
最小连接调度
加权最小连接调度
基于局部性能的最少连接
带复制的基于局部性能最小连接
目标地址散列调度
源地址散列调度

13. LVS与nginx的区别

lvs的优势:

1. 抗负载能力强,因为lvs工作方式的逻辑是非常简单的,而且工作在网络的第4层,仅作请求分
发用,没有流量,所以在效率上基本不需要太过考虑。lvs一般很少出现故障,即使出现故障
一般也是其他地方(如内存、CPU等)出现问题导致lvs出现问题。
 

2.配置性低,这通常是一大劣势同时也是一大优势,因为没有太多的可配置的选项,所以除了增减
服务器,并不需要经常去触碰它,大大减少了人为出错的几率。

3.工作稳定,因为其本身抗负载能力很强,所以稳定性高也是顺理成章的事,另外各种lvs都有完整
的双机热备方案,所以一点不用担心均衡器本身会出什么问题,节点出现故障的话,lvs会自动判
别,所以系统整体是非常稳定的。

4.无流量,lvs仅仅分发请求,而流量并不从它本身出去,所以可以利用它这点来做一些线路分流之
用。没有流量同时也保住了均衡器的IO性能不会受到大流量的影响。

5.lvs基本上能支持所有应用,因为lvs工作在第4层,所以它可以对几乎所有应用做负载均衡,包括
http、数据库、聊天室等。

 nginx与LVS的对比:

nginx工作在网络的第7层,所以它可以针对http应用本身来做分流策略,比如针对域名、目录结构
等,相比之下lvs并不具备这样的功能,所以nginx单凭这点可以利用的场合就远多于lvs了;但
nginx有用的这些功能使其可调整度要高于lvs,所以经常要去触碰,由lvs的第2条优点来看,触碰
多了,人为出现问题的几率也就会大。

nginx对网络的依赖较小,理论上只要ping得通,网页访问正常,nginx就能连得通,nginx同时还
能区分内外网,如果是同时拥有内外网的节点,就相当于单机拥有了备份线路;lvs就比较依赖于网络环境,目前来看服务器在同一网段内并且lvs使用direct方式分流,效果较能得到保证。另外注
意,lvs需要向托管商至少申请多于一个ip来做visual ip

nginx安装和配置比较简单,测试起来也很方便,因为它基本能把错误用日志打印出来。lvs的安装
和配置、测试就要花比较长的时间,因为同上所述,lvs对网络依赖性比较大,很多时候不能配置成功都是因为网络问题而不是配置问题,出了问题要解决也相应的会麻烦的多。

nginx也同样能承受很高负载且稳定,但负载度和稳定度差lvs还有几个等级:nginx处理所有流量
所以受限于机器IO和配置;本身的bug也还是难以避免的;nginx没有现成的双机热备方案,所以
跑在单机上还是风险比较大,单机上的事情全都很难说。

nginx可以检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会
把返回错误的请求重新提交到另一个节点。目前lvs中ldirectd也能支持针对服务器内部的情况来监
控,但lvs的原理使其不能重发请求。比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障,nginx会把上传切到另一台服务器重新处理,而lvs就直接断掉了。

两者配合使用:

nginx用来做http的反向代理,能够upsteam实现http请求的多种方式的均衡转发。由于采用的是异步转发可以做到如果一个服务器请求失败,立即切换到其他服务器,直到请求成功或者最后一台服务器失败为止。这可以最大程度的提高系统的请求成功率。

 lvs采用的是同步请求转发的策略。这里说一下同步转发和异步转发的区别。同步转发是在lvs服务器接收到请求之后,立即redirect到一个后端服务器,由客户端直接和后端服务器建立连接。异步转发是nginx在保持客户端连接的同时,发起一个相同内容的新请求到后端,等后端返回结果后,由nginx返回给客户端。

进一步来说:当做为负载均衡服务器的nginx和lvs处理相同的请求时,所有的请求和响应流量都会经过nginx;但是使用lvs时,仅请求流量经过lvs的网络,响应流量由后端服务器的网络返回。

也就是,当作为后端的服务器规模庞大时,nginx的网络带宽就成了一个巨大的瓶颈。

但是仅仅使用lvs作为负载均衡的话,一旦后端接受到请求的服务器出了问题,那么这次请求就失败了。但是如果在lvs的后端在添加一层nginx(多个),每个nginx后端再有几台应用服务器,那么结合两者的优势,既能避免单nginx的流量集中瓶颈,又能避免单lvs时一锤子买卖的问题。

14. 负载均衡的作用有哪些?

1、转发功能
按照一定的算法【权重、轮询】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。
2、故障移除
通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果服务器期宕掉,自动将请求发送到其他应用服务器。
3、恢复添加
如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队伍中。

15. nginx实现负载均衡的分发策略 

Nginx 的 upstream目前支持的分配算法:
1)、轮询 ——1:1 轮流处理请求(默认)

每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。

2)、权重 ——you can you up
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。
3)、ip_哈希算法
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。


最后,希望这篇文章能帮助你在运维面试中取得好成绩,实现自己的职业目标。如果你还有其他问题或需要更多帮助,随时欢迎向我提问。祝你在运维领域取得更大的成就!

后续持续更新!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/224431.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

需求分析工程师岗位的职责描述(合集)

需求分析工程师岗位的职责描述1 职责: 1,负责需求调研,对需求进行分析,编写解决方案、需求规格说明书等 2,根据需求制作原型,并负责原型展示以及客户沟通等工作 3,负责向技术团队精确地传达业务…

数据挖掘-11-利用python进行信用卡欺诈检测(包含数据代码)

文章目录 0. 数据代码下载1. 项目介绍1.1 背景描述1.2 常见信用卡欺诈使用的情况有:1.3 数据描述a. 数据集内容b. 属性描述c. 注意 2. 提出问题3. 数据预处理3.1 加载数据3.2 查看数据类型,是否需要做数据转换处理3.3 对数据进行简单的统计,检…

跨平台Markdown编辑软件Typora mac功能介绍

Typora mac是一款跨平台的Markdown编辑器,支持Windows、MacOS和Linux操作系统。它具有实时预览功能,能够自动将Markdown文本转换为漂亮的排版效果,让用户专注于写作内容而不必关心格式调整。Typora Mac版除了支持常见的Markdown语法外&#x…

线程的同步与互斥

抢票的例子 竞争过程 进程A被切走 进程B被切走 结论: 互斥 int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); mutex: 指向要初始化的互斥锁的指针。attr: 用于设置互斥锁属性的指针,通常可以传入 NULL 以使用默认属性…

react 路由v6

这里是区别:V5 vs V6 这里是官网:可以查看更多高级属性 一、基本使用: 1、配置文件 src/routes/index import React from "react";const Home React.lazy(() > import("../Pages/Home")); const About React.laz…

Spring之国际化:i18n

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

【强化学习】PPO:近端策略优化算法

近端策略优化算法 《Proximal Policy Optimization Algorithms》 论文地址:https://arxiv.org/pdf/1707.06347.pdf 一、 置信域方法(Trust Region Methods) ​ 设 π θ o l d \pi_{\theta_{old}} πθold​​是先前参数为 θ o l d \theta_{old} θold​的策略网…

Java@RequestParam注解和@RequestBody注解接收参数

目录 Java后端接收数据 第一章、后端不写任何注解情况下接收参数1.1)后端不写注解postman发出get请求1.2)后端不写注解postman发出post请求 第二章、后端写RequestParam注解接收参数2.1)postman发出post请求2.2)postman发出get请求…

docker-compose 安装Sonar并集成gitlab

文章目录 1. 前置条件2. 编写docker-compose-sonar.yml文件3. 集成 gitlab4. Sonar Login with GitLab 1. 前置条件 安装docker-compose 安装docker 创建容器运行的特有网络 创建挂载目录 2. 编写docker-compose-sonar.yml文件 version: "3" services:sonar-postgre…

【计算机网络】网络层——IP协议

目录 一. 基本概念 二. 协议报文格式 三. 网段划分 1. 第一次划分 2. CIDR方案 3. 特殊的IP地址 四. IP地址不足 1. 私有IP和公网IP 2. DHCP协议 3. 路由器 4. NAT技术 内网穿透(NAT穿透) 五. 路由转发 路由表生成算法 结束语 一. 基本概念 IP指网络互连协议…

android内存管理机制概览

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、相关概念3.1 垃圾回收3.2 应用内存的分配与回…

Linux与Bash 编程——Linux文件处理命令-L1

目录: linux系统与shell环境准备 Linux系统简介操作系统简史Linux的发行版:Linux与Windows比较:Linux安装安装包下载Linux的访问方式远程登录方式远程登录软件:mobaxterm的使用:使用电脑命令行连接:sshd的…

一篇讲透:箭头函数、普通函数有什么区别

前言 📫 大家好,我是南木元元,热衷分享有趣实用的文章,希望大家多多支持,一起进步! 🍅 个人主页:南木元元 目录 什么是箭头函数 箭头函数和普通函数的区别 更简洁的语法 箭头函数…

10-让Java性能提升的JIT深度剖析

文章目录 JVM的语言无关性解释执行与JITC1、C2与Graal编译器C1编译器C2编译器 分层编译(了解即可)热点代码热点探测方法调用计数器回边计数器 编译优化技术方法内联锁消除标量替换逃逸分析技术逃逸分析的原理逃逸分析 JVM的语言无关性 跨语言(语言无关性&#xff0…

OpenHarmony之内核层解析~

OpenHarmony简介 技术架构 OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件…

平衡二叉树的构建(递归

目录 1.概念:2.特点:3.构建方法:4.代码:小结: 1.概念: 平衡二叉树(Balanced Binary Tree),也称为AVL树,是一种二叉树,它满足每个节点的左子树和右…

BDD - Python Behave Runner Script

BDD - Python Behave Runner Script 引言Runner Scriptsubprocess.run 调用 Behave 命令行调用 Behave 提供的 API behave_main 引言 通过终端命令执行 Behave 测试用例,有时 IDE 重启了,还得重新敲一遍命令,很是麻烦,说实话我都…

单例模式(C++实现)

RAII运用 只能在栈上创建对象 只能在堆上创建的对象 单例模式 设计模式 懒汉模式 解决线程安全 优化 饿汉模式 饿汉和懒汉的区别 线程安全与STL与其他锁

Hadoop入门学习笔记——四、MapReduce的框架配置和YARN的部署

视频课程地址:https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接:https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记(汇总) 目录 四、MapReduce的框架配置和YARN的部署4.1. 配置MapReduce…

微擎模块 出现Error: template source ‘common/message’ is not exist!解决方法

今天有会员反馈微课堂分销中心打不开,错误提示模板找不到:Error: template source ‘common/message’ is not exist!,看了下这模板应该微擎框架通用的,进公众号会员管理-会员中心网址居然也打不开,提示一样的错误&…