软件运维面试题

来自blbl运维实战课堂

1.你平时在公司主要做什么?

考察工作表达,分清楚你对工作整体的把握,体现自己的技术含量。

日常监控维护业务,服务器巡检,调优。写一些日常使用的脚本,日常工作形成文档。

服务优化:nginx优化,Tomcat优化,系统优化。

2.你们原来公司的网站架构是真么样的?

搭的LNMP架构,Nginx做了集群,做了反向代理负载均衡,mycat读写分离,数据库做的一主两从,并且做了MHA高可用。

3.你对哪一块儿比较熟练或者精通?

对企业自动化交付CICD方面做的比较熟练,缓存服务memcached,squid,redis这种缓存服务器,

还有lvs,keealived,这种负载均衡集群软件。

容器docker,k8s方面

mysql数据库

4介绍一下负载均衡?

负载均衡我使用过lvs和nginx和阿里云SLB

nginx负载均衡:工作在网络第七层,支持http应用进行分流。

lvs:抗负载能力很强,工作4层,配置简单,很稳定,不产生流量。

5.lvs内部原理?

LVS的内部原理涉及一下几个主要组件和步骤:

1)。调度器(Scheduler):调度器是LVS的核心组件,负责根据一定的调度算法。(如轮询,加权轮询,最小连接数等)选择合适的后端服务器来处理传入的请求。调度器根据客户端请求的IP地址和端口号,将流量分发到后端服务器上。

2)。IPVS模块:IPVS(IP Virtual Server)是Linux内核中的模块,实现了LVS的核心功能。它拦截传入的网络流量,根据预先配置的规则将请求分发给不同的后端服务器。

后端服务器池:后盾服务器池是一组提供相同服务的服务器,他们由负载均衡器统一管理。负载均衡器将请求分发给这些服务器,以实现负载均衡和高可用性。

3)。监控与健康检查:LVS可以定期检查后端服务器的健康状态。以确保只将流量分发给正常工作的服务器。如果某个服务器出现故障或不可用,负载均衡器会自动将其排除在服务器范围之外。确保客户端请求不会被发送到有问题的服务器上。。

4)。网络地址转换(NAT):LVS通常使用NAT技术修改传入和传出流量的IP地址。以隐藏后端服务器的真实IP地址。这有助于保护服务器的安全性并简化网络配置。

总体来说,LVS的内部原理涵盖了负载均衡调度,IPVS内核模块,后端服务器管理。健康检查和网络地址转换等关键方面。通过这些机制,LVS能够实现高效的负载均衡和故障恢复,为网络访问提供更高的可靠性和性能。注意,LVS的具体实现和配置可能会因版本和使用情况而有所不同。

6。nginx lvs haproxy 三个有什么区别?

lvs优势:抗负载能力很强,工作稳定,不占什么流量,pv超过1000万可用lvs

nginx:nginx工作第七层,支持http应用本身分流,lvs没有这个功能。

nginx对网络依赖很小,nginx安装简单也稳定,流量日pv<=1000万 nginx足以能够撑住,一般不是特别大的公司都达不 到lvs的使用级别。官方说并发50000都没什么问题,测试过并发1-2万根本没什么问题。

1)。haproxy是支持虚拟主机的,可以工作在4,7层(支持多网断)

2)。haproxy的优点能够补充nginx的一些缺点,不如支持session的保持,Cookie的引导;同时支持通过获取指定的URL来检测后端服务器的状态。

3)。haproxy跟lvs类似,本身就只是一款负载均衡软件;单纯从效率上来讲haproxy会比nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的。

4)。haroxy支持TCP协议的负载均衡转发,可以对MySQL读进行负载均衡,对后端的MySQL节点进行检测和负载均衡。

7.lvs主要三种工作模式原理

1)。NAT模式(NAT)

原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理。RS处理完成后把数据交给负载均衡器,负载均衡再把数据包的原IP

地址改为自己的IP。将目的地址改为客户端IP地址即可。负载均衡器再返回给客户端,期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。

优点:集群中的物理服务器可以使用任何支持TCP/IP的操作系统。只有负载均衡器需要一个合法的IP地址。

缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢!

2)。IP隧道模式(TUN)

原理:首先要知道,互联网上的大多Internet服务的请求包很短小,而应答包通常很大。那么隧道模式就是,把客户端发来的数据包,封装一个新的IP头标记(仅目的IP)发给RS。RS收到后,先把数据包的头解开,还原数据包,处理后,直接返回给客户端,不需要再经过负载均衡器。注意,由于RS需要对负载均衡器发过来的数据包进行还原,所以说必须支持IPTUNNEL协议。所以,在RS的内核中,必须编译支持IPTUNNEL这个选项。

优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量,这种方式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。

缺点:隧道模式的RS节点需要合法的IP,这种方式需要所有的服务器支持“IP Tunneling” (IP Encapsulation)协议,服务器可能只局限在部分Linux系统上。

3)。直接路由模式(DR)

原理:负载均衡器和RS都使用同一个IP对外服务。但只有DR对ARP请求进行响应,所有RS对本身这个IP的ARP请求保持静默。也就是说,网关会把对这个服务IP的请求全部定向给DR,也就是客户端发送请求给lvs的DR模式,而DR收到数据包后根据调度算法,找出对应的RS,把目的MAC(因为IP一致)并将请求分发给这台RS。这时RS收到这个数据包,处理完成之后,由于IP一致,可以直接将数据返给客户,则等于直接从客户收到这个数据包无异,处理后直接返回给客户端。由于负载均衡器要对二层包头进行改换,所以负载均衡器和RS之间必须在一个广播域,也可以简单地理解为在同一台交换机上。

