Linux运维面试精华,助力大家年后跳槽找个高薪好工作!

某资深Linux运维求职公司和数十家公司总结的Linux运维面试精华,助大家新年后找到一份高薪的好工作!

1、什么是运维?什么是游戏运维?

1)运维是指对大型机构已经建立起来的网络软硬件进行维护,以保证业务的上线和正常运行,

在他的手术过程中,他得到了维护。他集成了网络、系统、数据库、开发、安全和监控技术。

运维包括多种,包括DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等。

2)游戏运维还有一个分工,分为开发运维、应用运维(业务运维)和系统运维

开发运维:为应用运维开发运维工具和运维平台

应用运维:用于业务上线、维护和故障排除,开发运维开发的工具用于业务上线、维护和故障排除

系统运维:为应用运维提供业务基础设施,如:系统、网络、监控、硬件等

总结:开发运维和系统运维为应用运维提供“工具”和“基础”支撑

他们的开发运维、应用运维和系统运维工作是环环相扣的

2、在工作中,运维人员经常需要与运维人员打交道。运营人员做什么?

游戏运营要做的一件事就是协调工作

还需要与各个平台进行沟通,对开放时间、开放服务器数量、用户引导、活动等进行规划。

3、现在我给你三百台服务器,你怎么管理?

如何管理 300 台服务器:

1)设置跳板机,统一账号登录,方便安全和登录考虑。

2)使用salt和进行统一调度和配置管理。

3) 建立简单的服务器系统、配置、应用的cmdb信息管理。方便查看各个服务器上的各种信息记录。

4、简述raid0 raid1 raid5三种工作模式的工作原理和特点

RAID,可以将硬盘整合成大盘,也可以将大盘重新分区存储数据

还有一个大功能,多块磁盘一起可以有冗余(备份)

集成RAID的方式有很多种,最常用的:0 1 5 10

RAID 0,可以是一盘和N盘的组合

优点是读写速度快,是RAID中的佼佼者

缺点:没有冗余,丢失一条数据就没有数据

RAID 1,只有2个磁盘,磁盘大小可以不同,取较小者

10G+10G只有10G,一个是备用。 100%冗余,缺点:浪费资源,成本高

RAID 5,3块盘,容量计算10*(n-1),丢一块盘

特点,读写性能一般,读得好,写得不好

冗余从好到坏:RAID1 RAID 5 RAID0

性能从好到坏:RAID0 RAID5 RAID1

成本从低到高:RAID0 RAID5 RAID1

单台服务器:重要盘不多,系统盘,RAID1

数据库服务器:主库:从库RAID5RAID0(维护成本)

WEB服务器,如果数据不多,RAID5、RAID0(单盘)

有多台监控和应用服务器,RAID0 RAID5

我们会根据数据存储和访问需求匹配对应的RAID级别

5、 LVS 和 Nginx 有什么区别?你在工作中如何选择?

LVS:基于四层转发

:基于四、七层转发,是专业的代理服务器

Nginx:是WEB服务器,缓存服务器,反向代理服务器,可以做七层转发

区别:LVS基于四层转发,只能做端口转发。

无法进行基于URL和基于目录的LVS转发。

工作选择:

由于Nginx和Nginx可以做七层转发,所以URL和目录转发都可以做

并发量大的时候,我们不得不选择LVS。对于中小型公司来说,并发量并没有那么大。

选择或者Nginx就够了,因为它是专业的代理服务器

配置简单,推荐中小企业使用

6、Squid 和 Nginx 有什么区别,工作中如何选择?

Squid 和 Nginx 是代理服务器

什么是代理服务器:

可以作为用户访问公网,访问的数据可以缓存在服务器本地,等待用户下次访问相同的数据

在获取时,代理服务器直接从本地响应用户。本地没有时,我代表你访问公网,我来回答

为了接收您的请求硬件负载均衡器 能不能同时带多个应用,我会首先在我自己的本地缓存中找到它。如果我本地缓存有,我会直接从我本地缓存回复你

如果我在本地没有找到你要访问的缓存数据,那么代理服务器会代替你访问公网

区别:

1)Nginx 原本是一个反向代理/web 服务器,可以作为一个插件的副业

但是它不支持很多功能,只能缓存静态文件

2)来自这些函数。 Squid和Squid是专业的缓存服务,nginx则由第三方模块完成

3)自身技术优势高于Squid,采用可视化页面缓存技术

在内存的使用上比squid有优势,性能也比squid高。

还有一个强大的管理端口,可以使用正则表达式快速批量清除部分缓存

是速度一流的内存缓存,但是内存缓存也限制了它的容量。缓存页面和图片一般都不错

4)Squid的优势在于完整而庞大的缓存技术数据,以及众多的应用生产环境

工作时选择:

如果要做缓存服务,一定要选择专业的缓存服务,最好是squid或者。

7、 和 Resin 有什么区别,你在作品中是如何选择的?

区别:用户多,参考文档多,Resin用户少,文档少。

主要区别是标准的java容器,但性能不如resin

但是java程序的稳定性和兼容性应该比resin好。

