作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。
公众号:网络豆云计算学堂
座右铭:低头赶路,敬事如仪
个人主页: 网络豆的主页
目录
写在前面
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共享的问题。
最后,希望这篇文章能帮助你在运维面试中取得好成绩,实现自己的职业目标。如果你还有其他问题或需要更多帮助,随时欢迎向我提问。祝你在运维领域取得更大的成就!