优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户。与VS-YUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统作为物理服务器。

缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。

8.lvs工作原理,算法,工作模式?

lvs:实现负载均衡集群部署的软件,有一台或多台调度器组成,通过加载lvs内核模块并且生成虚拟ip,通过虚拟ip解说客户端的请求,再根据自身配置的调度算法,实现对请求的转发。

算法:大概有10种,主要的有下面几种:

静态算法:只是根据算法进行调度不考虑后端REALSERVER的实际连接情况。

rr:轮询算法:按照节点顺序一个一个来,均等地对待每一台服务器,不管服务器上的实际连接数和系统负载。

wrr:加权轮询算法:根据节点权重以及节点顺序分发请求,调度器可以自动问询真实服务器的负载情况,并动态调整权值。

sh:源地址散列调度算法:匹配客户端最近一次访问的服务节点,并将请求交给这个服务节点,根据源地址散列算法进行静态分配固定的服务器资源。或者说:负载均衡器选择响应时间最短的后端服务来处理请求。这可以确保请求被发送到响应速度最快的服务器上。

dh:目标地址散列算法:根据目标ip地址进行哈希计算,得到散列值,匹配客户端最近一次访问的访问节点,并将请求交给这个服务节点,根据目标ip的请求会固定发给该服务器。

动态算法:”

lc最少连接数算法:动态地将网络请求调度到已建立的连接数最少的服务器上。

wlc:加权最少连接数算法:调度器可以自动问询真实服务器的负载情况,并动态调整权值。

lblc:基于局部的最少连接数调度算法:先根据请求的目标ip地址寻找最近的该目标ip地址所有使用的服务器,如果这台服务器依然可用,并有能力处理该请求,调度器会尽量选择相同的服务器,否则会继续选择其他可行的服务器,即:如果服务器节点因为自身故障暂时无法接收请求,则调度器会在服务器集群中找出一台连接最少的节点来处理请求。

lblcr:带赋值的基于局部的最少的连接算法:记录的不是要给目标ip与一台服务器之间的连接记录,他会维护一个目标ip到一组服务器之间的影射关系,防止单点服务器负载过高。

工作模式:主要模式有3种

1)DR模式:(也是默认模式,直接路由模式)

客户端访问负载均衡器的vip,此时在集群中负载均衡器和后端的realserver都具有vip,所以负载均衡器通过vip进行转发是不实际的。那么只能通过二层协议,修改数据包二层的目标mac进行转发,后端服务器处理后,通过本机的lo网卡上的vip直接返回数据包。

1)。环境,为了模拟生产环境,我们将dip rip 设置为同一个网段,dr和rs上面的虚拟ip均为vip(生产环境中的公网ip)

2)。注意,arp静默需要开启,后端服务器不接受请求,只处理

2)NAT模式:

客户端访问负载均衡器的vip,负载均衡器通过转换目标ip地址的方式,实现负载均衡,将本该发送给负载均衡器的数据包的目标地址,修改成后端real server的ip地址,然后又rs进行处理并返回,返回过程中,经过负载均衡器,负载均衡器将源地址转换为vip,完成本次请求。

1)。环境,为了模拟生产环境,我们使用一台centos7服务器作为负载均衡器,配置两块网卡,一块设置vip(桥接,生产中是公网ip),一块设置dip(nat或仅主机模式,生产中是内网ip),后端设置rip(nat或仅主机模式,与dip同一网段)。

2)。注意,负载均衡器需要开启路由转发,所有服务器均关闭防火墙,selinux。如果测试环境中,使用的是于后端服务

3)。YUN模式

客户端访问负载均衡器的vip,这种模式,可以跨区域进行负载均衡,vip和rip为公网ip,dip将请求发送给rip的过程中是加密的,后端rs上的vip直接将请求进行回复,不经过dr负载均衡器。

1)。环境,需要两个公网ip

2)。添加vip在隧道网卡。

9.mysql用的哪个版本,你们的数据库怎么备份,什么时间备份,备份数据量多大。

用的5.7  逻辑备份  每天全量备份  500G 后面改用xbk备份

10.memcached工作原理(内存管理机制)

memcached是一种内存缓存软件,在工作中经常用来缓存数据库的查询数据,数据被缓存在事先预分配的memcached管里的内存中,可以通过API或命令的方式存取内存中缓存的这些数据,memcachd服务内存中缓存的数据就像一张巨大的HASH表,每条数据都是以key-value对的形式存在。每个被缓存的对象或数据都有唯一的标识符key,存取操作通过这个key进行。保存到Memcached中的对象或数据放置在内存中,并不会作为文件存储在磁盘上,所以存取速度非常快。

由于没有对这些对象进行持久性存储,因此在服务器端的服务重启之后存储在内存中的这些数据就会消失。而且当存储的容量达到启动时设定的值时,就自动使用LRU算法删除不用的缓存。

11.nginx状态码499是什么意思?

服务器处理时间过长,客户端主动关闭了连接

12.nginx状态码 502 错误可能的原因有哪些?

502一般就是后端问题,服务挂了或者进程不够用了大并发时候处理不过来,增加后台服务器。

13.状态码200 ,500 502 304 ,分别表示什么意思

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值