工作中选择:现在大公司用树脂,追求性能;而中小型公司使用树脂,追求稳定性和程序兼容性

8、什么是中间件?什么是jdk?

中间件介绍:

中间件是一个独立的系统软件或服务程序。分布式应用软件使用该软件在不同技术之间共享资源

中间件位于客户端/服务器操作系统上,管理计算机资源和网络通信

是连接两个独立应用程序或独立系统的软件。连接的系统,即使它们有不同的接口

但它们仍然可以通过中间件相互交换信息。实现中间件的一个关键方式是信息传输

通过中间件,应用程序可以在多个平台或操作系统环境中运行。

jdk:jdk 是一个 Java 开发工具包

Java平台上发布的构建应用程序和组件的开发环境

9、 说说8009、8080这三个端口的含义?

8005==》 关闭时使用

8009==”是容器使用的AJP端口,比如可以通过AJP协议访问的8009端口

8080==》 一般应用使用

10、什么是CDN?

– 内容分发网络

– 目的是将网站内容发布到

通过向现有网络结构添加新的网络结构

离用户最近的网络边缘,让用户就近获取自己需要的内容,提高用户访问网站的速度

11、什么是网站灰度发布?

灰度发布是指一种可以在黑白之间平滑过渡的发布方式

AB测试是一种灰度发布方式,允许一个用户继续使用A,部分用户开始使用B

如果用户对B没有异议,则逐渐扩大范围,将所有用户迁移到B。

灰度发布可以保证整个系统的稳定性,可以在初始灰度级发现问题并进行调整,以保证其影响

12、 简述DNS进行域名解析的过程?

如果用户要访问,他会先找到本机的host文件,然后再找到本地设置的DNS服务器。如果没有DNS服务器,去网络查找根服务器。根服务器反馈结果,说只能提供一级域名服务器。 .cn,去一级域名服务器,一级域名服务器说只能提供二级域名服务器,然后去二级域名服务器,二级域名服务器只能提供三级域名服务器,直接去三级域名服务器,三级域名服务器正好有这个网站,然后发送到请求服务器,保存一个副本,然后将其发送给客户端

1 什么是3、?

即消息队列中间件,是消息传输过程中存储消息的容器

然后,当消息从其源出价到其目标时,消息中间件充当中间人

队列的主要目的是提供路由,保证消息的传递;如果发送消息时接收方不可用

消息队列不会保留消息,直到它可以成功传递。当然,消息队列也会将消息保存一段时间

14、 说说工作原理?

在虚拟路由器中,只有代理 VRRP 路由器会一直发送 VRRP 通告信息,

它不会抢占,除非它有更高的优先级。不可用时(无法接收通知信息)

多站中优先级最高的将被抢占。这种抢占非常快(

出于安全考虑,VRRP 包使用加密协议进行加密。不会发送通知信息,只会收到通知信息

15、 说说LVS的三种模式的工作过程?

LVS有三种负载均衡模式,分别是VS/NAT(nat模式)VS/DR(路由模式)VS/TUN(隧道模式)

一、NAT 模式(VS-NAT)

原理:将客户端发送的数据包的IP头的目的地址替换为负载均衡器上其中一个RS的IP地址

同时发送到这个 RS 进行处理。 RS处理后,将数据交给负载均衡器,负载均衡器再将数据包的原始IP地址改为自己的IP

将目标地址更改为客户端 IP 地址。在此期间,传入和传出的流量都必须经过负载均衡器

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

缺点:可扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器会成为整个系统的瓶颈

因为所有的请求包和响应包都流经负载均衡器。当服务器节点过多时

大量数据包在负载均衡器中收敛,速度会变慢!

二、IP 隧道模式(VS-TUN)

原理:首先要知道互联网上大部分服务的请求包都很短,响应包通常很大

那么隧道模式就是把客户端发过来的数据包用一个新的IP头(只有目的IP)封装起来发送给RS

RS收到后,先解开数据包的头部,还原数据包,处理后直接返回给客户端,无需经过

负载均衡器。注意由于RS需要恢复负载均衡器发送的数据包,所以必须支持

,所以,在RS的内核中,必须编译支持这个选项

优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS直接将响应包发送给用户

因此减少了负载均衡器的大量数据流量,负载均衡器不再是系统的瓶颈,可以处理海量的请求

这样,一个负载均衡器就可以为多个 RS 分配。并且可以通过公网运行,分布在不同的区域。

缺点:隧道模式的RS节点需要合法IP。此方法要求所有服务器都支持“IP”

(IP)协议,服务器可能仅限于部分Linux系统

三、直接路由模式(VS-DR)

原理:负载均衡器和 RS 对外服务使用相同的 IP,但只有 DR 响应 ARP 请求。

所有RS对自己IP的ARP请求保持沉默,即网关会将所有对这个服务IP的请求都导向DR

DR收到数据包后,根据调度算法找出对应的RS,将目的MAC地址改为RS的MAC(因为IP一致)

将请求分发给这个 RS。此时RS接收到数据包。处理完成后,由于IP一致,数据可以直接返回给客户

相当于直接从客户端接收到这个数据包,处理后直接返回给客户端。

因为负载均衡器需要改变二层头硬件负载均衡器 能不能同时带多个应用,所以负载均衡器和RS之间必须有一个广播域

也可以简单理解为在同一个交换机上

优点:与TUN(隧道模式)一样,负载均衡器只分发请求,响应包通过单独的路由方式返回给客户端。

与VS-TUN相比,VS-DR不需要隧道结构,所以大部分操作系统都可以作为物理服务器使用。

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

16、mysql如何定位锁问题,mysql如何降低主从复制延迟?

如何定位mysql中的锁问题:

使用show查看引擎状态时,发现死锁问题

在5.5中,库中添加了三个关于锁(引擎)的表

innodb_trx         ## 当前运行的所有事务  
innodb_locks     ## 当前出现的锁  
innodb_lock_waits  ## 锁等待的对应关系 

mysql是如何减少主从复制延迟的:

如果延迟比较大,首先确认以下因素:

1.从库的硬件比主库差,导致复制延迟

2. 主从复制是单线程的,如果主库写太多并发,来不及转移到从库

这会导致延迟。更高版本的mysql可以支持多线程复制

3.慢SQL语句太多

4. 网络延迟

5.加载

主库读写压力大,造成复制延迟,架构前端需要加缓存层

6. 从站负载

一般的做法是使用多个slave来共享读请求,然后从这些slave中取一个专用服务器

只做备份,不做其他操作。此外,还有2个参数可以减少延迟:

–slave-net-=单位为秒,默认设置为3600秒

#参数含义:slave从主库读取日志数据失败时,等待多久重新建立连接并获取数据

—-retry=单位为秒,默认60秒

#参数含义:重新建立主从连接时,如果连接建立失败,间隔多长时间重试?

通常配置以上2个参数可以减少网络问题导致的主从数据同步延迟

MySQL数据库主从同步延迟解决方案

降低slave同步延迟最简单的方案就是优化架构,尽量让主库的DDL执行得快

还有写主库,数据安全性更高,比如=1,=1等,而slave不需要这么高的数据安全性,可以设置为0或者关闭

也可以设置为0,提高sql的执行效率。另一种是使用比主库更好的硬件设备作为从机

17、如何重置mysql root密码?

一、当MYSQL数据库的ROOT用户密码已知时,如何修改密码:

1.在SHELL环境下,使用命令设置:

mysqladmin –u root –p password “新密码”   回车后要求输入旧密码 

2.在mysql>环境下,使用命令直接更新mysql库的user表中的数据:

Update  mysql.user  set  passwordpassword=password(‘新密码’)  where  user=’root’;  
flush   privileges; 

注意:mysql语句应该以分号“;”结尾

3.在mysql>环境下,使用grant命令修改root用户的授权权限。

grant  all  on  *.*  to   root@’localhost’  identified  by  ‘新密码’; 

二、 忘记了mysql数据库ROOT用户的密码怎么办?方法如下:

1.关闭当前运行的服务程序:stop(必须先添加为系统服务)

2. 使用脚本在安全模式下启动服务(无需加载授权表)

/usr/local/mysql/bin/mysqld_safe  --skip-grant-table  & 

3.root用户空密码登录数据库,重置ROOT用户密码

#mysql  -u   root  
       Mysql> Update  mysql.user  set  passwordpassword=password(‘新密码’)  where  user=’root’;  
       Mysql> flush   privileges; 

18、lvs/nginx/优缺点

Nginx 的优点是:

1.工作在网络第7层,可以对http应用做一些分流策略,比如域名和目录结构

它的规则规则比更加强大和灵活,这也是它目前广受欢迎的主要原因之一

Nginx 的应用远远超过 LVS。

2.Nginx 对网络稳定性的依赖很少。理论上,只要能ping通就可以执行加载功能。这也是它的优点之一

相反,LVS 非常依赖网络稳定性。我对此有深刻的理解;

3.Nginx 安装配置比较简单,测试起来也比较方便。基本可以打印出日志中的错误。

LVS 的配置和测试需要很长时间。 LVS严重依赖网络。

4. 可承受高负载压力且稳定。一般在硬件不错的情况下可以支持上万次并发,负载相对LVS来说相对较小。

5.Nginx 可以通过端口检测服务器内部故障,如服务器处理网页返回的状态码、超时等,并将错误请求重新提交给另一个节点,但是它的缺点它只是不支持 url 检测。比如用户上传文件,上传过程中处理上传的节点发生故障,Nginx将上传切到另一台服务器重新处理,直接断开LVS

如果你上传一个非常大的文件或者一个非常重要的文件,用户可能会不满意。

6.Nginx 不仅是一个优秀的负载均衡器/反向代理软件,还是一个强大的网络应用服务器

LNMP 也是近年来非常流行的一种 Web 架构,在高流量环境下也非常稳定。

7.Nginx现在作为web反向加速缓存越来越成熟,速度也比传统的Squid服务器快,可以考虑用它作为反向代理加速器

8.Nginx 可以作为中层反向代理。在这个层面上,Nginx 基本上是无与伦比的。能和Nginx比的只有一个

文章来源:https://zhuanlan.zhihu.com/p/102073546

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享